PHP- fopen - действует ограничение open_basedir
Я переместил свой сайт на другой хостинг-сервер. Однако есть небольшая проблема с функцией fopen(). Каждый раз, когда это выполняется, это приводит к следующей ошибке:
Предупреждение: file_exists() [function.file-существующие]: действует ограничение open_basedir. Файл (/home/www-virtual/www-username/www/bindata/gallery/GAL34e81b4adce22091c6ee31c71055e181.jpg) находится за пределами допустимого пути: (/www/default/www:/www/username_www:/tmp:/usr/local/lib/php:/usr/local/php-5.2/lib) в /www/username_www/www/frontend/gallery/GalleryPage.php5 в строке 112
Я ничего не могу сделать со скриптом PHP, потому что он закодирован в ionCube.
Что же делать дальше?
2 ответа
Сменить хостинг компании сейчас!
Если они не могут правильно настроить open_basedir, кто знает, какие другие ужасы находятся в ожидании (да, для них может быть допустимо применить общее ограничение - но если это было здесь, почему они включили чей-то другой каталог в белый список).
Один из возможных ответов (из переполнения стека) - установить исключение для открытого basedir в PHP в файле.htaccess.
<Directory /var/www/vhosts/domain.tld/httpdocs>
php_admin_value open_basedir "/var/www/vhosts/domain.tld/httpdocs:/var/www/vhosts/domain.tld/zend"
</Directory>
Вы также можете полностью снять ограничение с
<Directory /var/www/vhosts/domain.tld/httpdocs>
php_admin_value open_basedir none
</Directory>