Come abilito correttamente OPCache di PHP 5.5 in Ubuntu 14.04?


10

Sto installando un server locale per testare le configurazioni; è un server LAMP 14.04 pulito, selezionato durante l'installazione del sistema operativo.

Se ho capito bene, OPCache viene fornito con PHP 5.5 (lo php -vconferma) ma in uno stato disabilitato. Ho seguito i suggerimenti di Internet per abilitarlo, tuttavia sto ricevendo messaggi contrastanti sul fatto che ciò abbia avuto successo.

Il mio php.iniha

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

eppure php -i, dopo aver riavviato la macchina, me lo dice

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

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

cioè apparentemente è abilitato e contemporaneamente disabilitato.

L'abilitazione di OPCache è possibile con il pacchetto PHP del repository 14.04 o devo compilare PHP dal sorgente?

Risposte:


8

Per qualche motivo, l'impostazione fast_shutdown=1causava problemi e impediva l'avvio di OPCache. Una volta impostato su 0, OPCache è correttamente attivo e funzionante (possibilmente correlato a questo errore ?).

Tutto ciò che serve quindi per abilitare OPCache è impostare

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

in Apache php.iniseguito da un riavvio del server

service apache2 restart

Nota a php -imargine : tende ad usare un diverso php.inida Apache (ad esempio /etc/php5/cli/php.ini), quindi la discrepanza confusa nella domanda originale.


Questo non ha risolto il mio problema. Altre idee? Sto usando php5-fpm e sto modificando il php.ini corretto (spegnimento rapido modificato da 1 a 0 in PHPInfo) e ho riavviato php5-fpm e nginx
Maciej Swic

Per me ancora lo stesso problema: / logs: [sab 13 giu 19: 54: 33.435550 2015] [core: notice] [pid 19088] AH00060: seg fault $ PHP Attenzione: il modulo 'Zend OPcache' è già stato caricato in Unknown on line 0 PHP Avvertenza: Zend OPcache: registrazione del modulo non riuscita! in Unknown sulla linea 0
Codium,

L'ho capito. Ho installato opcache tramite sudo php5enmod opcache
Codium

Quindi, se /etc/php5/cli/php.ininon è corretto, qual è il percorso corretto?
Qian Chen,

2

Ho affrontato esattamente lo stesso problema durante il giorno e sono felice di averlo risolto nel modo seguente. Sebbene, la risposta di cui sopra sia contrassegnata come risposta, dai commenti a quella risposta emerge chiaramente che non risponde completamente alla domanda.

È presente il file corretto da abilitare

/etc/php5/cli/conf.d 

Quindi inserisci quanto segue qui

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

Non dimenticare di riavviare apache

Usa uno strumento come lo stato di Opcache per verificare se tutto è a posto e ti aiuterà a mettere a punto le aree.

Spero che aiuti qualcuno.


1

Mi sono imbattuto in questo durante l'utilizzo di php-fpm. Ho scoperto in /etc/php5/fpm/conf.d che c'era un collegamento simbolico 05-opcache.iniper ../../mods-available/opcache.inie uno 20-opcache.iniche punta allo stesso posto. Ciò stava causando un conflitto.

Ne ho rimosso uno (il 20 visto che aveva una data di modifica successiva), ho riavviato php-fpm e tutto è tornato.


0

il file corretto è :/etc/php5/apache2/conf.d/user.ini

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.