Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.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
从PHP执行Python脚本_Php_Android_Python_Linux_Exec - Fatal编程技术网

从PHP执行Python脚本

从PHP执行Python脚本,php,android,python,linux,exec,Php,Android,Python,Linux,Exec,我正在制作一个android应用程序,首先将图像上传到服务器,在服务器端,我想从PHP执行一个Python脚本。但我没有得到任何输出。当我从命令提示符访问Python脚本并运行Python TestCode.py时,它会成功运行并给出所需的输出。我使用以下命令从PHP运行Python脚本: $result=exec('/usr/bin/python/var/www/html/Source/TestCode.py') echo$result 但是,如果我从PHP运行一个简单的Python程序,它就

我正在制作一个android应用程序,首先将图像上传到服务器,在服务器端,我想从PHP执行一个Python脚本。但我没有得到任何输出。当我从命令提示符访问Python脚本并运行
Python TestCode.py
时,它会成功运行并给出所需的输出。我使用以下命令从PHP运行Python脚本:

$result=exec('/usr/bin/python/var/www/html/Source/TestCode.py')

echo$result

但是,如果我从PHP运行一个简单的Python程序,它就可以工作

PHP拥有访问和执行该文件的权限

这里有我遗漏的东西吗

exec('/usr/bin/python /var/www/html/Source/TestCode.py', $output);

var_dump($output);
的第二个参数将给出输出

编辑:

exec('/usr/bin/python /var/www/html/Source/TestCode.py 2>&1', $output);
2>&1
-将
stderr
重定向到
stdout
。现在,如果出现任何错误,将填充
$output

的第二个参数将给出输出

编辑:

exec('/usr/bin/python /var/www/html/Source/TestCode.py 2>&1', $output);
2>&1
-将
stderr
重定向到
stdout
。现在,如果出现任何错误,将填充
$output

  • 首先使用“whichpython”命令检查python路径,检查结果为/usr/bin/python

  • 如果您已经编写了#,请检查您的“TestCode.py”/usr/bin/sh,而不是将其替换为#/usr/bin/bash

  • 然后运行这些命令 exec('/usr/bin/python/var/www/html/Source/TestCode.py',$result); echo$结果

  • 首先使用“whichpython”命令检查python路径,检查结果为/usr/bin/python

  • 如果您已经编写了#,请检查您的“TestCode.py”/usr/bin/sh,而不是将其替换为#/usr/bin/bash

  • 然后运行这些命令 exec('/usr/bin/python/var/www/html/Source/TestCode.py',$result); echo$结果


  • exec不会自行打印,它将返回最后一行输出,或者将所有输出行放入第二个参数(如果提供),正如手册页面所告诉您的那样;o/I修改了它,但问题仍然存在。有什么建议吗?你知道stderr和stdout的区别吗?因为exec——据我所知——只处理stdout。如果您的testcode.py只生成stderr输出,您将什么也看不到。exec不会自行打印,它将返回最后一行输出,或者将所有输出行放入第二个参数(如果提供),就像手册页面所告诉您的那样;o/I修改了它,但问题仍然存在。有什么建议吗?你知道stderr和stdout的区别吗?因为exec——据我所知——只处理stdout。如果您的testcode.py只生成stderr输出,您将什么也看不到。我收到了输出
    array(0){}
    ,这意味着我的数组是空的,但当我运行python脚本时,它会给我输出。我收到了输出
    array(0){}
    ,这意味着我的数组是空的,但当我运行python脚本时,它会给我输出。我没有得到任何输出。好的,发送你的TestCode.py文件,然后让我尽力。我没有得到任何输出。好的,发送你的TestCode.py文件,然后让我尽力。