Änderungen in php.ini werden nicht übernommen!

C2N4

New Member
Hallo,

ich habe mich gerade eben erst angemeldet, weil ich hoffe, dass ich hier eine Lösung für mein Problem finde.

Zuerst mal zu den Umständen: Ich besitze ein RootServer. Mein Webserver ist lighttpd (mit php5-cgi). Alles läuft auf einem Debian-System (lenny).

Problem ist nun, dass meine Änderungen der php.ini nicht übernommen werden! Vor ein paar Tagen ging das jedoch noch problemlos. Da habe ich nämlich einige Einstellungen, wie memory_limit etc. geändert.

Ich habe zur Überprüfung die Daten, die mir phpinfo() bietet. Dort steht unter anderem:

Code:
Configuration File (php.ini) Path 
/etc/php5/cgi

Loaded Configuration File 	
/etc/php5/cgi/php.ini

Scan this dir for additional .ini files 	
/etc/php5/cgi/conf.d

additional .ini files parsed 	
/etc/php5/cgi/conf.d/gd.ini, /etc/php5/cgi/conf.d/mcrypt.ini, /etc/php5/cgi/conf.d/mysql.ini, /etc/php5/cgi/conf.d/mysqli.ini, /etc/php5/cgi/conf.d/pdo.ini, /etc/php5/cgi/conf.d/pdo_mysql.ini

Nun wollte ich gestern die "max_execution_time" erhöhen, da ich einen einmaligen Skriptdurchlauf machen muss (php), welcher Einträge in der Datenbank neu ordnet.

Nun habe ich in der php.ini angegeben:

Code:
max_execution_time = 3600

Die Änderungen werden aber nicht übernommen! phpinfo() sagt mir immernoch: max_execution_time: 30

Ich habe nun einige Stunden mit der Suche verbracht. Alle Versuche sind bisher fehlgeschlagen.

Natürlich habe ich auch den Server neugestartet!

Code:
/etc/init.d/lighttpd restart

Auch das Neuladen der Konfiguration brachte kein Ergebnis.

Code:
/etc/init.d/lighttpd reload

Egal, was ich in die php.ini hineinschreibe (und wenn es der größte Müll ist), Lighttpd scheint die Datei zu ignorieren? Änderungen, die ich vor ein paar Tagen gemacht habe, sind aber immernoch erhalten (wie z.B. das bereits erwähnte memory_limit). Es werden also nicht einfach irgendwelche Default-Werte genommen.

Auch die "additional" geparsten ini.files enthalten keinerlei Angaben!

Leider bin ich an dieser Stelle mit meinem Latein am Ende und hoffe auf Hilfe von euch!

MfG, Chris
 
Ich kenne jetzt lighttpd nicht, sondern nutze Apache. Und da ist es möglich, in der Apache-Config-Datei auch PHP-Parameter zu setzen. Könnte mir vorstellen, daß der lighttpd das auch kann. Außerdem lassen sich über .htaccess einzelne PHP-Parameter anpassen. Vielleicht steht da irgendwo ja noch was drin.
 
Nun habe ich in der php.ini angegeben:
Auch in der richtigen php.ini? Die, die in der Ausgabe von phpinfo() genannt wurde?

Die Änderungen werden aber nicht übernommen! phpinfo() sagt mir immernoch: max_execution_time: 30
Wenn du FastCGI nutzt: hast du die PHP-Prozesse abgeschossen, damit diese neu gestartet werden und damit die neue Konfiguration einlesen?

Egal, was ich in die php.ini hineinschreibe (und wenn es der größte Müll ist), Lighttpd scheint die Datei zu ignorieren?
lighttpd weiß nichts von der php.ini und muss auch nichts von ihr wissen. lighttpd spricht nur FastCGI (und CGI). Und PHP hat zufälligerweise solch eine Schnittstelle, über die es an Webserver angebunden werden kann.

Und da ist es möglich, in der Apache-Config-Datei auch PHP-Parameter zu setzen.
Mach das mal, wenn du nicht mod_php einsetzt, sondern PHP am Apache httpd via mod_fcgid oder mod_fastcgi anbindest…
 
Auch in der richtigen php.ini? Die, die in der Ausgabe von phpinfo() genannt wurde?

Ja, in der Richtigen.

Wenn du FastCGI nutzt: hast du die PHP-Prozesse abgeschossen, damit diese neu gestartet werden und damit die neue Konfiguration einlesen?

Danke, das war die Lösung! Ich habe das vorgestern mal versucht via

Code:
killall php5-cgi

Hätte hierbei nicht so schnell locker lassen sollen. Denn pstree hat mir gezeigt, dass der Prozess php-cgi heißt.

Nach einem
Code:
killall php-cgi
/etc/init.d/lighttpd restart

funktioniert nun alles wieder, danke euch! :)

Was mich nur verwundert, warum hat es vor ein paar Tagen noch funktioniert, dass man einfach den lighttpd neustartet?
Und jetzt muss man plötzlich auch den PHP-Prozess neustarten?
Hat da jemand eine plausible Erklärung?

MfG, Chris
 
Hätte da noch einen Vorschlag:

Bitte mal in der /var/log/Apache2/error_log nachsehen, ob da vielleicht ein Parse error in der alten php.ini angezeigt wird (war bei mir auch so-Schreibfehler treten bei Änderungen auch auf!). Dann wird die php.ini ignoriert und die default-Werte geladen.
 
Im Error-Logfile habe ich gleich als erstes nachgeschaut. Da war aber alles im grünen Bereich (benutze übrigens Lighttpd und nicht Apache).

MfG
 
Back
Top