Как вы загружаете .user.ini
конфигурации .user.ini
PHP при использовании встроенного веб-сервера?
Моя настройка такова:
site │ include.php │ ├───bin │ router.php │ server.bat │ └───public .user.ini index.php
Корень документа является public
, а bin\router.php
направляется к public\index.php
если файл не существует.
Я сделал phpinfo()
, чтобы убедиться, что .user.ini
не загружается. Параметр, который я пытаюсь изменить, – error_log
.
Петах, я только что отвлекся от этой проблемы. Встроенный веб-сервер был введен только в 5.4
Этот веб-сервер предназначен только для целей развития и не должен использоваться в производстве.
Он работает как веб-сервер, прослушивающий указанный сокет. В .user.ini указано, что:
Эти файлы обрабатываются только CGI / FastCGI SAPI. Эта функция устаревает расширением hccanner PECL. Если вы используете Apache, используйте файлы .htaccess для того же эффекта.
Другими словами, вы не можете использовать файлы .user.ini со встроенным веб-сервером или с Apache / mod_php и т. Д. Вы должны использовать собственный php.ini. Самый безопасный способ сделать это – клонировать стандартные php.ini (или директивы php_value / flag с Apache / mod_php), а затем добавить строки, которые вы хотите для разработки. Конечно, вы всегда можете добавить команду ini_set в сценарий (ы) запуска.
Хотя я не был точным ответом на мой вопрос, я нашел решение своей проблемы.
В файле server.bat
я запускал php-сервер, используя
php -S 0.0.0.0:3000 -t public bin/router.php
Изменив его на:
php -c public/.user.ini -S 0.0.0.0:3000 -t public bin/router.php
Достигнут такой же эффект.