Maison  >  Article  >  développement back-end  >  La solution au problème selon lequel le fichier existe mais require_once(./*.php) a une erreur

La solution au problème selon lequel le fichier existe mais require_once(./*.php) a une erreur

黄舟
黄舟original
2017-06-25 11:25:4614799parcourir

Description du problème :

Je viens d'installer PMA et lorsque j'y accède dans Firefox, je vois un tableau blanc et rien ne s'affiche. Vous pouvez voir 500 erreurs (erreurs internes du serveur) en utilisant IE

Après avoir ouvert le rapport d'erreurs, vous trouvez

Avertissement : require_once(./libraries/common.inc. php) [fonction .require-once] : échec de l'ouverture du flux : aucun fichier ou répertoire de ce type dans ***mousebombpmaindex.php à la ligne 35

Erreur fatale : require_once() [function.require] : échec de l'ouverture requis './ library/common.inc.php' (include_path='.;C:php5pear') dans ***mousebombpmaindex.php à la ligne 35

Et le fichier le fait existent et IUSR (utilisateur à accès anonyme IIS) a l'autorisation.

Solution :

Solution du tableau blanc : modifiez les paramètres de sortie d'erreur pertinents dans le php.ini. Le php.ini par défaut n'a besoin que de changer display_error=off en display_error =on. peut

exiger une résolution d'erreur : nécessiter tous les fichiers de chemin relatif commençant par ./, l'IUSR du répertoire de niveau supérieur doit être activé avec des autorisations en lecture. Non seulement lors de la configuration de PMA, quel que soit le site Web, sous wimp, vous devez faire attention au fait que les fichiers commençant par ./ ​​doivent être lisibles par le répertoire de niveau supérieur si vous souhaitez y accéder.

Littérature associée :

Parfois après l'installation de PHPmyAdmin, la situation suivante se produit lors de l'accès à celui-ci dans IE :

Avertissement : require_once(./libraries/ common.lib.php ) : échec d'ouverture du flux : aucun fichier ou répertoire de ce type dans ***index.php à la ligne 40
Erreur fatale : main() : échec de l'ouverture requise './libraries/common.lib.php ' (include_path=' .;c:php5pear') dans ***index.php à la ligne 40

Les raisons de ce problème sont les suivantes :

1 Votre PHPmyAdmin Le répertoire est placé à la racine. du disque
2. Problèmes de configuration des autorisations pour votre répertoire PHPmyAdmin et les répertoires de niveau supérieur

Solution :

·Ne placez pas le répertoire PHPmyAdmin à la racine du répertoire du disque, tel en le plaçant dans D:SiteManagephpmyadmin
· Définissez les autorisations pour le répertoire PHPmyAdmin et le répertoire de niveau supérieur comme suit :
Utilisateurs  Lire et exécuter
IUSR_… Lire et exécuter

En plus Solution :
---------------

J'ai rencontré un problème étrange. Après l'installation de phpmyadmin, l'erreur suivante est signalée :
Avertissement : require_once(./libraries/common.lib.php) [function.require-once] : échec d'ouverture du flux : aucun fichier ou répertoire de ce type dans X:Xxxxxphpmyadminindex. php en ligne 36
Erreur fatale : require_once() [function.require] : échec de l'ouverture requise './libraries/common.lib.php' (include_path='.;C:php5pear') dans X:Xxxxxphpmyadminindex.php en ligne 36

Importez la base de données MySQL dans le Mysql5.2 nouvellement installé, ouvrez la page d'accueil de BLog, mais signalez toujours une erreur similaire à celle ci-dessus.

Après un certain temps du débogage, j'ai finalement trouvé la solution :
Il s'avère que les permissions ACls de niveau supérieur des répertoires d'installation phpmyadmin et php ne suffisent pas, haha ​​!
Donnez à phpmyadmin, php et à leurs répertoires de niveau supérieur le mêmes droits d'accès à l'utilisateur Acls ; puis ouvrez le Blog et c'est fait avec succès !

Remarques et risques de sécurité :
1. Veuillez ne pas installer phpmyadmin dans le répertoire racine du site ou hôte virtuel, car l'utilisateur invité aura alors le répertoire racine. autorisations.
2. Donnez à phpmyadmin l'utilisateur en cours d'exécution du processus IIS et les autorisations de lecture de l'utilisateur anonyme IIS. Il est fortement recommandé de ne pas ajouter tout le monde à la liste des autorisations des ACL.
3. Lorsque vous déboguez un programme ou configurez un environnement de script, essayez d'abord de lire autant de FAQ que possible. Trouvez ensuite la raison à partir du code d'erreur... (Par exemple, si vous ouvrez la 36ème ligne de ! index.php et voir Code PHPLa cause de l'erreur sera claire après quelle commande est exécutée)

Conseils :

1. Ne décompressez pas phpmyadmin et installez-le. dans le répertoire racine, car cela entraînera que l'utilisateur invité aura les autorisations du répertoire racine.

2. Donnez à phpmyadmin les droits d'utilisateur iis et les droits d'utilisateur du groupe d'utilisateurs. Il n'est pas recommandé d'ajouter l'autorisation à tout le monde.

---------

Les deux méthodes ci-dessus ont la même idée, vous pouvez l'essayer

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn