Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用cron作业时,exec bash shell出现PHP错误?_Php_Linux_Bash_Shell_Cron - Fatal编程技术网

使用cron作业时,exec bash shell出现PHP错误?

使用cron作业时,exec bash shell出现PHP错误?,php,linux,bash,shell,cron,Php,Linux,Bash,Shell,Cron,我的PHP脚本存在一个严重的问题,即使用exec bash shell运行二进制文件。如果我在主机上或从shell上运行PHP脚本(如下所示),也可以: php script.php 但是,当我使用cron作业使其频繁运行时,我有一个非常大的问题,那就是PHP exec似乎无法正常运行。我由可以运行php script.php的用户运行cron 这是我的克朗: */2 * * * * php /var/www/MODIS/modisdownload.php >> /home/ras

我的PHP脚本存在一个严重的问题,即使用exec bash shell运行二进制文件。如果我在主机上或从shell上运行PHP脚本(如下所示),也可以:

php script.php
但是,当我使用cron作业使其频繁运行时,我有一个非常大的问题,那就是PHP exec似乎无法正常运行。我由可以运行
php script.php
的用户运行cron

这是我的克朗:

*/2 * * * * php /var/www/MODIS/modisdownload.php >> /home/rasdaman/testphp.txt
下面是我要执行的一个PHP脚本(注意:它似乎无法运行二进制程序来获取数据)

我如何解决这个问题?请帮忙


好的,谢谢Sal00m编辑我的问题。问题是PHP exec需要这样的二进制程序的完整路径(/usr/local/bin/gdalinfo filename input)。但是,如何仅使用gdalinfo进行修复(不需要显示完整路径)。

2选项:

*/2 * * * * php /usr/bin/php /var/www/MODIS/modisdownload.php >> /home/rasdaman/testphp.txt
(用
php5 cli
binary(完整路径)替换/usr/bin/php。)

或在脚本中添加一个:

#!/usr/bin/php
<?php
exec("/usr/bin/full/path/gdal_translate HDF4_EOS:EOS_SWATH:\"" . $fileInput . "\":mod04:Image_Optical_Depth_Land_And_Ocean " . $folderPath . "temp.tif");
#/usr/bin/php

这可能是路径问题,您确定
gdal\u translate
$path
中吗?您的cli php是否可以访问必要的库?具体发生了什么或没有发生什么?考虑脚本可能是一个完全不同的用户,具有不同的权限和不同的环境配置,如Cron。A@ @ DeCeZe说,您可能是作为一个不同的用户运行的错误输出到TXT文件可能会发现,感谢SAL000 M编辑我的问题。问题是PHP exec需要这样的二进制程序的完整路径(/usr/local/bin/gdalinfo filename input)。但是,我如何只使用gdalinfo(不需要显示完整路径)进行修复呢。
#!/usr/bin/php
<?php
exec("/usr/bin/full/path/gdal_translate HDF4_EOS:EOS_SWATH:\"" . $fileInput . "\":mod04:Image_Optical_Depth_Land_And_Ocean " . $folderPath . "temp.tif");