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


Execute command in PHP returns error code 127

我正在尝试执行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 系统中。

知道为什么会这样吗?我不确定这是PHPcs2cs的问题。我认为可能是由 cs2cs 引起的,无法由 apache 用户帐户执行。如果是这样,如何解决?谢谢。

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

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