Denken Sie daran, ich bin kein Systemadministrator, ich bin nur ein Entwickler. Ich kann niemanden mit dem exakten Problem als mir finden, nur ähnlich, und keiner ihrer "Fixes" scheint zu funktionieren.
Ich führe gerade eine Amazon EC2-Instanz aus, die ausgeführt wird.
%Vor%Ich habe meine php.ini (/etc/php.ini) -Einstellungen auf Folgendes eingestellt:
%Vor% Nachdem die Konfiguration mit php -i
über ssh neu geladen wurde, schienen diese Einstellungen geladen zu sein. Anzeigen von upload_max_filesize=10M
, etc.
Bei Verwendung von phpinfo()
oder ini_get
werden beide Optionen als 4M
phpinfo()
zeigt an, dass die Datei, die ich gerade bearbeite, die geladene Datei ist ( /etc/php.ini
).
Ich habe auch php -i | grep "\.ini"
ausgeführt, um zu prüfen, welche Dateien geladen sind, und es gibt keine unnötigen geladenen Konfigurationen. Ich ging sogar jede geladene Datei einzeln durch, um zu überprüfen, ob sie die Einstellungen nicht enthielt.
Außerdem wurde mir vorgeschlagen, eine .user.ini
config-Datei zu verwenden. Dies änderte auch nicht die Werte.
ini_set()
funktioniert auch nicht.
Ich bin ein bisschen verloren.
EDIT: nicht sicher, das wird helfen, aber ich benutze diese AMI Ссылка
Ich habe mich mit den Leuten in Verbindung gesetzt, die das AMI gemacht haben, und herausgefunden, dass es zusätzliche Konfigurationsdateien gibt, die das php.ini
Es gibt 2 Dateien mit Einstellungen
%Vor%Offensichtlich können sich die Standorte bei verschiedenen Konfigurationen unterscheiden, aber hoffentlich hilft dies jemandem eine Vorstellung davon zu geben, wonach man noch suchen sollte.
Dateiname:
%Vor%Hinzufügen:
%Vor% Lauf:
Von der Befehlszeile aus: sudo service nginx restart
Versuchen Sie, einen Befehl wie folgt auszuführen:
%Vor%Es zeigt dir, welche Ini-Dateien von PHP geladen werden.
Beispielausgabe:
%Vor%Wenn Sie diese Werte explizit in Ihrer php.ini-Datei angeben und sie nicht identisch sind, wenn Sie Ihr PHP-Skript ausführen, hat etwas sie überschrieben. Sie wissen, dass Ihre php.ini-Einstellungen korrekt sind, da die CLI-Version von PHP-Informationen die neuen Einstellungen anzeigt.
Ich habe auch php -i | grep ".ini", um zu prüfen, welche Dateien geladen sind, und es keine unnötigen geladenen Konfigurationen gibt. Ich ging sogar jede geladene Datei einzeln durch, um zu überprüfen, ob sie die Einstellungen nicht enthielt.
Das ist großartig, aber es sagt Ihnen, welche .ini-Dateien von der PHP-CLI geladen wurden - nicht Ihre Anwendung.
Sie müssen den Abschnitt Zusätzliche .ini-Dateien analysiert Ihrer phpinfo()
-Ausgabe überprüfen, um genau zu sehen, welche Dateien von Ihrem Webserver geladen werden. Eine dieser Dateien überschreibt Ihre Einstellungen.
Wenn sich schließlich keine dieser Dateien als Täter herausstellt, sollten Sie in Ihrem Projekt eine globale Suche nach ini_set()
durchführen, um sicherzustellen, dass einige Rogue-Skripte diese Werte nicht für Sie festlegen (versuchen, hilfreich ).
Mach weiter, du wirst den Schuldigen an einem dieser beiden Orte finden.
Ich hatte das gleiche Problem mit der PHP-Anwendung, die sich über die Größe der Upload-Datei beschwert. Mit dem Befehl lilne Version von php (php --ini) habe ich festgestellt, dass die php.ini Datei: /etc/php5/cli/php.ini
mit php -info habe ich die Einstellungen verifiziert. aber trotzdem gab mir die Anwendung den gleichen Fehler. Das ich entdeckte, dass PHP verschiedene Ini-Dateien für CLI und Apache hat. Überprüfen Sie Ihren / etc / php5-Ordner, der Apache2- und CLI-Ordner mit separaten Ini-Dateien enthält. Bearbeiten Sie einfach /etc/php5/cli/php.ini, um die Apache-Einstellungen zu ändern.
Denken Sie daran, ich bin kein Systemadministrator, ich bin nur ein Entwickler. Ich kann niemanden mit dem genauen Problem finden, wie ich, nur ähnlich, und keiner ihrer "Fixes" scheint zu funktionieren.
Ich war im selben Boot, mit dem gleichen Problem und stellte sich heraus, dass sie verwandt waren!
Ich hatte Zeilen eingefügt, um upload_max_filesize
und post_max_size
zu erhöhen, aber diese wurden ignoriert und phpinfo()
gab die Standardwerte zurück. Ich hatte Apache neu gestartet und auch die zusätzlichen .ini
-Dateien überprüft, die ohne Freude geladen wurden.
Die Lösung war, dass ich meine Zeilen hinzugefügt hatte, um diese Parameter am Anfang der Datei zu erhöhen, und sie wurden später in der gleichen Datei überschrieben!
Wenn Sie also dieses Problem haben, stellen Sie sicher, dass Sie nicht den gleichen dummen Fehler machen wie ich und Ctrl-F
, um die ursprüngliche Instanz der Deklaration zu finden, und bearbeiten Sie diese dann, anstatt Ihre eigenen hinzuzufügen; )
Tags und Links php nginx amazon-ec2 ec2-ami