Столкнулся с ошибкой во время переноса скрипта на другой сервер. Для управления сайтами используется панель Vesta CP. Проблема заключается в том, что на сервере не правильно прописана опция open_basedir
. Для нормальной работы скрипта нам нужно обеспечить доступ к каталогу /home/system/web/system.ru/yii/
.
Warning: require(): open_basedir restriction in effect. File(/home/system/web/system.ru/yii/vendor/autoload.php) is not within the allowed path(s): (/home/system/web/system.ru/public_html:/home/system/1) in /home/system/web/system.ru/public_html/admin/index.php on line 10 Warning: require(/home/system/web/system.ru/yii/vendor/autoload.php): failed to open stream: Operation not permitted in /home/system/web/system.ru/public_html/admin/index.php on line 10 Fatal error: require(): Failed opening required '/home/system/web/system.ru/public_html/admin/../../yii/vendor/autoload.php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/system/web/system.ru/public_html/admin/index.php on line 10
Для решения проблемы Warning: require(): open_basedir restriction in effect. File(x) is not within the allowed path(s)
переходим в каталог с конфигами Apache. У меня Vesta CP и они расположены по следующему пути:
cd /home/system/conf/web
Далее добавляем или правим настройки в конфигах:
system.ru.httpd.conf system.ru.httpd.ssl.conf
Следующую опцию:
<Directory /home/system/web/system.ru/public_html>
AllowOverride All
SSLRequireSSL
Options +Includes -Indexes +ExecCGI
php_admin_value open_basedir /home/system/web/system.ru/public_html:/home/system
php_admin_value upload_tmp_dir /home/system/tmp
php_admin_value session.save_path /home/system/tmp
</Directory>