it-swarm.com.de

Ist APC kompatibel mit PHP 5.4 oder PHP 5,5?

Es scheint nicht so, als wäre APC mit der Veröffentlichung von PHP 5.4 aktualisiert worden (ich wünschte, sie hätten APC wie ursprünglich geplant in PHP Kern aufgenommen). 

Ich kann anscheinend keine endgültige Antwort darauf finden, ob das aktuelle APC mit PHP 5.4+ funktioniert. Ich habe Ubuntu-Pakete für PHP 5.4 gefunden, aber PHP-Apc-Pakete lassen sich nicht installieren. 

102
Greywire

Ab PHP 5.4.7 und APC 3.1.13 (und sogar APC SVN-Trunk ab 2012-09-19) ist es, obwohl es "kompatibel" ist, auf Servern mit hoher Last nicht stabil, insbesondere wenn Sie ' Verwenden Sie PHP-FPM und $ GLOBALS. Einige Entwicklerdiskussionen über APC sprechen über ungelöste Randfälle .

Ich beantworte diese Frage 6 Monate, nachdem sie gefragt wurde, weil das Problem immer noch weit verbreitet ist, und wenn ich auf diesen Thread ohne eine Antwort wie meine stieße, habe ich den Sprung zu PHP 5.4 mit APC gemacht und verbrannt . Hoffentlich hilft das den Leuten, Schmerzen zu vermeiden.

10
Eric Caron

Es scheint, dass der Fehler "möglicherweise" in der letzten Revision des Trunks behoben wurde. Ich habe jetzt mit PHP 5.4.0 gearbeitet.

svn co http://svn.php.net/repository/pecl/apc/trunk/ apc-trunk

cd apc-trunk

phpize

./konfigurieren

make

installiere

6
Simon

Nun, ich versuche es in den letzten Tagen, und es gibt keine Möglichkeit, einen Opcode-Cacher mit PHP 5.4 zu arbeiten. Xcache wird nicht kompiliert und apc erkennt bestimmte Klassen nicht, wenn sie zwischengespeichert werden .. Ich denke, das ist der Fehler, über den Simon spricht.

Ich habe gehört, dass es einige Korrekturen im Kofferraum gab, aber ich habe auch die neuesten Stammquellen ausprobiert, aber die gleichen Fehler kommen immer wieder zurück. Hoffentlich werden die Leute bei apc das so schnell wie möglich beheben.

AKTUALISIEREN!!!

Xcache 2.0.0-rc1 ist out und kompatibel mit PHP 5.4. Genießen!

5
Michiel Thalen

Nein, APC 1.3.9 (und ab diesem Moment auch der svn trunk) ist nicht kompatibel mit php 5.4.0. Ich weiß, weil ich gerade Stunden damit verbracht habe, es zum Laufen zu bringen (verschiedene svn/php getestet. Ini-Einstellungen/Compiler-Flags/Sie nennen es).

Das ist einfach nur lächerlich, APC ist eine der beliebtesten PHP -Erweiterungen und man würde erwarten, dass sie nach wochenlangen 8 PHP 5.4 RCs die Zeit hatten, APC dazu zu bringen, mitzuwirken .

Erbärmlich.

5
JohnSmith

Ich verwende AMPPS mit PHP Version 5.5.19. Seit einiger Zeit genau ab Release von PHP 5.5 - wird APC durch Zend OPCache ersetzt, der in PHP 5.5 und höher enthalten ist. Jetzt müssen Sie zur Aktivierung von "APC" (derzeit "OPcache") nur Ihre php.ini bearbeiten. Vor dem Abschnitt [XDebug] fügen Sie die fließenden Linien hinzu:

php.ini

...

[OPcache]

zend_extension=php_opcache.dll

opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=512
opcache.interned_strings_buffer=24
opcache.max_accelerated_files=4000
opcache.revalidate_freq=3
opcache.fast_shutdown=1

...

Bitte beachten Sie, dass wir zwei Instanzen haben müssen: 

zend_extension =

Einer in [OPcache] und einer in [XDebug]. Xdebug wird in der Installation des xampp/ampps/easyPHP-Servers häufig nicht als Standard bereitgestellt. Möglicherweise befinden Sie sich in einer Situation, in der Sie die Xdebug-Erweiterung herunterladen müssen. Sie können dies leicht tun, indem Sie eine Online-Anwendung verwenden, die den richtigen Xdebug für Ihren PHP definiert. Besuchen Sie http://xdebug.org/wizard.php und befolgen Sie die einfachen Anweisungen. Wenn Sie die richtige Version von Xdebug für Ihre PHP-Version heruntergeladen haben, bearbeiten Sie den Link Ihrer zend_extension im Abschnitt [XDebug].

...

[XDebug]
zend_extension = "C:\Program Files (x86)\Ampps\php\ext\php_xdebug-2.2.6-5.5-vc11.dll"
......

Bitte beachten Sie! dass Sie vor XDebug in Ihrer php.ini-Datei einen OPcache-Abschnitt hinzufügen müssen !!! Wenn Sie mir richtig folgen, sollten Sie zwei Instanzen von zend_extension in Ihrer php.ini-Datei haben (eine im OPcache und eine im Xdebug-Abschnitt).

Dies funktioniert perfekt für das Symfony2 - Framework und eliminiert die Empfehlungsnachricht zur Installation und Aktivierung von APC für PHP und Xdebug.

Nachricht an alle, die Symfony 2 ausführen und die Warnmeldung aus "web/config.php" entfernt haben, aber trotzdem auf ein Problem stoßen, wenn sie über die Befehlszeile "php app/check.php" ausgeführt werden. In diesem Fall verwendet Ihre Konsole eine andere php.ini-Datei. Ändern Sie Ihren Systempfad variabel - machen Sie es auf das richtige PHP-Verzeichnis (wo Sie Ihre php.exe-Datei haben und welches von Ihrem lokalen Server verwendet wird).

Wenn Sie eine ausführlichere Erklärung benötigen, lassen Sie es mich im nachstehenden Kommentar wissen. Grüße.

4
DevWL

Ich fand apcu http://windows.php.net/downloads/pecl/releases/apcu/

Vielleicht ist das für x64 unter Windows apc. Es (Version 4.0.1) hat an meiner Anwendung gearbeitet.

4
StXh

Ich habe festgestellt, dass Sie den Opcode-Cache für jede Seitenanforderung löschen müssen, andernfalls können Klassen, die Schnittstellen implementieren, nicht geladen werden. Dies wurde aus dem neuesten svn trunk, Apache 2.4.1, PHP 5.4.0 kompiliert.

3
Simon

Es scheint einige Probleme zu geben, die noch zu lösen sind. Überprüfen Sie die Fehler und Sie können herausfinden, was die Lösung für Ihr spezielles Problem ist.

Ich habe mich vor einigen Stunden mit einem solchen Fehler befasst, und es stellte sich heraus, dass die Verwendung von APC über den SVN-Trunk der richtige Weg war. Hoffe das hilft!

3
Roberto

APC - nicht empfohlen
Persönlich habe ich APC nicht mit PHP 5.4 oder PHP 5.5 verwendet, aber der neueste stabile APC ist nicht mit PHP 5.4 kompatibel, der neueste Beta-APC kann jedoch mit 5.4 verwendet werden wird geschrieben, dass immer noch negative Probleme mit APC haben.

Wenn Sie PHP 5.5 haben
Verwenden Sie einfach Zend Opcache . Es ist out of the box, daher sind die Probleme minimal.

Wenn Sie PHP 5.4 haben
Ich empfehle XCache . Es ist vollständig kompatibel mit PHP 5.4 und 5.5. Aktiv entwickelt Die letzte stabile Version wurde vor 3.5 Monaten (10. Oktober 2013) veröffentlicht. Es verbessert die Leistung, auch wenn Sie fastcgi verwenden.

2
trante

Zend OPCache ist in PHP 5.5 unter dem Namen php_opcache.dll im Verzeichnis php/ext enthalten. Um es zu aktivieren:

  • Fügen Sie die Datei php_opcahe.dll als Erweiterung von zend in Ihre php.ini Konfigurationsdatei ein. 
  • Verwenden Sie das Format zend_extension = Pfad/zu/php/ext/php_opcache.dll .
  • Platzieren Sie die zend_extension vor dem xDebug zend_extension in Ihrer php.ini config .
  • Speichern Sie Ihre php.ini Konfigurationsdatei und restart Ihren Server.
1
ROOT

Wir experimentieren speicherfrei (Apache segfault) mit PHP 5.4.26 und APC 3.1.9 . Es gibt einen offenen Fehler für APC in PHP 5.4.X: https: // bugs.php.net/bug.php?id=61934

Ich empfehle, dieses Plugin nicht unter PHP> 5.3 zu verwenden.

0
dAm2K

In XAMPP Version 5.6.3 (PHP 5.6.3) müssen Sie in Ihrer ini.php Folgendes tun:

[OPcache]

zend_extension = php_opcache.dll
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=512
opcache.interned_strings_buffer=24
opcache.max_accelerated_files=4000
opcache.revalidate_freq=3
opcache.fast_shutdown=1

[XDebug]

zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
xdebug.max_nesting_level = 200
xdebug.profiler_append = 1
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
;xdebug.profiler_output_dir = "C:\xampp\tmp"
;xdebug.profiler_output_name = "cachegrind.out.%t-%s"
;xdebug.remote_enable = 0
;xdebug.remote_handler = "dbgp"
;xdebug.remote_Host = "127.0.0.1"
;xdebug.trace_output_dir = "C:\xampp\tmp"

Konfiguration für das symfony2-Framework.

0
DevWL

APC hat seit dem 2. Januar eine neue Version: 3.1.14, die einige Fehler behebt: http://pecl.php.net/package/APC

Ich habe jedoch PHP 5.4.x mit APC 3.1.13 ohne Probleme aus dem dotdeb-Repository ausgeführt, daher würde ich sagen, dass es stabil ist. dotdeb hat mir auch mitgeteilt, dass sie das aktualisierte APC in die nächste Version von PHP aufnehmen werden, die voraussichtlich 5.4.11 ist.

0