ISPConfig 3, ниндзя устанавливает мой open_basedir - PullRequest
2 голосов
/ 26 января 2012

У меня есть библиотека PHP, которой я хотел бы поделиться с несколькими vhosts на моем сервере, но директива open_basedir вызывает проблемы.

Я использую ISPConfig 3 для управления сайтами.

Предупреждение PHP : include (): действует ограничение open_basedir. Файл (/ var / toaster / latest / __ server / core / cms.php) находится вне разрешенные пути: ( [вырезать: несколько путей] ) в [вырезать] в строке 5

phpinfo () говорит:

Загруженный файл конфигурации : /etc/php5/cgi/php.ini
open_basedir : [вырезать: несколько путей] (локальное и главное значение)

/ etc / php5 / cgi / php.ini говорит:

; open_basedir =

/ usr / local / ispconfig / server / conf / vhost.conf.master говорит:


php_admin_value open_basedir
</ tmpl_if>

но / etc / apache2 / sites-enabled / [cut: domain] .vhost говорит:

абсолютно ничего о open_basedir


Все это означает, что что-то неизвестное мне устанавливает мою директиву open_basedir. Что, где?

Ответы [ 2 ]

6 голосов
/ 26 января 2012

Было намного проще и очевиднее, чем ожидалось.
На панели «Параметры» «Веб-домена» в ISPConfig есть текстовое поле с надписью PHP open_basedir. Я до сих пор не знаю, какой именно файл конфигурации собирается создать или отредактировать, но он работает.

Также стоит упомянуть это текстовое поле - значение по умолчанию при создании нового сайта можно изменить в:

Система >> Конфигурация сервера >> Интернет >> Настройки PHP >> PHP open_basedir

3 голосов
/ 16 июня 2012

Большое спасибо за ответ! Я посмотрел везде, и ответ был прямо там, на экране настроек! Спасибо, спасибо, спасибо!

После дальнейшего исследования ISPConfig выполняет php-cgi при запуске vhost. Начальный скрипт находится в /var/www/php-fcgi-scripts/web?/.php-fcgi-starter, где? представляет номер сайта в клиенте. Open_basedir передается в качестве параметра для запуска. Вот почему переопределение в отдельных php.ini не работает. По крайней мере, так настроено на сайте fast-cgi / su-exec.

...