【发布时间】:2011-07-29 19:19:34
【问题描述】:
我们如何使用 Linux bash 运行 php 脚本?
php文件test.php
test.php 包含:
<?php echo "hello\n" ?>
【问题讨论】:
-
除了下面的答案之外,如果您使用的是 PHP 短标签 (
<? … ?>),请确保在php.ini中启用它们。
我们如何使用 Linux bash 运行 php 脚本?
php文件test.php
test.php 包含:
<?php echo "hello\n" ?>
【问题讨论】:
<? … ?>),请确保在 php.ini 中启用它们。
从命令行输入:
php -f filename.php
确保 filename.php 包含并执行您要测试的函数。您回显的任何内容都会出现在控制台中,包括错误。
请注意,Apache PHP 的 php.ini 通常与 CLI PHP(命令行界面)不同。
参考:https://secure.php.net/manual/en/features.commandline.usage.php
【讨论】:
首先检查您的 PHP 安装是否支持 CLI。类型:php -v。您可以通过 2 种方式从命令行执行 PHP:
php yourfile.phpphp -r 'print("Hello world");'【讨论】:
有两种方法可以做到这一点。一种是已经提到的,即:
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然后编辑文件。
只需在 linux 终端中运行即可获取 phpinfo。
php -r 'phpinfo();'
并运行 index.php 之类的文件
php -f index.php
【讨论】:
应该这样做:
php test.php
【讨论】:
php -f test.php
查看manual 了解从命令行运行 PHP 的完整详细信息
【讨论】:
php test.php
应该这样做,或者
php -f test.php
要明确。
【讨论】:
我需要在 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/
【讨论】: