2013-02-04 164 views
0

我想執行轉換數據格式的cs2cs命令。但它總是返回錯誤代碼127在PHP執行命令返回錯誤代碼127

這裏是代碼片段:

$r = system('echo "830404.55 810145.46" | cs2cs +init=epsg:2326 +to +init=epsg:4326 -f %.10f', $result); 
//$r = system('sh /var/www/html/et/test.sh', $result); // returns error code 127 
echo $r.'<br>'; // print nothing 
echo $result.'<br>'; // print 127 
  1. 這是確定,當我執行'echo "830404.55 810145.46" | cs2cs +init=epsg:2326 +to +init=epsg:4326 -f %.10f'與Linux系統的命令行。

  2. 當我執行'/var/www/html/et/test.sh'與Linux系統的命令行 是OK。

任何想法爲什麼會發生?我不確定這是PHPcs2cs的問題。我認爲這可能是由cs2cs引起的,不能由apache用戶帳戶執行。如果是這樣的話,該如何解決呢?謝謝。

+0

看來,你的apache用戶沒有權限來執行命令 – m4t1t0

+0

你有如何解決它的主意? –

回答

1

它的工作原理,如果我使用cs2cs的完整路徑:

$r = system('echo "830404.55 810145.46" | /usr/bin/cs2cs +init=epsg:2326 +to +init=epsg:4326 -f %.10f', $result);