从PHP调用Python脚本不起作用

时间:2018-10-09 06:16:30

标签: php python python-2.7 ubuntu-16.04 lighttpd

我正在用PHP创建一个网页,如果按下按钮,PHP脚本将使用shell_exec()命令执行一个python脚本。 python脚本使用fpdf python库创建pdf文件。当我从命令外壳运行相同命令时,它可以正常运行,但是当我尝试从PHP运行python脚本时,它什么也没给我。这是PHP代码:

<!doctype html>
<?php
$command = escapeshellcmd('/home/amogh/server/test.py');
$output = shell_exec($command);
echo $output;
?>

Python脚本:

#! /usr/bin/python
#print ('hello')
from fpdf import FPDF
fp =  open('downloads/boot.txt', 'r')
pdf = FPDF()
pdf.add_page()
pdf.set_font('Arial', '', 11)
line = fp.read() 
pdf.multi_cell(200, 5, line, 0, 1)
pdf.output('test.pdf', 'F')

此外,我正在使用lighttpd服务器。谁能告诉我我要去哪里错了?

1 个答案:

答案 0 :(得分:1)

我想工作目录是错误的,并且您的脚本无法访问所需的文件。

您可能想使用

shell_exec("/home/amogh/server/test.py 2>&1");

为了将stderr重定向到stdout,因此来自Python的任何错误输出也将位于$output变量中,以帮助您调试内容。