PHP Warning: file_exists(): open_basedir restriction in effect.
PHP Warning: file_exists(): open_basedir restriction in effect.
Ситуация следующая: Пытаюсь связать Wordpress c форумом XenForo
Для этого используется плагин XenWord, который обращается из WP к XF напрямую (указывается абсолютный путь).
Долго не мог понять, почему связка не работает (а должно работать по инструкции), пока не увидел логи со следующей ошибкой:
Насколько я понял, один сайт не дает другому лезть в свои папки :)
Как мне разрешить обращение к данному файлу (данной папке), чтобы не нарушить безопасность сервера (отключать целиком open_basedir совершенно не хочется). И можно ли разрешить обращение к файлу/папке от другого пользователя?
P.S. Установка новая, шаблоны стандартные...
Для этого используется плагин XenWord, который обращается из WP к XF напрямую (указывается абсолютный путь).
Долго не мог понять, почему связка не работает (а должно работать по инструкции), пока не увидел логи со следующей ошибкой:
Code: Select all
PHP Warning: file_exists(): open_basedir restriction in effect. File(/home/forum/web/forum.site.com/public_html/library/XenForo/Autoloader.php) is not within the allowed path(s): (/home/forum/web/ru.site.com/public_html:/home/forum/tmp) in /home/forum/web/ru.site.com/public_html/wp-content/plugins/xenword-3.0.2.03/xenword.php on line 85, referer: http://ru.site.com/wp-admin/admin.php?page=xenword
Как мне разрешить обращение к данному файлу (данной папке), чтобы не нарушить безопасность сервера (отключать целиком open_basedir совершенно не хочется). И можно ли разрешить обращение к файлу/папке от другого пользователя?
P.S. Установка новая, шаблоны стандартные...
Re: PHP Warning: file_exists(): open_basedir restriction in effect.
Отключать не нужно, достаточно добавить дополнительные директории в опцию open_basedir
Смотреть в конфигах - /home/$user/conf/web/apache2.conf
Смотреть в конфигах - /home/$user/conf/web/apache2.conf
Re: PHP Warning: file_exists(): open_basedir restriction in effect.
Кажется сам допер уже на выходных, но все-таки уточню...
Я добавляю дополнительные директории в опции open_basedir в файле конфига Апача (у нужного пользователя). Т.к. у меня CentOS, то файл конфига, видимо, будет httpd.conf
Там есть 2 места, в которых прописана опция open_basedir: в разделе <Directory> и "в корне" (без всяких разделов). Нужно в обоих местах исправлять или только в каком-то одном?
Я добавляю дополнительные директории в опции open_basedir в файле конфига Апача (у нужного пользователя). Т.к. у меня CentOS, то файл конфига, видимо, будет httpd.conf
Там есть 2 места, в которых прописана опция open_basedir: в разделе <Directory> и "в корне" (без всяких разделов). Нужно в обоих местах исправлять или только в каком-то одном?
Re: PHP Warning: file_exists(): open_basedir restriction in effect.
У вас основная часть конфига выглядит вот так:
Править в одном месте:
Code: Select all
<Directory /home/user/web/domain.ru/public_html>
AllowOverride All
Options +Includes -Indexes +ExecCGI
php_admin_value open_basedir /home/user/web/domain.ru/public_html:/home/admin/tmp
php_admin_value upload_tmp_dir /home/user/tmp
php_admin_value session.save_path /home/user/tmp
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f [email protected]"
</Directory>
Code: Select all
php_admin_value open_basedir /home/user/web/domain.ru/public_html:/home/admin/tmp
Re: PHP Warning: file_exists(): open_basedir restriction in effect.
Странно, но конфиг одного из виртуальных хостов у меня выглядит следующим образом:
Получается, что параметр open_basedir в двух местах. Это ошибка или так и должно быть? И соответственно, путь вставлять в оба значения или только то, которое в разделе "Directory"?
Кстати, когда дописываю в open_basedir новый путь, при постинге сообщения возникает 500-я ошибка (upstream prematurely closed connection while reading response header from upstream)
Есть идеи, куда копать в этом случае?
Code: Select all
<Directory /home/forum/web/domen.ru/public_html>
AllowOverride All
Options +Includes -Indexes +ExecCGI
php_admin_value upload_max_filesize 10M
php_admin_value max_execution_time 20
php_admin_value post_max_size 8M
php_admin_value memory_limit 32M
php_admin_flag mysql.allow_persistent off
php_admin_flag safe_mode off
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f [email protected]"
php_admin_value open_basedir /home/forum/web/domen.ru/public_html:/home/forum/
php_admin_value upload_tmp_dir /home/forum/tmp
php_admin_value session.save_path /home/forum/tmp
</Directory>
<Directory /home/forum/web/domen.ru/stats>
AllowOverride All
</Directory>
php_admin_value open_basedir /home/forum/web:/home/forum/tmp:/bin:/usr/bin:/usr/local/bin:/
<IfModule mod_ruid2.c>
RMode config
Кстати, когда дописываю в open_basedir новый путь, при постинге сообщения возникает 500-я ошибка (upstream prematurely closed connection while reading response header from upstream)
Есть идеи, куда копать в этом случае?