Я новичок в ubuntu
и я перемещаюсь из windows
, я начинаю создавать PHP
сайты, и один из них требует, чтобы я YII
APC
, сайт использует PHP Framework
под названием YII
и всякий раз, когда я YII
его, возникает ошибка: CApcCache requires PHP apc extension to be loaded.
, я просмотрел через Интернет о том, как включить его, и все, что я нашел, - это отредактировать этот файл /etc/php5/apache2/php.ini
и изменить эту строку
[opcache]
opcache.enable=1 //default was 0 and i changed it to 1
затем выполнить эту команду в терминале
sudo php5enmod opcache
sudo service apache2 restart
но на сайте все еще возникает одна и та же ошибка, не так ли больше, чтобы включить APC
?
разве этот способ не позволяет
APC
больше?
Нет. На самом деле, это никогда не было способом включить APC. То, что вы там делали, это включить модуль opcache. Сказав это, я считаю, что изменение php.ini
было поддельным, поскольку php5enmod opcache
должен был внести все необходимые изменения, необходимые для включения указанного модуля.
APC и opcache имеют то общее, что оба они служат в качестве кэшей операций операций (например, ускорителей байт-кода). Кроме того, APC имеет часть пользовательского кэша, которую использует CApcCache. Теперь, начиная с PHP 5.5, APC устарела (вы все равно можете скомпилировать версию из репозитория. Я знаю, что она работает на 5.5, но не может ее по-настоящему рекомендовать), а opcache занял свое место в виде основного модуля (как в отличие от APC, являющегося продолжением расширения). Следует отметить, что APC и opcache не могут быть включены одновременно.
Как упоминалось ранее, APC предоставляет часть пользовательского кэша. Это функция, которую вы найдете в opcache. Чтобы исправить это, APCu, который является APC с его частью кэша кода операции, лишен. Поскольку APCu предназначается для замены APC для замены, CApcCache
должен иметь возможность использовать его. Недавно новые версии Yii даже адресовали APCu напрямую.
sudo pecl install apc
?