if(function_exists("my_func")) echo 'function exists';
별도의 PHP 파일을 사용하지 않고도 명령 줄을 사용하여 직접 단일 PHP 문을 실행하고 싶습니다 .
그게 어떻게 가능해 ?
if(function_exists("my_func")) echo 'function exists';
별도의 PHP 파일을 사용하지 않고도 명령 줄을 사용하여 직접 단일 PHP 문을 실행하고 싶습니다 .
그게 어떻게 가능해 ?
답변:
커맨드 라인에서 PHP를 사용하려면 괜찮은 PHP 쉘인 phpsh 를 설치하는 것이 좋습니다 . 훨씬 더 재미있다.
어쨌든 php 명령은 명령 행에서 코드를 실행하기위한 두 개의 스위치를 제공합니다 .
-r <code> Run PHP <code> without using script tags <?..?>
-R <code> Run PHP <code> for every input line
PHP의 -r 스위치 를 다음과 같이 사용할 수 있습니다 .
php -r 'echo function_exists("foo") ? "yes" : "no";'
위의 PHP 명령은 다음 과 같이 출력 no
되고 반환 0
됩니다.
>>> php -r 'echo function_exists("foo") ? "yes" : "no";'
no
>>> echo $? # print the return value of the previous command
0
또 다른 재미있는 스위치는 php -a입니다 .
-a Run as interactive shell
그것은의 종류에 비해 절름발이의 phpsh 하지만 설치하지 않을 경우 얻을 페이스 북에 의해 만들어진 PHP의 멋진 대화 형 쉘을 탭 완성, 역사, 등 , 다음 과 같은 -a를 사용합니다 :
>>> php -a
Interactive shell
php > echo function_exists("foo") ? "yes" : "no";
no
php >
내 상자 * es * ( 우분투 및 아치에서 테스트 됨)와 같이 상자에서 작동하지 않으면 PHP 설정이 흐리거나 깨졌을 수 있습니다. 이 명령을 실행하면 :
php -i | grep 'API'
당신 은 볼 수 있습니다 :
Server API => Command Line Interface
그렇지 않으면 ,이 방법은 어쩌면 또 다른 명령은 CLI의 SAPI를 제공합니다 . php-cli를 사용해보십시오. 아마도 OS에서 사용할 수있는 패키지 또는 명령 일 수 있습니다.
당신이 경우에 당신의 PHP 명령은 CLI (명령 줄 인터페이스) SAPI (서버 API)를 사용하고 있음을 알 다음 실행 php -h | grep code
을 하는 미친 스위치를 찾아 - year-가이 변경되지 않았으로 버전 / 설정에서 코드를 실행할 수 있습니다.
내 상자에서 작동하는지 확인하기위한 또 다른 몇 가지 예 :
>>> php -r 'echo function_exists("sg_load") ? "yes" : "no";'
no
>>> php -r 'echo function_exists("print_r") ? "yes" : "no";'
yes
또한 확장이 CGI 또는 Apache SAPI가 아닌 CLI에로드 될 수 있습니다. 몇몇 PHP SAPI는 다른 php.ini 파일을 사용할 것입니다 ( 예 : 젠투 박스 /etc/php/cli/php.ini
와 /etc/php/cgi/php.ini
비교) /etc/php/apache/php.ini
. 와 함께 사용되는 ini 파일을 찾으십시오 php -i | grep ini
.
명령 행에서 :
php -i | grep sourceguardian
그것이 있다면, 당신은 약간의 텍스트를 얻을 것입니다. 그렇지 않으면 아무것도 얻지 못할 것입니다.
.php
파일 로 저장하지 않고 명령 줄에서 직접 PHP 코드를 실행하는 방법 "과 같은 질문에 어떻게 대답 합니까?
당신이 사용할 수있는 :
echo '<?php if(function_exists("my_func")) echo "function exists"; ' | php
짧은 태그 " <? = "도 도움이 될 수 있습니다.
echo '<?= function_exists("foo") ? "yes" : "no";' | php
echo '<?= 8+7+9 ;' | php
닫는 태그 "?>"는 선택 사항이지만 마지막 ";"을 잊지 마십시오. !
php -r
하면 것은 PHP 태그를 열기에 대해 걱정할 필요가 없습니다.
사용 " 대신에 ' -r과 CLI 버전을 사용하는 경우 창에를
php -r "echo 1"
-맞다
php -r 'echo 1'
-부정확
PHP Parse error: syntax error, unexpected ''echo' (T_ENCAPSED_AND_WHITESPACE), expecting end of file in Command line code on line 1