Необходим перезапуск Apache, чтобы PHP перечитал php.ini?

9

PHP читает php.ini при каждом запросе или мне нужно перезапустить Apache, чтобы php узнал об изменениях в php.ini?

Petruza
источник

Ответы:

11

Вам нужно будет перезапустить - файлы конфигурации, включая php.ini, читаются при запуске главного процесса, а реальные веб-страницы обслуживаются дочерними процессами apache, клонированными (разветвленными) с главного.

Девин Сеартас
источник
2
«Изящный» перезапуск должен быть достаточным, если вы хотите избежать риска ошибок клиента.
daveadams
@daveadams: отлично, что такое изящный перезапуск? Я просто перезапускаю его с помощью командной строки XAMPP, которая, я думаю, убивает процесс и перезапускает его. Это всего лишь локальный сервер разработки, сын не беспокоится за злых клиентов, но все равно хотел бы знать.
Петруза
@Devin: То есть apache на самом деле вызывает php один раз, и он продолжает работать, и порождает только childs для каждого запроса?
Петруза
Чтобы быть точным - он загружает файлы конфигурации (такие как httpd.conf и php.ini) один раз при запуске. Сценарии PHP начинаются заново каждый раз, когда выполняется сценарий PHP - при выполнении сценария PHP отсутствует память для перекрестных запросов, как в mod_perl.
Девин Сеартас
2
@Petruza: просто изящный означает, что он не убьет процессы, которые находятся в процессе обслуживания страницы для пользователя. Что касается разработки, ваш метод хорош, но, как правило, независимо от того, какой скрипт Apache вы используете для указания «start», «stop» или «restart», вы можете просто сказать «graceful» вместо этого, и каждый процесс будет ждать завершения любой текущей работы. перед смертью и возрождением с новыми настройками.
daveadams