¿Cómo habilito correctamente el OPCache de PHP 5.5 en Ubuntu 14.04?

10

Estoy configurando un servidor local para probar configuraciones; es un servidor LAMP limpio de 14.04, como se seleccionó durante la instalación del sistema operativo.

Si entiendo correctamente, OPCache viene con PHP 5.5 ( php -vconfirma esto) pero en un estado deshabilitado. He seguido las sugerencias de Internet para habilitarlo, sin embargo, recibo mensajes mixtos sobre si esto ha tenido éxito o no.

Mi php.initiene

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

Sin embargo php -i, después de reiniciar la máquina, me está diciendo

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

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

es decir , aparentemente está habilitado y simultáneamente deshabilitado.

¿Es posible habilitar OPCache con el paquete PHP del repositorio 14.04, o necesito compilar PHP desde la fuente?

mtdevans
fuente

Respuestas:

8

Por alguna razón, la configuración fast_shutdown=1causaba problemas y evitaba que OPCache se iniciara. Una vez que esto se configuró en 0, OPCache está funcionando correctamente (¿posiblemente relacionado con este error ?).

Por lo tanto, todo lo que se necesita para habilitar OPCache es establecer

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

en Apache php.iniseguido de un reinicio del servidor

service apache2 restart

Nota al php -imargen : tiende a usar un php.iniApache diferente (por ejemplo /etc/php5/cli/php.ini), de ahí la discrepancia confusa en la pregunta original.

mtdevans
fuente
Esto no solucionó mi problema. ¿Alguna idea más? Estoy usando php5-fpm y estoy editando el php.ini correcto (el apagado rápido cambió de 1 a 0 en PHPInfo) y reinicié php5-fpm y nginx
Maciej Swic
Para mí, el mismo problema: / logs: [sáb 13 de junio 19: 54: 33.435550 2015] [núcleo: aviso] [pid 19088] AH00060: falla de seg $ PHP Advertencia: Módulo 'Zend OPcache' ya cargado en Desconocido en la línea 0 PHP Advertencia: Zend OPcache: ¡falló el registro del módulo! en Desconocido en la línea 0
Codium
Lo he resuelto. He instalado opcache a través de sudo php5enmod opcache
Codium
Entonces, si /etc/php5/cli/php.inies incorrecto, ¿cuál es el camino correcto?
Qian Chen
2

Enfrenté este mismo problema durante el día y me alegro de haberlo resuelto de la siguiente manera. Aunque la respuesta anterior está marcada como una respuesta, de los comentarios a esa respuesta resulta claro que no responde completamente la pregunta.

El archivo correcto para habilitar está en

/etc/php5/cli/conf.d 

Luego ingrese lo siguiente allí

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

No olvides reiniciar apache

Use una herramienta como el estado de Opcache para verificar si todo está bien y le ayudará con las áreas para ajustar.

Espero que ayude a alguien.

Vinu D
fuente
1

Me encontré con esto cuando uso php-fpm. Descubrí en /etc/php5/fpm/conf.d que había un enlace simbólico 05-opcache.inia ../../mods-available/opcache.iniy uno 20-opcache.inique apunta hacia el mismo lugar. Eso estaba causando un conflicto.

Eliminé uno (el 20 ya que tenía una fecha de modificación posterior), reinicié php-fpm y todo volvió.

apple4ever
fuente
0

el archivo correcto es :/etc/php5/apache2/conf.d/user.ini

Hanmant
fuente