2012-04-21 4 views
0

Я пытаюсь запустить приложение Zend Framework на моем VPS. Я получаю эту ошибку:realpath() open_basedir ограничение по сути.

Ошибка

Предупреждение: Realpath() [function.realpath]: open_basedir ограничение в силу.

По-видимому, это довольно часто встречается с ограничениями по умолчанию Plesk, поэтому я уверен, что некоторые из вас столкнулись с одной и той же проблемой.

То, что я пытался

В/вар/WWW/ВХосты/DOMAIN/CONF/Я создал файл vhost.conf с помощью Virtuozzo Power Panel. Ниже приведен код, который я поместил в vhost.conf:

Покушение 1

<Directory /var/www/vhosts/DOMAIN/public> 
<IfModule sapi_apache2.c> 
     php_admin_value open_basedir none 
</IfModule> 
<IfModule mod_php5.c> 
     php_admin_value open_basedir none 
</IfModule> 
</Directory> 

Покушение 2

<Directory /var/www/vhosts/DOMAIN/public> 
    php_admin_value open_basedir none 
</Directory> 

Я также перезапустил службу HTTPd.

структура папок

Моя структура папок выглядит следующим образом:

/var/www/vhosts/DOMAIN/application 
/var/www/vhosts/DOMAIN/library 
/var/www/vhosts/DOMAIN/public 

Любая помощь будет оценена.

ответ

2

Я думаю, что вам нужно установить open_basedir для всего проекта:

<Directory /var/www/vhosts/DOMAIN> 
    php_admin_value open_basedir none 
</Directory> 

Вы также должны установить DocumentRoot на:

DocumentRoot "/var/www/vhosts/DOMAIN/public" 

хотя.

1

У меня была та же проблема & решил это, не установив open_basedir на none. Вы можете добавить несколько путей в open_basedir, разделив их на «:» в Linux и «;» в Windows. Поэтому, если в вашем предупреждении упоминается «realpath», добавьте «realpath» в ваш параметр open_basedir или родительский каталог «realpath». Например, как, что:

php_admin_value open_basedir "/srv/www/vhosts/domain.com/httpdocs:/tmp:/usr/share/php5/" 

Теперь ваш open_basedir настроен с 3-мя путями:

/srv/www/vhosts/domain.com/httpdocs 
/tmp 
/usr/share/php5 

В моем случае был нужен последний путь выше 3 для Зенд работать на моей системе без предупреждений.

Также обратите внимание, что существует разница между окончанием вашего пути с помощью «/» или нет! Без «/» все подпапки будут включены в open_basedir. Посмотрите здесь: http://www.php.net/manual/en/ini.core.php#ini.open-basedir

Лукиан

Смежные вопросы