Prince xml не работает

Я создал тестовую страницу для тестирования с помощью 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 и «нет»..


person jim    schedule 21.10.2013    source источник
comment
@ShivanRaptor, вот в чем проблема.. Он не отображает никаких ошибок.. Он просто не будет повторяться..   -  person jim    schedule 21.10.2013
comment
Синтаксис недоступен в Интернете, но я думаю, что проблема convert_string_to_file в том, что он может писать только в локальный PDF-файл, а вы пытаетесь писать в URL-адрес.   -  person halfer    schedule 21.10.2013
comment
@halfer у меня есть доступ к его серверу, и даже если я напишу весь путь, он все равно не работает ..   -  person jim    schedule 21.10.2013
comment
ОК, пожалуйста, обновите свой код с учетом недавно внесенных изменений - я так понимаю, вы исправили проблему 2, как указано Шиваном ниже?   -  person halfer    schedule 21.10.2013


Ответы (3)


Проблема 1:

Я заметил проблему. Вы запускаете PHP-код в .html ? Измените расширение файла на .php и повторно загрузите на хостинг-сервер с поддержкой PHP и повторите попытку.

Проблема 2:

Конструктор настроен неправильно. Конструктору требуется абсолютный путь на сервере, а не URL-адрес. readme.html уже упоминал об этом. Это должно выглядеть так:

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

В прочитанном мне было сказано:

В Windows обязательно укажите путь к файлу prince.exe, расположенному в подпапке Engine\bin установки Prince.

Примечание. Большинство хост-серверов с поддержкой PHP НЕ работают на базе Windows; даже если он основан на Windows, он не позволит вам выполнить .exe .

person Raptor    schedule 21.10.2013

Это случилось со мной, поэтому я использовал SSH для доступа к своему серверу и понял, что у меня не установлена ​​​​библиотека шрифтов. Если вы используете что-то вроде CentOS, вам сначала нужно установить библиотеку шрифтов. Я нашел этот полезный http://blog.whatgeek.com.pt/2011/11/10/install-core-fonts-centos-6/

person scott    schedule 05.03.2014

Запускаем Prince на виртуальном ящике на моем Mac, используя оболочку PHP YesLogic и анализируя файлы PHP с помощью веб-браузера. Нет вывода PDF, нет сообщений об ошибках оболочки.

Ответы выше не решили проблему для меня.

Поэтому я проанализировал файлы PHP из командной строки, используя 'php -f index.php', и это сработало. Глупая ошибка с моей стороны - у моих файлов PHP просто не было правильных разрешений.

person spedley    schedule 10.05.2017