Как конвертировать с princeXML и PHP

Я следовал инструкциям в файле readme, но я не получил ни ошибок, ни вывода, ни чего-либо записанного в файл журнала. Итак, как правильно конвертировать 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);

 }

1 ответ

Решение

Я заметил, что вы используете MAMP - и именно здесь я столкнулся с той же проблемой - и вот как я ее исправил.

Мне удалось найти ответ где-нибудь еще на SO, касающийся запуска команд оболочки через PHP на MAMP, поэтому поделюсь этим.

Проблема в том, что DYLD_LIBRARY_PATH установлен в MAMP, а команда shell/shell_exec в PHP ищет в другом месте.

Как объяснено в оригинальном посте, это может быть не лучшим решением, но пока оно работает, и альтернативные предложения там не сработали.

Итак, попробуйте это:

Откройте файл /Applications/MAMP/Library/bin/envvars и прокомментируйте следующие строки, как показано ниже:

#DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH"
#export DYLD_LIBRARY_PATH

затем перезапустите Apache

Это может испортить другие настройки MAMP, но я пока могу с этим смириться, так как мне нужно, чтобы это работало локально на моем Mac для тестирования, прежде чем я загружу все это на работающий сервер Linux.

Надеюсь это поможет.

Другие вопросы по тегам