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
Ich habe gehört, dass es eine Interviewfrage gibt...
Null, Hintergrund Ich habe diesen Donnerstag viel...
Inhaltsverzeichnis 1. Ereignisablauf 1. Konzept 2...
Inhaltsverzeichnis 1. Vorbereitung 2. Befehlszeil...
Vorwort: In diesem Artikel werden nur die Schritt...
Wir alle wissen, dass die Leistung von Anwendunge...
Überblick Eine der leistungsstärksten Funktionen ...
Ich habe vor Kurzem VMware Horizon bereitgestellt...
Um die Fähigkeit zum Schreiben von nativem JavaSc...
Inhaltsverzeichnis 1. Betreiber 1.1 Arithmetische...
1. Schrifteigenschaften Farbe, gibt die Farbe des...
Hinweis 1: Lösen Sie das Problem der langsamen Ve...
Vorwort Die Verwendung von CSS zum Generieren gep...
Inhaltsverzeichnis Funktionseinführung Rendern 1....
In letzter Zeit verwendet das Projekt Kubernetes ...