Erreur "Aucun fichier d'entrée spécifié." Dépannage
Contexte
Cet après-midi, je vais développer un projet Laravel avec mes amis. . , ce projet a été développé par mon partenaire, j'en ai donc cloné une copie sur mon ordinateur, mais après l'avoir configuré, l'invite lors de l'ouverture de l'URL était "Aucun fichier d'entrée spécifié
Dépannage
- Tout d'abord, j'ai soupçonné qu'il s'agissait d'un problème avec le code source du projet, puis j'ai directement ajouté la phrase suivante au début du fichier d'entrée que j'ai toujours ; la même erreur lorsque j'ai visité le site Web.
<?php
exit(1);
Copier après la connexion
Expliquez que ce n'est pas un problème avec le code source de mon projet et excluez les problèmes de code
- J'ai commencé à soupçonner que ; c'était un problème avec mon propre environnement, alors j'ai commencé à lancer. J'ai supprimé le projet et en ai commencé un nouveau, mais cela n'a toujours pas fonctionné. J'ai trouvé que c'était le seul problème de ce projet. Je suis donc sûr que ce n'est pas un problème environnemental.
Expliquez qu'il ne s'agit pas d'un problème environnemental, excluez les problèmes environnementaux
- J'ai cherché sur Baidu, et certaines personnes ont dit que cela pourrait être un problème avec Homestead.yaml, mais je l'ai vérifié attentivement et je n'ai trouvé rien d'anormal. J'ai donc cherché sur Google et je n'ai pas trouvé de bonne raison.
Dépannage des problèmes de configuration de la machine virtuelle
- J'ai donc pensé que ce n'était pas un problème d'environnement, pas un problème de programme~~~ finalement j'ai pensé ; Je devrais vérifier à l'intérieur de la machine virtuelle. Enfin, j'ai vu cette erreur dans le journal ngnix.
2019/05/23 12:31:44 [error] 5085#5085: *1 FastCGI sent in stderr: "PHP message: PHP Warning: Unknown: open_basedir restriction in effect. File(/home/vagrant/Code/haopai-git/public/index.php) is not within the allowed path(s): (/www/wwwroot/dev.guooo.top/:/tmp/:/proc/) in Unknown on line 0
PHP message: PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0
Unable to open primary script: /home/vagrant/Code/haopai-git/public/index.php (Operation not permitted)" while reading response header from upstream, client: 192.168.10.1, server: hp.hopa.cc, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.2-fpm.sock:", host: "hp.hopa.cc"
Copier après la connexion
- Quand j'ai vu l'erreur ci-dessus, je suis également allé en ligne pour la rechercher. Internet parlait principalement du problème de configuration de fastcgi_param dans ngnix, mais je ne pensais pas que c'était le cas. c'est vrai, car d'autres projets n'ont eu aucun problème. Il y a un problème avec ce seul projet. Pour une raison quelconque, j'ai remarqué "/www/wwwroot/". Ce dossier ne devrait pas exister sur mon ordinateur, je suis donc allé sur le projet pour rechercher cette chaîne et je l'ai finalement trouvée dans le fichier .user.ini. ce fichier, j'ai réalisé que c'était son problème, j'ai donc supprimé la configuration dans ce fichier. Le contenu du fichier est le suivant :
open_basedir=***********
Copier après la connexion
- Bon, le problème est résolu. RéflexionAprès avoir regardé en arrière et réfléchi, j'aurais en fait dû penser à regarder les journaux ngnix depuis le début. J'ai déjà été en contact avec le fichier .user.ini. À cette époque, je me souvenais seulement qu'il était utilisé pour empêcher les attaques intersites. Points de connaissances .user.ini
Depuis PHP 5.3.0, PHP prend en charge les fichiers INI de style .htaccess par répertoire. Ces fichiers sont uniquement traités par le SAPI CGI/FastCGI. Cette fonctionnalité rend l'extension htscanner de PECL obsolète. Si vous utilisez Apache, l'utilisation d'un fichier .htaccess a le même effet. En plus du php.ini principal, PHP analysera également les fichiers INI dans chaque répertoire, en commençant par le répertoire où se trouve le fichier PHP exécuté et en remontant jusqu'au répertoire racine Web ($_SERVER['DOCUMENT_ROOT '] spécifié). Si le fichier PHP en cours d'exécution se trouve en dehors du répertoire racine Web, seul ce répertoire sera analysé. Seuls les paramètres INI avec les modes PHP_INI_PERDIR et PHP_INI_USER sont reconnus dans les fichiers INI de style .user.ini.
Pour plus d'articles techniques liés à Laravel, veuillez visiter la colonne
Tutoriel Laravel pour apprendre !
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!