Note that there are some explanatory texts on larger screens.

plurals
  1. POexecute a string of PHP code on the command line
    primarykey
    data
    text
    <p>I'd like to be able to run a line of PHP code on the command line similar to how the following options work:</p> <pre><code>:~&gt; perl -e "print 'hi';" :~&gt; python -c "print 'hi'" :~&gt; ruby -e "puts 'hi'" </code></pre> <p>I'd like to be able to do:</p> <pre><code>:~&gt; php "echo 'hi';" </code></pre> <p>I've read that there is a -r option that can do what I need for php, however it doesn't appear to be available when I try to use it. I've tried using PHP 5.2.13 and PHP 4.4.9 and neither have an -r option available.</p> <p>I wrote this script (that I called run_php.php) - which works, but I'm not a huge fan of it just because I feel like there should be a more "correct" way to do it.</p> <pre><code>#!/usr/bin/php5 -q &lt;?php echo eval($argv[1]); ?&gt; </code></pre> <p>My question is: is there a -r option? If so, why is it not available when I run --help? If there is no -r option, what is the best way to do this (without writing an intermediary script if possible)?</p> <p>Thanks!</p> <p>=== EDIT ===</p> <p>Because I don't think it was very clear above, the -r option is NOT available to me. Here is the php -h output for both versions of PHP that I'm running.</p> <p>PHP 4.4.9</p> <pre><code>Usage: php [-q] [-h] [-s] [-v] [-i] [-f &lt;file&gt;] php &lt;file&gt; [args...] -a Run interactively -C Do not chdir to the script's directory -c &lt;path&gt;|&lt;file&gt; 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 &lt;file&gt; Parse &lt;file&gt;. 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 &lt;file&gt; Load Zend extension &lt;file&gt;. </code></pre> <p>php 5.2.13</p> <pre><code>Usage: php [-q] [-h] [-s] [-v] [-i] [-f &lt;file&gt;] php &lt;file&gt; [args...] -a Run interactively -C Do not chdir to the script's directory -c &lt;path&gt;|&lt;file&gt; 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 &lt;file&gt; Parse &lt;file&gt;. 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 &lt;file&gt; Load Zend extension &lt;file&gt;. </code></pre> <p>There is NO -r option. When I try to use the -r option I get:</p> <pre><code>Error in argument 1, char 2: option not found r </code></pre> <p>Sorry for the confusion.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload