在 linux bash 中运行 php 脚本(php 函数)

Posted

技术标签:

【中文标题】在 linux bash 中运行 php 脚本(php 函数)【英文标题】:Running php script (php function) in linux bash 【发布时间】:2011-07-29 19:19:34 【问题描述】:

我们如何使用 Linux bash 运行 php 脚本?

php文件test.php

test.php 包含:

<?php echo "hello\n" ?>

【问题讨论】:

除了下面的答案之外,如果您使用的是 PHP 短标签 (&lt;? … ?&gt;),请确保在 php.ini 中启用它们。 【参考方案1】:

从命令行输入:

php -f filename.php

确保 filename.php 包含并执行您要测试的函数。您回显的任何内容都会出现在控制台中,包括错误。

请注意,Apache PHP 的 php.ini 通常与 CLI PHP(命令行界面)不同。

参考:https://secure.php.net/manual/en/features.commandline.usage.php

【讨论】:

【参考方案2】:

首先检查您的 PHP 安装是否支持 CLI。类型:php -v。您可以通过 2 种方式从命令行执行 PHP:

    php yourfile.php php -r 'print("Hello world");'

【讨论】:

【参考方案3】:

有两种方法可以做到这一点。一种是已经提到的,即:

php -f filename.php

第二个选项是使脚本可执行 (chmod +x filename.php) 并将以下行添加到 .php 文件的顶部:

#!/path/to/php

我不确定网络服务器是否喜欢这样,所以如果您还想在网站中使用 .php 文件,那可能不是最好的主意。不过,如果您只是在编写某种脚本,输入./path/to/phpfile.php 比每次都输入php -f /path/to/phpfile.php 更容易。

【讨论】:

哈希爆炸方法只有在您使脚本的权限可执行时才有效 你也可以运行which php &gt; filename.php然后chmod +x filename.php然后编辑文件。 请注意,@YzmirRamirez 的评论将覆盖 filename.php 如果它存在【参考方案4】:

只需在 linux 终端中运行即可获取 phpinfo。

   php -r 'phpinfo();'

并运行 index.php 之类的文件

    php -f index.php

【讨论】:

【参考方案5】:

应该这样做:

php test.php

【讨论】:

【参考方案6】:
php -f test.php

查看manual 了解从命令行运行 PHP 的完整详细信息

【讨论】:

【参考方案7】:
php test.php

应该这样做,或者

php -f test.php

要明确。

【讨论】:

【参考方案8】:

我需要在 Bash 脚本中解码 URL。所以我决定以这种方式使用PHP:

$ cat url-decode.sh
#!/bin/bash
URL='url=https%3a%2f%2f1%2fecp%2f'
/usr/bin/php -r '$arg1 = $argv[1];echo rawurldecode($arg1);' "$URL"

样本输出:

$ ./url-decode.sh 
url=https://1/ecp/

【讨论】:

以上是关于在 linux bash 中运行 php 脚本(php 函数)的主要内容,如果未能解决你的问题,请参考以下文章

用于运行 php 脚本的 Bash 脚本

使用 PowerShell 脚本中的 WinSCP .NET 程序集在 Linux 服务器上运行 bash 脚本

使 bash 脚本在 Linux 和 Solaris 上运行

用于检查特定 php 进程是不是正在运行的 Bash 脚本?

在 Linux 和 BSD 中使用和不使用 shebang 执行 Bash 脚本

Linux - ffmpeg 3.4.6 与 4.2.1 - 带有 Tee(记录和流)的 bash 脚本在旧版本中运行得很好 - 新版本需要改变啥?