PHP中的执行命令返回错误代码127

时间:2013-02-04 08:58:43

标签: php system execute

我正在尝试执行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. 在Linux系统中使用命令行执行'echo "830404.55 810145.46" | cs2cs +init=epsg:2326 +to +init=epsg:4326 -f %.10f'时没关系。

  2. 使用命令执行'/var/www/html/et/test.sh'时可以 Linux系统中的一行。

  3. 知道为什么会这样吗?我不确定 PHP cs2cs 是否有问题。我认为它可能是由cs2cs引起的,不能由apache用户帐号执行。如果是这样的话,怎么解决呢?感谢。

1 个答案:

答案 0 :(得分:1)

如果我使用cs2cs的完整路径,它可以工作:

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