0

cs2cs コマンドを実行してデータ形式を変換しようとしています。ただし、常にエラーコード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系でコマンドラインで実行するとOKです。

  2. '/var/www/html/et/test.sh'Linux系でコマンドラインで実行するとOKです。

なぜそれが起こるのか考えていますか?PHPまたはcs2csに問題があるかどうかはわかりません。cs2csがApacheユーザーアカウントで実行できないことが原因であると思われます。その場合、どのように解決しますか?ありがとう。

4

1 に答える 1

2

cs2cs のフル パスを使用すると機能します。

$r = system('echo "830404.55 810145.46" | /usr/bin/cs2cs +init=epsg:2326 +to +init=epsg:4326 -f %.10f', $result);
于 2013-02-06T09:35:48.220 に答える