2012-01-22 265 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