restriction basedir ouverte en vigueur. Fichier(/) n'est pas dans le permis de chemin(s):
je reçois cette erreur sur un téléchargement d'avatar sur mon site. Je n'ai jamais eu avant et rien n'a été changé récemment pour moi de commencer à obtenir cette erreur...
Warning: is_writable() [function.is-writable]:
open_basedir restriction in effect.
File(/) is not within the allowed path(s):
9 réponses
modifier le open_basedir
paramètres dans votre configuration PHP (voir configuration D'exécution ).
le paramètre open_basedir
est principalement utilisé pour empêcher les scripts PHP pour un utilisateur particulier d'accéder aux fichiers dans le compte d'un autre utilisateur. Ainsi, habituellement, tous les fichiers de votre propre compte devraient être lisibles par vos propres scripts.
exemples de réglages via .htaccess
si PHP fonctionne comme un module Apache sur un système Linux:
<DirectoryMatch "/home/sites/site81/">
php_admin_value open_basedir "/home/sites/site81/:/tmp/:/"
</DirectoryMatch>
modifiez les paramètres open_basedir de votre compte d'hébergement et définissez-les à none. Trouvez le paramètre open_basedir donné dans la section' Paramètres PHP ' de votre Plesk/cPanel. Mettre à "aucun" dans le menu déroulant. Je les ai montrés sur la photo du panneau Plesk.
pour corriger cette erreur, vous devez éditer le fichier httpd.conf. Bien avant qu'il ne puisse être vu dans phpinfo dans la section de la directive apache2handler section Server Root. Par exemple, dans mon cas - / etc / httpd / httpd.conf. Ouvrez le fichier httpd.conf, trouver la mention du paramètre open_basedir. Et mis à néant. ( php_admin_value open_basedir aucun )
pour moi, le problème était les valeurs de configuration manquantes/mauvaises pour le serveur Plesk qui exécutait tout. J'ai juste suivi les instructions ici: http://davidseah.com/blog/2007/04/separate-php-error-logs-for-multiple-domains-with-plesk /
vous pouvez configurer PHP pour avoir un fichier journal d'erreurs séparé pour chaque définition VirtualHost. Le truc est de savoir exactement comment le configurer, parce que vous ne pouvez pas toucher la configuration directement sans casser Plesk. Chaque nom de domaine sur votre (dv) a son propre répertoire dans /var/www/vhosts. Un répertoire type a les répertoires de haut niveau suivants:
cgi-bin/
conf/
error_docs/
httpdocs/
httpsdocs/
...and so on
vous voulez créer un serveur virtuel.fichier conf dans le fichier conf/ folder du répertoire des domaines avec les lignes suivantes:
php_value error_log /path/to/error_log
php_flag display_errors off
php_value error_reporting 6143
php_flag log_errors on
changez la première valeur pour correspondre à votre installation réelle (j'ai utilisé /tmp/phperrors.journal.) Après vous avez terminé, le serveur virtuel.fichier conf, testez la configuration à partir du console avec:
apachectl configtest
…or if you don’t have apachectl (as Plesk 8.6 doesn’t seem to)…
/etc/init.d/httpd configtest
et enfin dire à Plesk que vous avez fait ce changement.
/usr/local/psa/admin/bin/websrvmng -a
le chemin auquel vous faites référence est incorrect, et non avec le directoryRoot de votre espace de travail. Essayez de construire un chemin absolu le fichier auquel vous voulez accéder, où vous utilisez probablement maintenant un chemin relatif...
si vous avez ce genre de problème avec ispconfig3 et ai une erreur comme ceci
open_basedir restriction en vigueur. Fichier (/var/www/clients/client7 / web15) n'est pas dans les limites autorisées chemin(s):.........
pour le résoudre ( dans mon cas), il suffit de mettre PHP à SuPHP dans le panneau du site web d'ispconfig3
Espère que cela aide quelqu'un :)
si vous utilisez ceci avec php file.php
. Vous devez modifier php.ini
Trouver ce fichier:
: locate php.ini
/etc/php/php.ini
et ajouter le chemin du fichier à open_basedir
propriété:
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/:/run/media/andrew/ext4/protected
j'ai eu ce problème @ un de mes sites wordpress après mise à jour et / ou déplacement:)
Vérifier dans la base de données de la table "wp_options" la "upload_path" et le modifier correctement...
il suffit de chercher
open_basedir =
en php.ini et le désactiver. C'est la solution la plus simple pour résoudre ce problème.
Avant Modifications open_basedir =
Après Modifications ;open_basedir =
P. S-après les modifications n'oubliez pas de redémarrer votre serveur.
;)