命令行脚本 PHP 无法运行

13

我正在尝试构建一个PHP脚本,手动处理数据以后转换为cronjob。此脚本还从MySQL和第三方SOAP接口获取数据。当我尝试从命令行运行它时,出现了一个错误,脚本无法运行。

显示如下:

./test.php: line 1: ?php: No such file or directory
Enter a number:
./test.php: line 5: syntax error near unexpected token `('
./test.php: line 5: `$line = trim(fgets(STDIN));'

这是我的脚本:

echo 'Enter a number: ';
$line = trim(fgets(STDIN));
var_dump($line);

我知道这个脚本是可以工作的。有什么问题吗?

1个回答

18

您会收到此错误是因为您像这样执行了脚本:./script.php。为了确保PHP脚本能够正确理解和运行,您必须在脚本顶部包含#!/usr/bin/php

示例:

#!/usr/bin/php
<?php
echo 'Enter a number:';
$line = trim(fgets(STDIN));
var_dump($line);

如果PHP已安装在/usr/bin文件夹中。如果没有,则可以使用locate php命令验证,然后使用正确的路径。

或者另一种选择是

php /path/to/script.php

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接