如何从终端执行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 流的声音数据块而不将它们写入文件?

如何从移动版本中删除滑块而不是隐藏它?

将php代码保存到文件中而不解释它

在文件中间插入一个字节块而不重写所有内容?

如何在flutter中使用一个配置文件运行多个测试文件而不发出长终端命令?

如何使用标头php下载zip文件而不将其保存在服务器上