Que dois-je faire si l'erreur PHP open_basedir se produit dans le panneau VestaCP ?

Résolution de l'erreur PHP open_basedir dans le panneau VestaCP

Qu'est-ce que PHP open_basedir ?

  • Le tweak de protection PHP open_basedir est une mesure de sécurité en mode sans échec qui empêche les utilisateurs d'utiliser PHP pour ouvrir des fichiers ou des scripts situés en dehors de leur répertoire personnel, à moins que ce dossier n'ait été explicitement exclu.
  • L'activation du paramètre PHP open_basedir garantit que toutes les opérations sur les fichiers sont limitées aux fichiers d'un certain répertoire, empêchant les scripts php d'un utilisateur spécifique d'accéder aux fichiers dans des comptes d'utilisateurs non autorisés.
  • Lorsque le script tente d'ouvrir le fichier avec, par exemple, fopen() ou gzopen(), l'emplacement du fichier est vérifié.

Il y a plus de tutoriels sur les panneaux VestaCP ici ▼

Lorsqu'un fichier dépasse l'arborescence de répertoires spécifiée ou autorisée, PHP refusera de l'ouvrir, une erreur similaire à la suivante peut se produire :

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

Solution

Étape 1 : Accédez au nom de domaine correspondant « Service WEB ».

Étape 2 : Modifier le « Modèle Web HTTPD »

  • Veuillez changer "Web Template HTTPD" de "default" à "phpcgi" ▼

Dans le panneau VestaCP, remplacez « Web Template HTTPD » par « phpfcgid ».

Étape 3 : Redémarrez le service Apache à l’aide de la commande suivante ▼

service httpd restart

C'est un problème courant sur les systèmes Linux . Il suffit de suivre les étapes ci-dessus ; aucune modification du code n'est nécessaire et le problème se résout rapidement en seulement 3 étapes. C'est très simple ! ^_^

注意 事项

  • Ne choisissez jamais "phpfcgid", car il est facile de consommer trop de mémoire et de causer de fréquents problèmes d'erreur 500.

Si vous tenez absolument à utiliser le modèle « phpfcgid », Chen Weiliang suggère d'optimiser ses paramètres avant utilisation. ▼

发表 评论

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

Remonter en haut