Heute ist in meiner lokalen Entwicklungsumgebung plötzlich der Fehler „Keine Eingabedatei angegeben“ aufgetreten. Ich habe meine Konfigurationsdateien, Konfigurationspfade und Berechtigungen wiederholt überprüft und festgestellt, dass es keine Probleme gab. Nach wiederholten Untersuchungen wurde das Problem schließlich gefunden. Das Problem und die Lösung werden wie folgt mitgeteilt: Ursachenanalyse Ich habe ein Open-Source-TP5-Projekt von GitHub heruntergeladen und meine lokale Website lief zuvor problemlos. Nach der Installation dieses Open-Source-Projekts stellte ich jedoch fest, dass auf andere lokale Websites nicht zugegriffen werden konnte. Bei Access ist der Fehler „Keine Eingabedatei angegeben“ aufgetreten. Ich habe auch im Internet nach Lösungen gesucht, aber keine davon hat funktioniert. Es scheint, dass dieser Fehler etwas seltsam ist. Nach mehrmaligen Versuchen war das Problem nach einem Neustart des Computers behoben. Nach dem erneuten Ausführen des heruntergeladenen Open-Source-Projekts tp5 wurde jedoch bei anderen Websites der Fehler „Keine Eingabedatei angegeben“ angezeigt und nur diese eine Website lief ohne Probleme. Darauf aufbauend wurde der Fehler in der Nginx-Konfigurationsdatei des Open-Source-Projektes lokalisiert. Werfen wir einen Blick auf die Konfigurationsdatei: Server { hören Sie 80; Servername local.test.com; access_log /data/wwwlogs/local.test.com.log kombiniert; Fehlerprotokoll /data/wwwlogs/local.test.com_error.log Fehler; index.html index.htm index.php; Stammverzeichnis /Daten/php/test; Fügt den X-Powered-Host $hostname hinzu. fastcgi_hide_header X-Powered-By; wenn (!-e $request_filename) { schreibe ^/(.+?\.php)/?(.*)$ /$1/$2 zuletzt um; schreibe ^/(.*)$ /index.php/$1 zuletzt um; } Standort ~ \.php($|/){ fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; fastcgi_params einschließen; setze $real_script_name $fastcgi_script_name; wenn ($real_script_name ~ "^(.+?\.php)(/.+)$") { setze $real_script_name $1; } fastcgi_split_path_info ^(.+?\.php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_NAME $echter_Skriptname; fastcgi_param SCRIPT_FILENAME $Dokumentstammsatz$realer_Skriptname; fastcgi_param PHP_VALUE open_basedir=$document_root:/tmp/:/proc/; } Standort ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { Zugriff_Abmeldung; Fehlerprotokoll aus; läuft in 30 Tagen ab; } Standort ~ .*\.(js|css)?$ { Zugriff_Abmeldung; Fehlerprotokoll aus; läuft nach 12 Stunden ab; } In der obigen Konfiguration handelt es sich beim Rest um herkömmliche Konfigurationen. Weil ich CGI verwende. In den FastCGI-Parametern gibt es eine Zeile, die Ihnen möglicherweise aufgefallen ist. fastcgi_param PHP_VALUE open_basedir=$document_root:/tmp/:/proc/; Das ist es. Die Hauptfunktion dieses Satzes besteht darin, das bedienbare Verzeichnis von Fastcgi festzulegen, um Cross-Site-Verkehr zu verhindern, und open_basedir auf das Verzeichnis dieses Projekts und /tmp/ und /proc/ zu beschränken. Problemlösung Ich habe lediglich gesagt, dass es in der konfigurierten Fastcgi-Konfiguration eine zusätzliche Anweisung zum Verhindern von Cross-Site-Verwendung gibt. Dann beeinflusst dieser Satz tatsächlich die Parameter des gesamten Fastcgi. Da der Pfad meiner anderen Website ein Verzeichnis wie /data/php/xxx/ ist, aber nicht im Verzeichnis /data/php/test/ dieses Open Source-Projekts, kann Fastcgi nicht gefunden werden. Empfehlungen zur Onlinebereitstellung Sollten wir diesen Satz also verwenden oder nicht? Natürlich ist dies auch in einer Online-Umgebung möglich. Bei der Online-Projektbereitstellung sollten Sie Variablen wie $document_root in open_basedir nicht verwenden. Wenn sich auf einem Online-Server mehrere Projekte befinden, können alle Projekte in einem einheitlichen Verzeichnis abgelegt werden. Beispielsweise ist mein Online-Verzeichnis wwwroot, wo andere Websites abgelegt sind. Zum Beispiel /wwwroot/test1 /wwwroot/test2, ich kann es konfigurieren als fastcgi_param PHP_VALUE open_basedir=/wwwroot/:/tmp/:/proc/; Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Detailliertes Installationstutorial für die MySQL-Zip-Archivversion (5.7.19)
>>: Detaillierter Installationsprozess und Konfiguration von mysql5.7.19 zip
Inhaltsverzeichnis 1 Die allgemeinen Regeln zum E...
Jiedaibao ist eine Softwareplattform für Handykre...
1 Herunterladen Die Adresse lautet: https://dev.m...
Offizielle Hyperf-Website Hyperf offizielle Dokum...
Es gibt zwei Arten von HTML-Tags: Inline-Elemente...
1. Installieren Sie Apache $ sudo apt update &...
Vorwort 1. Die in diesem Artikel verwendeten Tool...
<br />Das Navigationsdesign stellt eine der ...
Geschäftsszenario: Der Besuchsstatus des Besucher...
Hintergrund PNG-Bilder benötigen mehr Speicherpla...
Inhaltsverzeichnis 1. Doppelte Anfragen storniere...
Ja, gespeicherte MySQL-Prozeduren scheinen sehr s...
Vorwort Ich bin bei der Arbeit auf folgende Situa...
1. Was ist ein zweispaltiges Layout? Es gibt zwei...
1. Wenn die Breite der angrenzenden schwebenden Eb...