王子xml似乎不起作用

时间:2013-10-21 07:54:05

标签: php princexml

我已经创建了一个测试页面来测试使用Prince xml,但是这段代码似乎不起作用。

的index.php

require_once("prince.php");

$prince = new Prince('www1.must.edu.ph/tts/prince/Engine/bin/prince.exe');
$prince->setHTML(true);

$html = file_get_contents("reportHeader.html");

$ret = $prince->convert_string_to_file($html,'www1.must.edu.ph/tts/prince/Engine/bin/pink.pdf');

echo $html;

if($ret)
echo "converted";
else
echo "not";

每当我访问该页面时,都没有错误..它只显示回显的$ html和'not'..

3 个答案:

答案 0 :(得分:1)

问题1:

我发现了这个问题。您在.html中运行PHP代码?将文件扩展名更改为.php,然后重新上传到启用PHP的托管服务器&重试。

问题2:

构造函数未正确设置。构造函数需要服务器上的绝对路径,而不是URL。 readme.html已经提到了这一点。它应该看起来像:

$prince = new Prince('/usr/local/bin/prince');

在读我的时候,它说:

  

在Windows上,请务必指定prince.exe文件的路径   在Prince安装的Engine\bin子文件夹中。

注意:大多数支持PHP的托管服务器都不是基于Windows的;即使它是基于Windows的,它也不允许您执行.exe

答案 1 :(得分:0)

这发生在我身上,所以我使用SSH来访问我的服务器并意识到我没有安装字体库。如果您使用的是CentOS,那么您需要先安装一个字体库。我发现这有用http://blog.whatgeek.com.pt/2011/11/10/install-core-fonts-centos-6/

答案 2 :(得分:0)

使用YesLogic PHP包装器在Mac上的虚拟盒上运行Prince,并使用Web浏览器解析PHP文件。没有PDF输出,包装器没有报告错误。

上面的答案并没有为我解决问题。

所以我使用' php -f index.php' 从命令行解析PHP文件,并且它有效。我这个愚蠢的错误 - 我的PHP文件根本没有正确的权限。