[php] 명령 줄에서 PHP 스크립트 실행

웹 스크립트를 구문 분석하는 데 사용되는 PHP 인터프리터를 사용하여 명령 줄에서 PHP 스크립트를 실행하려면 어떻게해야합니까?

설치된 phpinfo.php웹 쇼에서 액세스 하는 파일이 있습니다 German. 그러나 phpinfo.phpphp phpinfo.phpgrepfor를 사용하여 명령 줄에서 실행하면 German찾을 수 없습니다. 그래서 두 PHP는 다릅니다. 나는 스크립트 실행해야 php하는 German설치됩니다.

어떻게 할 수 있습니까?



답변

최신 정보:

오해 끝에 마침내 당신이하려는 일을 얻었습니다. 서버 구성 파일을 확인해야합니다. apache2 또는 다른 서버 소프트웨어를 사용하고 있습니까?

LoadModule php…로 시작하는 행을 찾으십시오. 이름이 지정된 구성 파일 / 디렉토리 mods또는 이와 유사한 것이있을 수 있습니다. 거기에서 시작하십시오.

웹 서버에서 출력을 확인 php -r 'phpinfo();' | grep php하고 행을 비교할 수도 있습니다 phpinfo();.

php대화식으로 실행하려면 :

(따라서 콘솔에 코드를 붙여 넣거나 쓸 수 있습니다)

php -a

파일을 구문 분석하고 콘솔에 출력하려면 다음을 수행하십시오.

php -f file.php

파일을 구문 분석하고 다른 파일로 출력 :

php -f file.php > results.html

다른 것이 필요하십니까?

한 줄 또는 비슷한 작은 부분 만 실행하려면 다음을 사용할 수 있습니다.

php -r '$x = "Hello World"; echo "$x\n";'

Linux를 실행하는 경우 man php콘솔에서 수행하십시오 .

fpm을 통해 php를 실행해야하거나 실행하려면 cli fcgi를 사용하십시오.

SCRIPT_NAME="file.php" SCRIP_FILENAME="file.php" REQUEST_METHOD="GET" cgi-fcgi -bind -connect "/var/run/php-fpm/php-fpm.sock"

여기서 /var/run/php-fpm/php-fpm.sock은 php-fpm 소켓 파일입니다.


답변

SuSE에는 Apache 용과 CLI (명령 줄 인터페이스) 용의 두 가지 PHP 용 구성 파일이 있습니다. / etc / php5 / 디렉토리에서 “apache2″디렉토리와 “cli”디렉토리를 찾을 수 있습니다. 각각 “php.ini”파일이 있습니다. 파일은 동일한 목적 (php 구성)을위한 것이지만 PHP를 실행하는 두 가지 다른 방법에 적용됩니다. 이 파일은 무엇보다도 PHP가 사용하는 모듈을로드합니다.

OS가 비슷하다면이 두 파일은 같지 않을 것입니다. Apache php.ini는 아마도 gearman 모듈을로드하고 있지만 cli php.ini는 그렇지 않습니다. 모듈이 설치되었을 때 (자동 또는 수동) 아마도 Apache php.ini 파일 만 업데이트했을 것입니다.

Apache php.ini 파일을 cli 디렉토리에 복사하여 CLI 환경을 Apache 환경과 똑같이 만들 수 있습니다.

또는 Apache 파일에서 gearman 모듈을로드하는 줄을 찾아 CLI 파일에 복사 / 붙여 넣기 할 수 있습니다.


답변

Windows에서이 문제에 대한 해결책을 찾고 있었는데, vars ok 환경이 없다면 전체 디렉토리를 넣어야하는 것 같습니다. 예를 들어. PHP와 동일한 디렉토리에있는 파일 :

F:\myfolder\php\php.exe -f F:\myfolder\php\script.php


답변