Ausführen einer Anwendung mit PHP 5.4 auf AWS mit Amazon Linux.
PHP-Version ist PHP 5.4.28. memcache lib, das vom AWS Repo installiert wird, ist php54-pecl-memcache-3.0.8-1.11.amzn1.x86_64
Ich habe überprüft, dass php /etc/php.ini verwendet:
%Vor%Die Einstellung zeigt, dass ich Memcache verwenden soll:
%Vor%Ich kann telnet von der Box bis zum Endpunkt & amp; Port und verbinden Sie sich ordnungsgemäß, so dass die Instanz eine Verbindung zum memcached-Server herstellen kann.
Dinge, die wir versucht haben:
Unabhängig davon, was wir versucht haben, werden die Sitzungen auf der Festplatte nach / var / lib / php / sessions gespeichert. Gibt es etwas, das mir fehlt, oder ist dies ein bekanntes 5.4- oder AWS-Problem?
OK, wir haben es geschafft, das Problem zu lösen.
Zuerst haben wir eine einfache Seite erstellt, die phpinfo () ausspuckt. Beachten Sie, dass es wichtig ist, dass Sie dies über den Webserver ausführen - mit php -i enthält KEINE Überschreibungen, die der Apache hinzufügen kann.
Unter dem Session-Abschnitt listet die Ausgabe alle Direktiven und einen "lokalen Wert" und einen "Master-Wert" auf.
Die lokalen Werte hatten:
%Vor%während die Masterwerte hatten:
%Vor%Es stellt sich heraus, dass eine Überschreibung standardmäßig in /etc/httpd/conf.d/php.conf installiert ist, die die Dateien angibt. Dies scheint eine Redhat / CentOS / Fedora-Sache zu sein.
Das Entfernen dieser Werte aus der php.conf hat das Problem behoben.
Beide großen PHP-PECL-Erweiterungen von memcache haben Session-Handler. In beiden Fällen müssen Sie vor der Verwendung ein PECL-Modul installieren.
Der Memcache PECL-Erweiterungssitzungs-Handler ist in der php.ini mit folgenden Funktionen aktiviert:
%Vor%Der Memcached PECL-Erweiterungssitzungs-Handler ist in php.ini wie folgt aktiviert:
%Vor%Beachten Sie, dass die Memcache-Erweiterung angezeigt wird, um mehr Konfiguration der Memcache-Umgebung zu ermöglichen.
Tags und Links php session memcached centos libmemcache