簡體   English   中英

從PHP調用時PhantomJS無法渲染

[英]PhantomJS Fails to Render When Called from PHP

我有一個單行代碼,可從HTML文件生成PDF:

$my_path = "/path/to/phantomjs/and/generate-pdf.js";
$output  = shell_exec("cd $my_path && phantomjs generate-pdf.js");

我可以以root用戶,本人和apache用戶(www-data)的身份從Shell成功運行此命令。 更重要的是,我可以從命令行調用的PHP文件成功運行同一行代碼,如php generate-pdf.php ,而且我可以運行其他shell命令(如touch test.txt就可以了。 HTTP請求。

為什么從HTTP請求調用時無法生成PDF?

整個目錄結構(包括phantomjs可執行文件和generate-pdf.js)已被授予777權限,從/etc/php5/apache2/php.ini/etc/php5/cli/php.ini都禁用了safe_mode ,和disable_functions不包括shell_exec

如果您確保啟用了shell_exec()本身,我想這是一個$PATH問題。 給定phantomjs二進制文件的完整路徑,您應該執行它:

shell_exec("cd $my_path && /path/to/phantomjs generate-pdf.js");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM