Heim >Backend-Entwicklung >PHP-Tutorial >Kann ich PHP-Skripte über die Befehlszeile ausführen, jedoch nicht über den Browser?
Als ich heute Abend das YAF-Framework verwendet habe, bin ich auf ein Problem gestoßen: Ich kann die Eintragsdatei des YAF-Frameworks in der Befehlszeile ausführen, aber nicht über den Browser?
Dieses Problem beschäftigte mich die ganze Nacht, ein Gruppenfreund half mir langsam, es zu analysieren.
Der Grund ist: Mein FPM verwendet yaf.so nicht, aber die CLI verwendet yaf.so.
Warum passiert das? Da es sich bei der Befehlszeile und PHP-FPM um zwei verschiedene SAPIs handelt, können sie php.ini-Dateien in unterschiedlichen Pfaden laden.
Und übergeben Sie: PHP PHP-Dateiname
Auf diese Weise wird die CLI-SAPI verwendet.
Pass: http://localhost/index.php
Diese Methode verwendet die SAPI von FPM.
Wie überprüfen wir also, welche Erweiterungen im CLI-Modus hinzugefügt wurden? Verwenden Sie:
php -m
und verwenden Sie die folgende Funktion im PHP-Skript:
<?php phpinfo();
, um zu sehen, welche Erweiterungen von PHP-FPM hinzugefügt wurden.
Der Hauptgrund, warum ich den Fehler gesetzt habe, ist, dass ich immer dachte, dass CLI und FPM dieselbe php.ini-Datei verwenden müssen. Dies ist jedoch nicht unbedingt der Fall Kompilieren des PHP-Quellcodes.
emmm, ich hoffe, es kann allen helfen.
Grundlagen sind wirklich wichtig...
Happy End...
Weitere PHP-Kenntnisse finden Sie auf der PHP-Chinese-Website!
Das obige ist der detaillierte Inhalt vonKann ich PHP-Skripte über die Befehlszeile ausführen, jedoch nicht über den Browser?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!