在 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 短标签 (<? … ?>
),请确保在 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 > 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 函数)的主要内容,如果未能解决你的问题,请参考以下文章
使用 PowerShell 脚本中的 WinSCP .NET 程序集在 Linux 服务器上运行 bash 脚本
使 bash 脚本在 Linux 和 Solaris 上运行
用于检查特定 php 进程是不是正在运行的 Bash 脚本?
在 Linux 和 BSD 中使用和不使用 shebang 执行 Bash 脚本
Linux - ffmpeg 3.4.6 与 4.2.1 - 带有 Tee(记录和流)的 bash 脚本在旧版本中运行得很好 - 新版本需要改变啥?