我正在尝试执行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
在Linux系统中使用命令行执行'echo "830404.55 810145.46" | cs2cs +init=epsg:2326 +to +init=epsg:4326 -f %.10f'
时没关系。
使用命令执行'/var/www/html/et/test.sh'
时可以
Linux系统中的一行。
知道为什么会这样吗?我不确定 PHP 或 cs2cs 是否有问题。我认为它可能是由cs2cs引起的,不能由apache用户帐号执行。如果是这样的话,怎么解决呢?感谢。
答案 0 :(得分:1)
如果我使用cs2cs的完整路径,它可以工作:
$r = system('echo "830404.55 810145.46" | /usr/bin/cs2cs +init=epsg:2326 +to +init=epsg:4326 -f %.10f', $result);