2012-01-22 217 views
13

我正在尝试构建一个php脚本来手动处理数据,以便稍后将其转换为cronjob。这个脚本也从mysql和第三方soap中获取数据。当我尝试从命令行运行它时,出现错误,脚本无法运行。命令行脚本php不运行

它表明:

./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); 

我知道这个脚本工作,有什么不好?

回答

18

你得到这个错误,因为你执行这个脚本,如./script.php。为了确保PHP脚本理解并正确运行,您必须在脚本的顶部包含这个#!/usr/bin/php

例子:

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

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

另一个替代的方法是

php /path/to/script.php