2013-05-18 5 views
0

Я пытаюсь взять некоторый html из textarea и преобразовать его в pdf. Я загрузил DOMPDF с https://github.com/dompdf/dompdf и написал код ниже. Когда я нажимаю кнопку «Отправить», я получаю эту ошибку: «Внутренняя ошибка сервера». (Мой вебхостинг не говорит мне, какую линию он один) (имя этого файла test2.php)DOMPDF не работает

<?php 
if (isset($_POST['submit'])) { 
$content = $_POST['content']; 
if (empty($content)){ 
    $error = 'write something'; 
} 
else { 
    include_once('dompdf/dompdf_config.inc.php'); 
    $dompdf = new DOMPDF(); 
    $dompdf->load_html($content); 
    $dompdf->render(); 
    $dompdf->stream('example.pdf'); 
} 
} 


?> 
<!DOCTYPE html> 
<head> 

</head> 
<body> 
<?php 
if(isset($error)){ 
echo $error; 
} 
?> 
<form method="post" action="test2.php"> 
<textarea name="content" id="content">hello world</textarea><br> 
<input type="submit" name="submit" value='submit'> 
</form> 
</body> 
</html> 
+0

Вы загрузили dompdf, вы также загрузили [php-font-lib] (https://github.com/PhenX/php-font-lib)? Эта библиотека должна быть установлена ​​с последним кодом, но загрузка ZIP из github [не включает его] (http://stackoverflow.com/a/13432787/264628). Мы планируем обновление нашей «ночной» загрузки, которая в настоящее время по-прежнему вытаскивается из старого хранилища SVN. – BrianS

+0

@BrianS благодарит, но как мне вставить эту библиотеку в мой код? im не очень хорошо с этим материалом – kirby

+0

вы можете просто скачать ZIP с страницы проекта php-font-lib (так же, как и с dompdf). Затем извлеките файлы в свою домашнюю директорию dompdf/lib/php-font-lib. Если у вас по-прежнему возникают проблемы, вы можете [загрузить последнюю выпущенную версию из Google Code] (http://code.google.com/p/dompdf/downloads/list). – BrianS

ответ

0

У меня был подобный вопрос на сервере клиента при использовании DOMPDF для проекта.

Возможно, у вас нет правильного уровня сообщений об ошибках, настроенных с вашей установкой PHP.

В верхней части вашего сценария разместите следующее: error_reporting(E_ALL);

Пример:

error_reporting(E_ALL); 
if (isset($_POST['submit'])) { 
$content = $_POST['content']; 
if (empty($content)){ 
    $error = 'write something'; 
} 
else { 
    include_once('dompdf/dompdf_config.inc.php'); 
    $dompdf = new DOMPDF(); 
    $dompdf->load_html($content); 
    $dompdf->render(); 
    $dompdf->stream('example.pdf'); 
} 
} 

Теперь вы должны увидеть более подробное сообщение о типе ошибки получения.

Возможно, возникли проблемы с разметкой HTML, которую вы передаете методу $dompdf->load_html($content);, или, как альтернатива, вы можете столкнуться с проблемами, связанными с памятью (превышающими объем вашей памяти).

Обычно эти ошибки сообщают о себе, но, опять же, в зависимости от вашей настройки, отчетность может быть ограничена.

+0

Я помещал сообщение об ошибке вверху, но у меня все еще было то же сообщение об ошибке с моего веб-хостинга «Внутренняя ошибка сервера», – kirby

Смежные вопросы