我按照自述文件上的说明进行操作,但我没有收到任何错误,也没有任何输出或任何写入日志文件的内容。 那么,与王子一起转换和HTML文件到PDF的正确方法是什么,谢谢你。
ini_set('display_errors', '1');
error_reporting(-1);
require 'prince.php';
$exepath='/Users/agk/Desktop/prince/bin/prince';
$prince= new Prince($exepath);
if(!$prince) die("Prince instantiation failed");
$prince->setHTML(TRUE);
$prince->setLog('prince.log');
$xmlPath='/Applications/MAMP/htdocs/test/newhtml.html';
$msgs= array();
$convert=$prince->convert_file($xmlPath, $msgs);
if(!$convert)
{
echo 'nothing converted';
var_dump($msgs);
}
答案 0 :(得分:1)
我注意到你正在使用MAMP - 这就是我遇到同样问题的地方 - 这就是我修复它的方法。
我设法找到一个与在MAMP上通过PHP运行shell命令相关的答案elsewhere on SO,所以会分享这个。
问题是在MAMP中设置了DYLD_LIBRARY_PATH,而PHP中的shell / shell_exec命令正在寻找其他地方。
正如原帖中所解释的那样,这可能不是最好的解决办法,但它现在让我起作用了 - 而那些替代建议对我来说并不适用。
所以,试试这个:
打开/ Applications / MAMP / Library / bin / envvars文件并注释以下行:
#DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH"
#export DYLD_LIBRARY_PATH
然后重启Apache
它可能搞砸了其他MAMP设置,但我现在可以忍受它,因为我需要在我的Mac上本地工作以进行测试,然后才将它加载到实时Linux服务器上。
希望这有帮助。