Der PHP-Vollsatz-Zeilenmodus, nämlich php-cli, wird in der offiziellen Dokumentation als CLI SAPI (Server Application Programming Interface, Server Application Programming Port) bezeichnet. Es klingt kompliziert. Tatsächlich leitet sich dieser Name von der Tatsache ab, dass PHP ursprünglich eine serverseitige Skriptsprache war.
Unterschiede zum Servermodus
Der Servermodus verfügt hauptsächlich über zwei Arbeitsmodi: als Webservermodus oder als ausführbares CGI-Programm. als Modul in Apache (z. B. php5apache2.dll); letzteres als ausführbares Programm, z. B. php-cig. Der aktuelle Ersatz ist php-fpm (FastCGI Process Manager). fpm-Konfiguration. Legen Sie auf dem Server eine Skriptdatei mit dem Inhalt ab:
<?php phpinfo(); ?>
Ausgabe:
... Server API FPM/FastCGI Virtual Directory Support disabled Configuration File (php.ini) Path /etc/php7 Loaded Configuration File /etc/php7/php.ini Scan this dir for additional .ini files /etc/php7/conf.d ...
Anweisungen: Die Konfigurationsdatei ist /etc/php7/php.ini's /etc/php7/conf.d
Sehen Sie sich die CLI-Modus-Konfigurationsdatei noch einmal an. Führen Sie
php -r "phpinfo();"
-r aus, was bedeutet, dass der vollständige Satz ausgeführt wird:
... Server API => Command Line Interface Virtual Directory Support => disabled Configuration File (php.ini) Path => /etc/php/7.0/cli Loaded Configuration File => /etc/php/7.0/cli/php.ini Scan this dir for additional .ini files => /etc/php/7.0/cli/conf.d Additional .ini files parsed => /etc/php/7.0/cli/conf.d/10-opcache.ini, ...
Der Pfad der Konfigurationsdatei lautet: / etc/php/7.0 /cli/php.ini und php-fpm sind unterschiedlich.
Ich höre oft Leute sagen, dass PHP nur als temporäres Serverskript und nicht für langfristige Arbeiten verwendet werden kann und dass die Sicherheitskonfiguration Auswirkungen auf die Befehlszeile usw. hat. Das ist offensichtlich falsch.
Andere UnterschiedeDer CLI-Modus definiert drei Konstanten STDIN, STDOUT, STDERR, wie zum Beispiel: $stderr = fopen('php://stderr', ' w' );
CLI SAPI ändert das aktuelle Verzeichnis nicht in das Verzeichnis, in dem sich das Ausführungsskript befindet.
php als Shell-Skripthat Es gibt zwei Methoden, um das PHP-Skript als Shell-Skript zu verwenden, z. B. Skript:
hello.php<?php echo "hello world!"; var_dump($argv); ?>
~php hello.php -s 'me' hello world array(3) { [0]=> string(9) "hello.php" [1]=> string(2) "-s" [2]=> string(2) "me" }
Methode 2, fügen Sie <🎜 hinzu > zum PHP-Datei-Header
#!/usr/bin/php
und ./hello.php ausführen
hello world array(1) { [0]=> string(11) "./hello.php" }
Verwandte Empfehlungen:
PHP-Video-Tutorial :https://www.php.cn/course/list/29/type/2.html
Das obige ist der detaillierte Inhalt vonEinführung in den PHP-Befehlszeilenmodus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!