问题
I am new to PHP, and I just wanted to run PHP in a command prompt (interactive mode).
So I typed this code:
`php -v`
`<?php`
`echo 7;`
`?>`
But I do not know how to execute it, because when I press Enter cmd expects me to continue writing the code. I searched on php.net and some other forums, but I didn't find anything. So is there a function key or something to display the result?
回答1:
Ctrl+d will trigger an end-of-file condition and cause the script to be executed.
See also How does the interactive php shell work?
Interactive Shell and Interactive Mode are not the same thing, despite the similar names and functionality.
If you type php -a and get a response of 'Interactive Shell' followed by a php> prompt, you have interactive shell available (PHP was compiled with readline support). If instead you get a response of 'Interactive mode enabled', you DO NOT have interactive shell available and this article does not apply to you.
So if you get only "Interactive mode enabled", then you'll only be able to type in PHP code and then when you're done, send PHP an EOF to execute it.
"EOF" means "end-of-file".
回答2:
If following your command with Ctrl + D isn't working, you probably don't have Interactive Shell
(which apparently gives input after each line). That requires compiling php
with special options. But if php -a
says interactive mode
, you can type directly into it and send Ctrl + Z at the end of the file.
php -a
interactive mode enabled
<?php
echo "hello there world!";
phpinfo();
?>
^Z
(Hit enter)
hello there world!
phpinfo....
There's more information in the comments in the PHP comments.
来源:https://stackoverflow.com/questions/17391811/how-to-execute-in-php-interactive-mode