Le contenu principal de cet article concerne la configuration d'open_basedir sous PHP. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer
Après avoir téléchargé le YII2.0. framework et après avoir configuré avec succès nginx, j'ai constaté qu'il était toujours inaccessible. J'ai vérifié le journal des erreurs et j'ai constaté que le message d'erreur incluait la restriction require(): open_basedir en vigueur. J'ai donc cherché en ligne et découvert que l'élément de configuration PHP open_basedir limitait le chemin accessible par require().
open_basedir limite les fichiers pouvant être ouverts par php à l'arborescence de répertoires spécifiée, y compris le fichier lui-même. Lorsqu'un programme ouvre un fichier en utilisant, par exemple, fopen() ou file_get_contents(), l'emplacement du fichier est vérifié. Lorsque le fichier se trouve en dehors de l'arborescence de répertoires spécifiée, le programme refusera de l'ouvrir.
Dans les systèmes Linux, open_basedir est principalement configuré dans les fichiers php.ini et fastcgi.conf. La configuration dans php.ini est la suivante : open_basedir="répertoire spécifié" ; suit : fastcgi_param PHP_VALUE "open_basedir =Specify directory";
Sous Windows, il est principalement configuré dans le fichier http.conf de php.ini et apache La configuration dans http.conf est la suivante : php_admin_value open_basedir "Spécifier le répertoire".
La limite spécifiée avec open_basedir est en fait un préfixe, pas un nom de répertoire. En d'autres termes, open_basedir=/home/fdipzone autorisera également l'accès à /home/fdipzone_abc. Si vous souhaitez limiter l'accès à un répertoire, veuillez utiliser une barre oblique pour terminer le nom du chemin, par exemple : open_basedir=”/home/fdipzone. /”. Si vous souhaitez configurer plusieurs répertoires, window utilise ; pour séparer les répertoires et Linux utilise : pour séparer les répertoires.
L'utilisation d'open_basedir peut limiter les répertoires et les fichiers que le programme peut exploiter et améliorer la sécurité du système. Cependant, cela affectera les performances des E/S et entraînera un ralentissement de l'exécution du système. Il est donc nécessaire d'équilibrer la sécurité et les performances en fonction des besoins spécifiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!