Я хотел бы иметь возможность запускать строку кода 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.
Я написал этот script (который я назвал run_php.php) - который работает, но я не являюсь его большим поклонником только потому, что чувствую, что должен быть более "правильный" способ сделать это.
#!/usr/bin/php5 -q
<?php echo eval($argv[1]); ?>
Мой вопрос: есть ли опция -r? Если да, то почему он недоступен, когда я запускаю --help? Если нет опции -r, что это лучший способ сделать это (не записывая посредника script, если это возможно)?
Спасибо!
=== РЕДАКТИРОВАТЬ ===
Поскольку я не думаю, что это было очень ясно выше, опция -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 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 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>.
Существует опция NO -r. Когда я пытаюсь использовать параметр -r, я получаю:
Error in argument 1, char 2: option not found r
Извините за путаницу.