Heim >Backend-Entwicklung >PHP-Tutorial >Kann ich PHP-Skripte über die Befehlszeile ausführen, jedoch nicht über den Browser?

Kann ich PHP-Skripte über die Befehlszeile ausführen, jedoch nicht über den Browser?

angryTom
angryTomnach vorne
2019-10-15 10:41:582156Durchsuche

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:huanghantao.github.io. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen