在浏览器上通过php运行python脚本


Run python script through php on browser

我有一个简单的python脚本。

anubhaw.py

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# enable debugging
import cgitb
import pandas
cgitb.enable()
#print "Content-Type: text/plain;charset=utf-8"
print "Hello World! Trying !!"

我正在尝试使用SO上提到的此方法运行它。

内容如下:

<?php 
$command = escapeshellcmd('/home/iamaoxdo/public_html/cgi-bin/anubhaw.py');
$output = shell_exec($command);
echo $output;
//echo file_get_contents("/home/iamaoxdo/public_html/cgi-bin/test2.py");
?>

当我尝试在终端(腻子)上运行它时,正在获得输出,即

iamaoxdo@iamanubhaw.com [~/public_html]# php -f python_php.php
Hello World! Trying !!
iamaoxdo@iamanubhaw.com [~/public_html]#

但是当我尝试在网络浏览器 (Chrome) 中运行时,它只会给我一个空白屏幕。

附言如果我删除import pandas,则输出为"Hello World!正在尝试!!"但是一旦添加了import pandas,它就会向我显示空白页。

我需要熊猫,因为我的原始脚本需要这个模块。为此,我还从namecheap购买了VPS,因为python无法在共享服务器上正常运行。

欢迎任何想法。谢谢。

我遇到了"导入熊猫"甚至"导入openpyxl"的似乎问题。尝试后 - 除了并打印异常信息,结果发现 matplotlib 的一个文件阻止了 Webuser 的读取。使用 pip3 重新安装 matplotlib 解决了我的问题。