我正在用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
服务器。谁能告诉我我要去哪里错了?
答案 0 :(得分:1)
我想工作目录是错误的,并且您的脚本无法访问所需的文件。
您可能想使用
shell_exec("/home/amogh/server/test.py 2>&1");
为了将stderr重定向到stdout,因此来自Python的任何错误输出也将位于$output
变量中,以帮助您调试内容。