이 기사는 Bash 셸/명령줄에서 PHP를 사용하는 방법을 예제와 함께 빠르게 설명합니다.
PHP는 일반적으로 웹에서 제공할 콘텐츠를 생성하는 데 사용되지만 명령줄에서도 사용할 수 있습니다.
이것은 일반적으로 PHP 환경에 대한 정보를 테스트하거나 찾을 목적으로 수행되지만 PHP는 명령줄 스크립트를 작성하는 데도 사용할 수 있습니다(하지만 실제로 자주 수행되지는 않습니다. 아마도 더 나은 대안 ).
셸에서 직접 PHP 명령 실행
PHP 명령은 -r을 사용하여 명령줄에서 직접 실행할 수 있습니다. (실행) 옵션:
php -r 'phpinfo();'
위의 phpinfo() 함수가 호출됩니다. 여러 줄의 코드를 세미콜론으로 구분하여 전달하거나 heredoc(여러 줄 Bash 변수)를 파이프로 연결할 수 있습니다.
매개변수/인수
매개변수/인수는 $argv를 사용하여 PHP에 전달할 수 있습니다. 명령줄에서 PHP를 실행할 때 사용할 수 있는 변수입니다.
php -r 'echo $argv[1]; echo $argv[2];' "foo" "bar"
위에서 첫 번째 매개변수는 $argv[1]를 사용하여 액세스합니다. $argv[2]를 사용하는 두 번째 매개변수 .
$argv PHP가 명령줄에서 호출되는 경우에만 액세스할 수 있는 배열입니다. 배열의 첫 번째 항목은 스크립트를 실행하기 위해 호출된 PHP 실행 파일의 이름이고 배열의 다음 항목은 표시되는 순서대로 전달되는 매개변수입니다.
스크립트 파일 실행
PHP 파일은 파일 경로를 제공하여 명령줄에서 실행할 수 있습니다.
php script.php
또는
php -f script.php
-f 옵션은 필수는 아니지만 명확성을 위해 지정할 수 있습니다.
PHP 명령줄 옵션의 전체 목록은 여기에서 찾을 수 있습니다.
매개변수/인수
명령줄에서 직접 PHP를 실행할 때와 마찬가지로 매개변수는 $argv를 사용하여 액세스할 수 있습니다. 같은 방식으로 명령줄에서 스크립트를 실행할 때 배열.
명령줄에서 실행 중인지 확인
$argv 좋아요 , $argc 명령줄에서 실행할 때만 존재합니다. 여기에는 스크립트에 전달된 매개변수/인수 수가 포함됩니다.
있는 경우 명령줄에서 실행 중인 것입니다!
if (isset($argc)) { // PHP was called from the command line }
STDIN/STDOUT 및 PHP
표준 리디렉션을 사용하여 다른 명령줄 응용 프로그램과 마찬가지로 PHP에 명령을 제공하고 PHP에서 데이터를 처리할 수 있습니다.
echo 'Green trees' | php -r 'echo file_get_contents("php://stdin");'
위의 '녹색 나무'라는 텍스트는 PHP로 파이프되어 STDIN의 파일을 읽고 다시 반복합니다.