我希望对PHP和web服务器有更多了解的人可以帮助我。我有一个HTML页面,它接受并上传zip文件,然后以表单操作的形式调用PHP页面。然后,PHP调用我的apachecgi-bin中的两个python脚本。第一个python脚本运行时没有问题,只需将上传的文件解压缩到一个子目录中。第二个python脚本包含对命令行工具的子进程调用,以对解压缩的文件执行某些操作。但是,我发现在PHP中使用exec()作为子进程的第二个python脚本不起作用。如果我从命令行运行python脚本,它可以正常工作。但是,如果我从PHP exec函数调用它,它什么也不做。在
PHP代码片段:$tmp1 = exec("C:\\ms4w\\Python\\python C:\\ms4w\\Apache\\cgi-bin\\unzip_shp.py $without_extension");
echo $tmp1;
echo "
";
$tmp2 = exec("C:\\ms4w\\Python\\python C:\\ms4w\\Apache\\cgi-bin\\convert_to_geojson.py $without_extension", $output);
echo $output
python的片段:
^{pr2}$
python中的print命令将以下内容返回给PHP:C:\ms4w\tools\gdal-ogr\ogr2ogr.exe -f "GeoJSON" C:\ms4w\Apache\htdocs\uploads\parks_escambia.geojson C:\ms4w\Apache\htdocs\uploads\parks_escambia.shp
另外,我在windows操作系统上作为本地主机开发服务器运行这一切。使用Python2.7版。如有任何提示,我们将不胜感激。在
谢谢,德里克