Моя среда разработки совместно с другими разработчиками моего запуска и настроена на Rackspace. Файл php.ini находится в папке /etc/
, и я считаю, что это централизованное местоположение, из которого настраивается настройка среды разработчика другого разработчика. Я хочу настроить этот файл php.ini
специально для себя, а не делать это в /etc
/ location.
В частности, я настраиваю XDEBUG в своей среде, некоторые другие разработчики этого не хотят, поэтому я не хочу их обманывать 🙂
Для этого я просмотрел Интернет о том, как переопределить файл php.ini специально для каталога, и нашел эту страницу в stackoverflow
И после этого я просто скопировал вставку файла php.ini в папку htdocs, а затем просто выделил phpinfo()
(я повторил это в одном из моих контроллеров (используя Zend)). Файл index.php находится в папке htdocs.
Когда я смотрю @ «Загруженный файл конфигурации» , он все еще читает
/etc/
вместо. ./htdocs/
Кто-нибудь знает, что случилось?
В общем случае невозможно загрузить php.ini
по каталогу, но в некоторых особых случаях (CGI / FastCGI) это: см. Документацию по настройке для каждого пользователя
Начиная с PHP 5.3.0, PHP включает поддержку INI-файлов типа .htaccess для каждого каталога. Эти файлы обрабатываются только CGI / FastCGI SAPI. Эта функция устаревает расширением hccanner PECL. Если вы используете Apache, используйте файлы .htaccess для того же эффекта.
В дополнение к основному файлу php.ini PHP сканирует файлы INI в каждом каталоге, начиная с каталога запрашиваемого файла PHP и прокладывая путь до текущего корня документа (как установлено в $ _SERVER ['DOCUMENT_ROOT'], ). Если файл PHP находится вне корня документа, проверяется только его каталог.
Если вы размещаете несколько независимых сайтов на одном сервере, вы должны в любом случае учитывать FastCGI, чтобы их разделить. С php5-fpm
очень легко настроить множество пулов работников.
Обратите внимание, что только установить ограниченное подмножество ini-options в user-in-файле. Как вы сказали, у вас нет контроля над сервером, возможными обходами будут:
ini_set()
чтобы переопределить изменения внутри вашего скрипта. Однако не все директивы конфигурации могут быть изменены с помощью ini_set()
. php.ini
. (определенные части, адаптированные из # 1438393 )
Надеюсь это поможет!
Я не уверен, что вы поняли этот пост. Сообщение означает, что если вы запустите сервер и хотите, чтобы на домен php.ini вы могли запускать модуль как один домен, поэтому каждый пользователь контролирует там домен php.ini, но похоже, что ваш сервер не предлагает этого, так что вам нужно будет htaccess, чтобы перезаписать настройки php.ini.
Более того, это не означает, что вы можете изменить каталог, это значит, возможно, добавить модуль или добавить отчет об ошибках …
Вы можете сделать это, используя этот пост: Как я могу использовать xdebug для отладки только одного виртуального хоста?