Как правильно включить OPCache PHP 5.5 в Ubuntu 14.04?

10

Я настраиваю локальный сервер для тестирования конфигураций; это чистый 14.04 LAMP-сервер, выбранный во время установки ОС.

Если я правильно понимаю, OPCache поставляется с PHP 5.5 ( php -v подтверждает это), но в отключенном состоянии. Я воспользовался предложениями Интернета, чтобы включить его, однако я получаю смешанные сообщения о том, было ли это успешным.

My php.ini имеет

zend_extension=/usr/lib/php5/20121212/opcache.so
opcache.enable=1
opcache.enable_cli=1

пока php -i , после перезагрузки машины, сообщает мне

Opcode Caching => Disabled
Optimization => Disabled
Startup Failed => Opcode Caching is disabled for CLI

opcache.enable => On => On
opcache.enable_cli => Off => Off

i.e. он, по-видимому, включен и одновременно отключен.

Возможно ли использование OPCache с пакетом PHP репозитория 14.04, или мне нужно скомпилировать PHP из исходного кода?

    
задан mtdevans 30.06.2014 в 23:35
источник

4 ответа

8

По какой-то причине установка fast_shutdown=1 вызывала проблемы и предотвращала запуск OPCache. Когда это было установлено на 0 , OPCache успешно запущен (возможно, связан с этой ошибкой ? ).

Все, что необходимо , поэтому для включения OPCache необходимо установить

; Determines if Zend OPCache is enabled
opcache.enable=1

в% Apache php.ini , за которым следует перезапуск сервера

service apache2 restart

Боковое примечание: php -i имеет тенденцию использовать другой php.ini от Apache (например, /etc/php5/cli/php.ini ), следовательно, запутанное несоответствие в исходном вопросе.

    
ответ дан mtdevans 01.07.2014 в 11:45
источник
2

Я столкнулся с такой же проблемой в течение дня, и я рад, что решил ее в следующем порядке. Хотя выше ответ отмечен как ответ, из комментариев к этому ответу ясно, что он не полностью отвечает на вопрос.

Правильный файл для включения находится в

/etc/php5/cli/conf.d 

Затем введите там

zend_extension=opcache.so
opcache.memory_consumption=128
opcache.max_accelerated_files=2500
opcache.interned_strings_buffer=8
opcache.revalidate_freq=60
opcache.fast_shutdown=1

Не забудьте перезапустить apache

Используйте инструмент, например, статус Opcache, чтобы проверить, все ли в порядке, и это поможет вам с точными настройками областей.

Надеюсь, что это поможет кому-то.     

ответ дан Vinu D 02.08.2015 в 19:04
0

правильный файл :/etc/php5/apache2/conf.d/user.ini

    
ответ дан Hanmant 16.08.2016 в 07:13
0

Я столкнулся с этим при использовании php-fpm. Я обнаружил в файле /etc/php5/fpm/conf.d, что существует символическая ссылка 05-opcache.ini to ../../mods-available/opcache.ini и одна 20-opcache.ini , указывающая на то же место. Это вызвало конфликт.

Я удалил один (20, так как у него была более поздняя дата модификации), перезапустил php-fpm, и все вернулось.

    
ответ дан apple4ever 26.08.2016 в 15:51