Computer >> 컴퓨터 >  >> 프로그램 작성 >> BASH 프로그래밍

명령줄에서 PHP를 실행하는 방법(Bash/Shell)

이 기사는 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의 파일을 읽고 다시 반복합니다.