open_basedir restriction in effect

Столкнулся с необычным проявлением ошибки open basedir restriction:

Warning: open_basedir restriction in effect.
File /path/to/file is not within the allowed path(s):
(/path/to/dir1:/path/to/dir2) in /path/to/dir/filename.php on line 385

Сообщение такого рода возникает при попытке обратиться к файлу, который расположен за пределами “разрешенных” для php каталогов. Настройки хостинга обычно не препятствуют открытию файлов в пределах “домашнего” каталога пользователя или корневого каталога сайта. Значение переменной php_value open_basedir изменяется в httpd.conf или в php.ini. В .htaccess значение open_basedir изменить нельзя!!!

Часто сообщение open_basedir restriction вызвано неправильной обработкой загруженных при помощи php файлов - использование функции copy, unlink, rename вместо правильного move_uploaded_file. Об особенностях использования функции move_uploaded_file более подробно можно прочитать тут

Однако, как оказалось, такая ошибка может возникать ещё и при использовании функции tempnam(string $dir, string $prefix), которая должна создавать временный файл в каталоге $dir, если же каталог не существует, то пытается создать этот файл во временном каталоге системы. Стоит также проверить каталог $dir на запись - в моем случае именно права на доступ к каталогу стали причиной ошибки open basedir restriction.

ps. обнаружил при работе с simple csv upload интернет-магазина на базе virtuemart

Метки: ,

Автор будет признателен, если Вы поделитесь ссылкой на статью, которая Вам помогла:
BB-код (для вставки на форум)

html-код (для вставки в ЖЖ, WP, blogger и на страницы сайта)

ссылка (для отправки по почте)

Комментарии (2) к записи “open_basedir restriction in effect”

  1. Дмитрий сообщает :

    Warning: is_dir() [function.is-dir]: open_basedir restriction in effect. File(/home/sitegenr/public_html/dima/sfot.ru/wp-content/uploads/wpcf7_uploads) is not within the allowed path(s): (/var/www/dima/data:.) in /var/www/dima/data/www/tamada1.com/wp-content/plugins/contact-form-7/modules/file.php on line 323

    А что с такой ошибкой делать?

  2. levik сообщает :

    В тонкости работы плагина не вникал, но скорее всего, ошибка в неверных настройках (либо wordpress, либо плагина).. Сайт, случайно, не переезжал?
    Попробовать поиск по базе строки “sitegenr” (если база небольшая - удобно создать дамп, сохранить в текстовый файл)
    И еще, можно открыть файл “contact-form-7/modules/file.php” и посмотреть строку “on line 323″ .. и выяснять, что ж там ищется :)

Добавить комментарий