命令行脚本 PHP 不运行
Posted
技术标签:
【中文标题】命令行脚本 PHP 不运行【英文标题】:Command-line script PHP does not run 【发布时间】:2012-02-16 07:23:18 【问题描述】:我正在尝试构建一个 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】:您收到此错误是因为您像 ./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
【讨论】:
以上是关于命令行脚本 PHP 不运行的主要内容,如果未能解决你的问题,请参考以下文章