Вызов скрипта Python из PHP не работает - PullRequest
0 голосов
/ 09 октября 2018

Я создаю веб-страницу на PHP, в которой при нажатии кнопки PHP-скрипт выполняет скрипт python с помощью команды shell_exec().Скрипт Python создает файл PDF с использованием библиотеки Python fpdf.Когда я запускаю то же самое из командной оболочки, он работает безупречно, но когда я пытаюсь запустить скрипт Python из PHP, он ничего не дает.Вот код 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 голосов
/ 09 октября 2018

Я предполагаю, что рабочий каталог неправильный, и ваш скрипт не может получить доступ к нужному файлу.

Возможно, вы захотите использовать

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

, чтобы перенаправить stderr наstdout, поэтому любая ошибка, выводимая из Python, будет также в переменной $output, чтобы помочь вам отладить вещи.

...