Я хотел бы иметь возможность запускать строку PHP-кода в командной строке подобно тому, как работают следующие параметры:
:~> perl -e "print 'hi';"
:~> python -c "print 'hi'"
:~> ruby -e "puts 'hi'"
Я бы хотел иметь возможность:
:~> php "echo 'hi';"
Я читал, что есть опция -r, которая может делать то, что мне нужно для php, однако она не доступна, когда я пытаюсь ее использовать. Я пытался использовать PHP 5.2.13 и PHP 4.4.9, и ни у одного из них не доступна опция -r.
Я написал этот скрипт (который я назвал run_php.php) - который работает, но я не большой поклонник этого только потому, что я чувствую, что должен быть более "правильный" способ сделать это.
#!/usr/bin/php5 -q
<?php echo eval($argv[1]); ?>
Мой вопрос: есть ли опция -r? Если так, почему он недоступен, когда я запускаю --help? Если нет опции -r, каков наилучший способ сделать это (без написания промежуточного скрипта, если это возможно)?
Спасибо!
=== РЕДАКТИРОВАТЬ ===
Поскольку я не думаю, что это было очень ясно выше, опция -r НЕ доступна для меня. Вот вывод php -h для обеих версий PHP, которые я использую.
PHP 4.4.9
Usage: php [-q] [-h] [-s] [-v] [-i] [-f <file>]
php <file> [args...]
-a Run interactively
-C Do not chdir to the script's directory
-c <path>|<file> Look for php.ini file in this directory
-n No php.ini file will be used
-d foo[=bar] Define INI entry foo with value 'bar'
-e Generate extended information for debugger/profiler
-f <file> Parse <file>. Implies `-q'
-h This help
-i PHP information
-l Syntax check only (lint)
-m Show compiled in modules
-q Quiet-mode. Suppress HTTP Header output.
-s Display colour syntax highlighted source.
-v Version number
-w Display source with stripped comments and whitespace.
-z <file> Load Zend extension <file>.
php 5.2.13
Usage: php [-q] [-h] [-s] [-v] [-i] [-f <file>]
php <file> [args...]
-a Run interactively
-C Do not chdir to the script's directory
-c <path>|<file> Look for php.ini file in this directory
-n No php.ini file will be used
-d foo[=bar] Define INI entry foo with value 'bar'
-e Generate extended information for debugger/profiler
-f <file> Parse <file>. Implies `-q'
-h This help
-i PHP information
-l Syntax check only (lint)
-m Show compiled in modules
-q Quiet-mode. Suppress HTTP Header output.
-s Display colour syntax highlighted source.
-v Version number
-w Display source with stripped comments and whitespace.
-z <file> Load Zend extension <file>.
НЕТ опции -r. Когда я пытаюсь использовать опцию -r, я получаю:
Error in argument 1, char 2: option not found r
Извините за путаницу.