php 풀 세트 라인 모드, 즉 php-cli는 공식 문서: CLI SAPI(서버 애플리케이션 프로그래밍 인터페이스, 서버 애플리케이션 프로그래밍 포트)에서 호출됩니다. 꽤 복잡해 보입니다. 사실 이 이름은 php가 원래 서버측 스크립트 언어라는 사실에서 유래되었습니다.
서버 모드와의 차이점
서버 모드는 주로 웹 서버 모드 또는 CGI 실행 프로그램으로 작동합니다. 전자는 Apache의 모듈(예: php5apache2.dll)로 작동합니다. ; 후자는 php-cig와 같은 실행 가능한 프로그램입니다. 현재 대체 프로그램은 php-fpm(FastCGI 프로세스 관리자)입니다.
php-fpm 구성을 살펴보세요. 서버에 콘텐츠가 포함된 스크립트 파일을 넣으세요:
<?php phpinfo(); ?>
출력:
... 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 ...
지침: 구성 파일은 /etc/php7/php.ini의 /etc/php7/conf.d
cli 모드 구성 파일을 살펴보세요.
php -r "phpinfo();"
-r을 실행합니다. 이는 전체 세트를 실행하는 것을 의미합니다. 출력은 다음과 같습니다.
... 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, ...
구성 파일 경로는 /etc/php/7.0/cli/php.ini와 php-fpm이 다릅니다.
PHP는 임시 서버 스크립트로만 사용할 수 있고 장기적인 작업에는 사용할 수 없으며 보안 구성이 명령줄 등에 영향을 미친다는 말을 자주 듣습니다. 이는 분명히 잘못된 것입니다.
기타 차이점
cli 모드는 다음과 같은 세 가지 상수 STDIN, STDOUT, STDERR을 정의합니다. $stderr = fopen('php://stderr', 'w');
CLI SAPI는 현재 변경 사항을 변경하지 않습니다.
php를 쉘 스크립트로
php 스크립트를 스크립트와 같은 쉘 스크립트로 사용하는 방법에는 두 가지가 있습니다.
hello.php
<?php echo "hello world!"; var_dump($argv); ?>
방법 1, php 스크립트 매개변수
~php hello.php -s 'me' hello world array(3) { [0]=> string(9) "hello.php" [1]=> string(2) "-s" [2]=> string(2) "me" }
방법 2, php 파일 헤더에
#!/usr/bin/php
를 추가한 다음 chmod u+x hello.php
execute ./hello.php
hello world array(1) { [0]=> string(11) "./hello.php" }
관련 권장 사항:
PHP 비디오 튜토리얼: https: //www.php.cn /course/list/29/type/2.html
위 내용은 PHP 명령줄 모드 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!