如何从终端执行php块而不保存到文件
Posted
技术标签:
【中文标题】如何从终端执行php块而不保存到文件【英文标题】:How to execute php block from terminal without saving to a file 【发布时间】:2011-12-01 23:08:48 【问题描述】:假设我有一段代码我想像这样测试:
<?php
Print "Hello, World!";
?>
如何从终端快速运行此代码而不将其保存到文件中?
我尝试过类似...
php -r "Print "Hello, World!";"
但刚刚收到有关语法错误的投诉。必须有一种简单的方法来做到这一点。我只是还没有找到任何解释。
【问题讨论】:
【参考方案1】:要在终端上立即运行 PHP 命令,您可以将 -a
选项传递给已安装的 PHP:
php -a
详情:
php -a
打开一个交互式 shell,让您可以直接输入 PHP 命令并在终端上查看结果,例如,在终端中输入 php -a
后,您可以输入 echo 'Hello World';
,然后按 Enter 后 Hello World!
将打印在屏幕上。
Windows 解决方案
在 Windows 上没有与 Linux 相同的交互模式,但您仍然可以使用类似交互的模式!因此,请在您安装它的地方打开 PHP,例如,如果您使用 XAMPP,那么您的 PHP 应该是 C:\xampp\php
(或将二进制目录添加到环境变量中)然后输入php -a
,在每行的末尾您可以通过按Ctrl+Z
然后按Enter
查看结果。
php -a
echo 'hello world!';
^Z
【讨论】:
最好使用小写形式:php -a
,这样您就可以在所有操作系统中运行该命令。
如果它解释了 PHP -a
的实际作用,这可能是一个更好的答案
@Damon tnx Damon,我添加了一些细节。【参考方案2】:
转义用于分隔字符串的内部双引号 ("
)。
php -r "Print \"Hello, World!\";"
或者,对 PHP 字符串或 PHP 代码使用单引号 ('
)。
如果您运行php --help
,您可以看到php
程序接受的命令列表。
-a Run as interactive shell
-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 and execute <file>.
-h This help
-i PHP information
-l Syntax check only (lint)
-m Show compiled in modules
-r <code> Run PHP <code> without using script tags <?..?>
-B <begin_code> Run PHP <begin_code> before processing input lines
-R <code> Run PHP <code> for every input line
-F <file> Parse and execute <file> for every input line
-E <end_code> Run PHP <end_code> after processing all input lines
-H Hide any passed arguments from external tools.
-S <addr>:<port> Run with built-in web server.
-t <docroot> Specify document root <docroot> for built-in web server.
-s Output html syntax highlighted source.
-v Version number
-w Output source with stripped comments and whitespace.
-z <file> Load Zend extension <file>.
args... Arguments passed to script. Use -- args when first argument
starts with - or script is read from stdin
--ini Show configuration file names
--rf <name> Show information about function <name>.
--rc <name> Show information about class <name>.
--re <name> Show information about extension <name>.
--rz <name> Show information about Zend extension <name>.
--ri <name> Show configuration for extension <name>.
【讨论】:
以上是关于如何从终端执行php块而不保存到文件的主要内容,如果未能解决你的问题,请参考以下文章
如何处理来自 WASAPI 流的声音数据块而不将它们写入文件?