Каталог статей
Устранение ошибки PHP open_basedir в панели VestaCP
Что такое PHP open_basedir?
- Твик защиты PHP open_basedir — это мера безопасности безопасного режима, которая не позволяет пользователям использовать PHP для открытия файлов или скриптов, расположенных за пределами их домашнего каталога, если эта папка не была явно исключена.
- Включение параметра PHP open_basedir гарантирует, что все файловые операции будут ограничены файлами в определенном каталоге, что предотвратит доступ php-скриптов определенного пользователя к файлам в неавторизованных учетных записях пользователей.
- Когда скрипт пытается открыть файл, например, с помощью fopen() или gzopen(), проверяется местоположение файла.
Другие руководства по панелям VestaCP можно найти здесь ▼
Когда файл превышает указанное или разрешенное дерево каталогов, PHP откажется его открывать, может возникнуть ошибка, подобная следующей:
PHP Warning: require(): open_basedir restriction in effect. File(/home/admin/web/project/www/app/autoload.php) is not within the allowed path(s): (/home/admin/web/project/public_shtml:/home/admin/tmp) in /home/admin/web/project/www/web/app.php on line 6 PHP Warning: require(/home/admin/web/project/www/app/autoload.php): failed to open stream: Operation not permitted in /home/admin/web/project/www/web/app.php on line 6 PHP Fatal error: require(): Failed opening required '/home/admin/web/project/www/web/../app/autoload.php' (include_path='.:/usr/share/php') in /home/admin/web/project/www/web/app.php on line 6
Решение
Шаг 1: Получите доступ к соответствующему доменному имени "WEB Service".
Шаг 2: Измените "Веб-шаблон HTTPD"
- Измените «HTTPD веб-шаблона» с «по умолчанию» на «phpcgi» ▼

Шаг 3: Перезапустите службу Apache, используя следующую команду ▼
service httpd restart
Это распространённая проблема в системах Linux . Просто следуйте описанным выше шагам; никаких изменений в коде не требуется, и её можно быстро решить всего за 3 шага. Это очень просто! ^_^
注意 事项
- Никогда не выбирайте «phpfcgid», потому что он может потреблять слишком много памяти и вызывать частые проблемы с ошибкой 500.
Если вы всё же настаиваете на использовании шаблона "phpfcgid", Чен Вэйлян рекомендует оптимизировать его настройки перед использованием. ▼
Надеюсь, статья «Как исправить ошибку PHP open_basedir в панели VestaCP?», опубликованная в блоге Чен Вэйляна ( https://www.chenweiliang.com/ ), окажется вам полезной.
Не стесняйтесь делиться ссылкой на эту статью: https://www.chenweiliang.com/cwl-734.html


