Apache Neustart erforderlich, damit PHP php.ini erneut lesen kann?

9

Liest PHP bei jeder Anfrage php.ini oder muss ich Apache neu starten, damit PHP über Änderungen in php.ini informiert wird?

Petruza
quelle

Antworten:

11

Sie müssen neu starten - die Konfigurationsdateien einschließlich php.ini werden beim Start des Master-Prozesses gelesen und die tatsächlichen Webseiten werden von untergeordneten Apache-Prozessen bereitgestellt, die vom Master geklont (gegabelt) wurden.

Devin Ceartas
quelle
2
Ein "ordnungsgemäßer" Neustart sollte ausreichen, wenn Sie das Risiko von Clientfehlern vermeiden möchten.
Daveadams
@daveadams: großartig, was ist ein würdevoller Neustart? Ich starte es einfach mit einer XAMPP-Befehlszeile neu, die den Prozess vermutlich abbricht und neu startet. Es ist zwar nur ein lokaler Entwickler-Server, mein Sohn macht sich keine Sorgen um verärgerte Kunden, möchte es aber trotzdem wissen.
Petruza
@ Devin: Also ruft Apache PHP tatsächlich einmal auf und es läuft weiter und erzeugt nur Kinder für jede Anfrage?
Petruza
Um genau zu sein - es lädt die Konfigurationsdateien (wie httpd.conf und php.ini) einmal beim Start. PHP-Skripte werden jedes Mal neu gestartet, wenn ein PHP-Skript ausgeführt wird. In einer PHP-Skriptausführung gibt es keinen anforderungsübergreifenden Speicher wie in so etwas wie mod_perl.
Devin Ceartas
2
@Petruza: anmutige nur Mittel wird es keine Prozesse töten , die eine Seite der dazu dient, einen Benutzer in der Mitte sind. Für Entwickler ist Ihre Methode in Ordnung, aber im Allgemeinen können Sie unabhängig von dem Apache-Skript, in dem Sie "Start", "Stopp" oder "Neustart" angeben, stattdessen einfach "anmutig" sagen, und jeder Prozess wartet, bis die laufenden Arbeiten abgeschlossen sind vor dem Sterben und Respawning mit den neuen Einstellungen.
Daveadams