Что делать, если в панели VestaCP возникает ошибка PHP open_basedir?

Устранение ошибки 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» ▼

В панели VestaCP измените значение параметра "Web Template HTTPD" с "default" на "phpfcgid".

Шаг 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

Чтобы раскрыть еще больше скрытых трюков🔑, присоединяйтесь к нашему каналу в Telegram!

Поделитесь и поставьте лайк, если вам понравилось! Ваши репосты и лайки — наша постоянная мотивация!

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Наверх