2 ответов:
если вы собираетесь делать PHP в командной строке, я рекомендую вам установить phpsh, приличная PHP оболочка. это гораздо веселее.
в любом случае, команда php предлагает два переключателя для выполнения кода из командной строки:
-r <code> Run PHP <code> without using script tags <?..?> -R <code> Run PHP <code> for every input lineвы можете использовать php -Р такие как:
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, сделанная facebook, чтобы получить завершение вкладки, историю и т. д., потом использовать-как такое:
>>> php -a Interactive shell php > echo function_exists("foo") ? "yes" : "no"; no php >если это не работает на вашей коробке, как на моей коробка* es* (проверен на Ubuntu и Arch), то вероятно, ваша настройка PHP нечеткая или сломанная. Если вы запустите эту команду:
php -i | grep 'API'вы должны посмотреть:
Server API => Command Line Interfaceесли ты этого не сделаешь, это означает, что возможно, другая команда будет предоставлять CLI SAPI. Попробуйте php-cli, возможно, это пакет или команда, доступная в вашей ОС.
если у вас видим, что ваша команда php использует CLI (интерфейс командной строки) SAPI (API сервера), затем запустите
php -h | grep codeдо узнайте, какой сумасшедший переключатель-так как это не изменилось за год- позволяет запускать код в вашей версии/настроек.еще пару примеров, просто чтобы убедиться, что он работает на моих коробок:
>>> php -r 'echo function_exists("sg_load") ? "yes" : "no";' no >>> php -r 'echo function_exists("print_r") ? "yes" : "no";' yesкроме того, обратите внимание, что возможно, что расширение загружается в CLI, а не в CGI или Apache SAPI. вполне вероятно, что несколько PHP SAPI используют разные РНР.ini-файлы, например,
/etc/php/cli/php.inivs/etc/php/cgi/php.inivs/etc/php/apache/php.iniна коробке Gentoo. Узнайте, какой ini-файл используется сphp -i | grep ini.
в командной строке:
php -i | grep sourceguardianЕсли это есть, то вы получите какой-то текст. Если нет, то вы ничего не получите.
Comments