Article ID: 432, created on Jan 21, 2009, last review on May 9, 2014

  • Applies to:
  • Plesk for Linux/Unix
  • Plesk 11.5 for Windows

Cause

Cette erreur signifie que le script PHP essaye d'accéder à un dossier dont l'accès n'est pas autorisé. Pour des raisons de sécurité, les options PHP pour les domaines hébergés dans Plesk permettent d'accéder aux dossiers /tmp et http(s)docs uniquement par défaut. Les restrictions sont limitées par la variable PHP open_basedir pour chaque hôte virtuel, et ce séparément.

Résolution

Si vous avez besoin d'autoriser l'accès aux scripts PHP de l'hôte virtuel spécifique pour un/des dossiers supplémentaires, l'option 'open_basedir' pour l'hôte virtuel doit être redéfinie avec la nouvelle valeur du chemin d'accès, plusieurs noms de dossier sont séparés par des deux points. Cela peut être effectué par l'utilisateur doté de privilèges root uniquement dans les fichiers vhost.conf ou vhost_ssl.conf du domaine (pour l'hôte virtuel SSL), voir l'article 'Inclure des directives dans le fichier de configuration de serveurs Web' dans la documentation de Parallels Plesk Panel pour en savoir plus.

 

Une fois les changements effectués, vous devez recréer des fichiers de configuration d'Apache et redémarrer le service Apache à l'aide de la commande suivante dans le shell, si le fichier . vhost(_ssl).conf est trouvé, il sera automatiquement ajouté au fichier httpd.include du domaine :

# /usr/local/psa/admin/sbin/websrvmng -v -a

Exemples :

 

REMARQUE : HTTPD_VHOSTS_D doit être remplacé par un chemin d'accès réel pour les répertoires d'accueil des domaines ce qui peut varier en fonction de la version et de l'OS de Parallels Plesk Panel, la valeur actuelle peut être connue à partir du fichier /etc/psa/psa.conf. ADD_PATH doit être remplacé par un chemin d'accès réel pour le dossier auquel vous avez besoin d'avoir accès.

 

Créez HTTPD_VHOSTS_D/domain.com/conf/vhost.conf :

<Directory HTTPD_VHOSTS_D/domain.com/httpdocs>
php_admin_value open_basedir "HTTPD_VHOSTS_D/domain.com/httpdocs:/tmp:/ADD_PATH"
</Directory>

 

Créez HTTPD_VHOSTS_D/domain.com/conf/vhost_ssl.conf :

<Directory HTTPD_VHOSTS_D/domain.com/httpsdocs>
php_admin_value open_basedir "HTTPD_VHOSTS_D/domain.com/httpsdocs:/tmp:/ADD_PATH"
</Directory>

 

Pour les sous-domaines, créez le fichier HTTPD_VHOSTS_D/domain.tld/subdomains/subdomain/conf/vhost.conf comme suit :

<Directory HTTPD_VHOSTS_D/domain.com/subdomains/subdomain/httpdocs>
php_admin_value open_basedir "HTTPD_VHOSTS_D/domain.com/subdomains/subdomain/httpdocs:/tmp:/ADD_PATH"
</Directory>

 

De plus, vous pouvez configurer 'open_basedir' global pour un emplacement nécessaire dans /etc/php.ini, par exemple :

open_basedir = "/tmp"


Redémarrez Apache une fois php.ini changé.

a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c 29d1e90fd304f01e6420fbe60f66f838 85a92ca67f2200d36506862eaa6ed6b8 46a8e394d6fa13134808921036a34da8 bd7fc88cf1b01f097749ae6f87272128

Email subscription for changes to this article
Save as PDF