웹 스크립트를 구문 분석하는 데 사용되는 PHP 인터프리터를 사용하여 명령 줄에서 PHP 스크립트를 실행하려면 어떻게해야합니까?
설치된 phpinfo.php
웹 쇼에서 액세스 하는 파일이 있습니다 German
. 그러나 phpinfo.php
– php phpinfo.php
및 grep
for를 사용하여 명령 줄에서 실행하면 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