2011-08-05 103 views
0

我有幾個頁面(一個html,一個php和一個python腳本),它接受用戶輸入,然後爲用戶輸出一個pdf文件(使用reportlab) 。當我在apache(localhost)上測試時,它完美地工作。 但是,在真正的網絡主機上,它不能正常工作。 Web服務器上的PHP版本是5.2.17,安裝了python。PHP-> python似乎無法在web服務器上運行

該版本可能是一個問題?我很失落,因爲我不是很有經驗,並且它在Apache上完美工作,而在互聯網上完全沒有工作。

最後一件事,我用它來調用從PHP Python函數命令是這樣的:

$ed = exec("python pdfgeneration2.py $name $age"); 

我也想過,也許有更好的命令呢?

我的問題可能含糊不清,但如果任何人有任何想法,將不勝感激。

+4

我會切換到一些更健壯,像http://php.net/manual/en/function.popen.php或http開頭: //php.net/manual/en/function.proc-open.php取決於你是否需要讀取和寫入命令,或只是讀取輸出。此外,我的第一個懷疑是python二進制文件不在你的web服務器用戶的路徑中。嘗試添加像'/ full/path/to/python pdfgeneration2.py $ name $ age'這樣的完整路徑。 – sberry

+0

謝謝!我會嘗試所有這些建議! –

回答

0
  1. 看看/ var/logs/httpd/error_log或你的發行版的apache存儲日誌的任何地方。機率是你會發現PHP的錯誤信息。

  2. 除了檢查推薦的sberry之類的路徑之外,還要檢查燙髮。 Apache將需要在python腳本執行權限:chown apache:apache pdfgeneration2.py

相關問題