Wie aktiviere ich den OPCache von PHP 5.5 in Ubuntu 14.04 korrekt?

10

Ich richte einen lokalen Server ein, um Konfigurationen zu testen. Es ist ein sauberer 14.04 LAMP-Server, wie er während der Installation des Betriebssystems ausgewählt wurde.

Wenn ich das richtig verstehe, wird OPCache mit PHP 5.5 geliefert ( php -vbestätigt dies), jedoch in einem deaktivierten Zustand. Ich habe die Vorschläge des Internets befolgt, um es zu aktivieren, erhalte jedoch gemischte Nachrichten darüber, ob dies erfolgreich war oder nicht.

Mein php.inihat

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

doch php -inach dem Neustart der Maschine sagt mir

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

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

dh es ist anscheinend aktiviert und gleichzeitig deaktiviert.

Ist die Aktivierung von OPCache mit dem PHP-Paket des 14.04-Repositorys möglich, oder muss ich PHP aus dem Quellcode kompilieren?

mtdevans
quelle

Antworten:

8

Aus irgendeinem Grund fast_shutdown=1verursachte die Einstellung Probleme und verhinderte den Start von OPCache. Sobald dies eingestellt wurde, 0ist OPCache erfolgreich betriebsbereit (möglicherweise im Zusammenhang mit diesem Fehler ?).

Alles, was zum Aktivieren von OPCache benötigt wird , ist das Festlegen

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

in Apache php.inigefolgt von einem Server-Neustart

service apache2 restart

Randnotiz: php -iNeigt dazu, einen anderen php.inials Apache zu verwenden (z. B. /etc/php5/cli/php.ini), daher die verwirrende Diskrepanz in der ursprünglichen Frage.

mtdevans
quelle
Dies hat mein Problem nicht behoben. Noch mehr Ideen? Ich benutze php5-fpm und bearbeite die richtige php.ini (schnelles Herunterfahren in PHPInfo von 1 auf 0 geändert) und ich habe php5-fpm sowie nginx neu gestartet
Maciej Swic
Für mich immer noch das gleiche Problem: / logs: [Sa Jun 13 19: 54: 33.435550 2015] [Kern: Hinweis] [pid 19088] AH00060: Seg-Fehler $ PHP Warnung: Modul 'Zend OPcache' bereits in Unbekannt in Zeile 0 PHP geladen Warnung: Zend OPcache: Modulregistrierung fehlgeschlagen! in Unbekannt in Zeile 0
Codium
Ich habe es herausgefunden. Ich habe Opcache über Sudo Php5enmod Opcache installiert
Codium
Also, wenn /etc/php5/cli/php.inifalsch ist, was ist der richtige Weg?
Qian Chen
2

Ich habe mich im Laufe des Tages genau diesem Problem gestellt und bin froh, dass ich es auf die folgende Weise gelöst habe. Obwohl die obige Antwort als Antwort markiert ist, geht aus den Kommentaren zu dieser Antwort hervor, dass sie die Frage nicht vollständig beantwortet.

Die richtige zu aktivierende Datei befindet sich in

/etc/php5/cli/conf.d 

Geben Sie dort Folgendes ein

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

Vergessen Sie nicht, Apache neu zu starten

Verwenden Sie ein Tool wie den Opcache-Status, um zu überprüfen, ob alles in Ordnung ist, und es hilft Ihnen bei der Feinabstimmung von Bereichen.

Hoffe das hilft jemandem.

Vinu D.
quelle
1

Ich bin darauf gestoßen, als ich php-fpm verwendet habe. Ich habe in /etc/php5/fpm/conf.d festgestellt, dass es einen Symlink 05-opcache.inizu ../../mods-available/opcache.iniund einen gibt 20-opcache.ini, der auf denselben Ort verweist. Das verursachte einen Konflikt.

Ich entfernte eine (die 20 seitdem hatte ein späteres Änderungsdatum), startete php-fpm neu und alles kam zurück.

apple4ever
quelle
0

richtige Datei ist :/etc/php5/apache2/conf.d/user.ini

Hanmant
quelle