2015-09-28 76 views
0

我正在使用dompdf與laravel 5生成配置文件的pdf,但它需要超過15分鐘,然後它顯示錯誤。流就像瀏覽器中打開顯示個人資料頁面,頁面有鏈接,下載與相同動作(顯示輪廓)與額外的參數pdf=yes的URL PDF,然後我使用if條件檢查PDF通話dompdf慢,併產生HTTP請求失敗錯誤

Exception in PDF.php line 219: DOMDocument::loadHTML(): htmlParseEntityRef: no name in Entity, line: 41 
DOMDocument::loadHTML(): ID personal-info-2 already defined in Entity, line: 104 
DOMDocument::loadHTML(): ID personal-info-2 already defined in Entity, line: 110 
DOMDocument::loadHTML(): ID personal-info-2 already defined in Entity, line: 116 
DOMDocument::loadHTML(): ID personal-info-2 already defined in Entity, line: 122 
DOMDocument::loadHTML(): ID personal-info-2 already defined in Entity, line: 128 
DOMDocument::loadHTML(): ID personal-info-2 already defined in Entity, line: 134 
DOMDocument::loadHTML(): ID personal-info-2 already defined in Entity, line: 140 
DOMDocument::loadHTML(): ID personal-info-2 already defined in Entity, line: 145 
DOMDocument::loadHTML(): ID personal-info-2 already defined in Entity, line: 150 
DOMDocument::loadHTML(): ID personal-info-2 already defined in Entity, line: 155 
DOMDocument::loadHTML(): ID personal-info-2 already defined in Entity, line: 160 
DOMDocument::loadHTML(): ID personal-info-2 already defined in Entity, line: 165 
DOMDocument::loadHTML(): ID personal-info-2 already defined in Entity, line: 170 
DOMDocument::loadHTML(): ID personal-info-2 already defined in Entity, line: 177 
DOMDocument::loadHTML(): ID personal-info-2 already defined in Entity, line: 188 
DOMDocument::loadHTML(): ID personal-info-2 already defined in Entity, line: 193 
DOMDocument::loadHTML(): ID personal-info-2 already defined in Entity, line: 211 
DOMDocument::loadHTML(): ID personal-info-2 already defined in Entity, line: 216 
DOMDocument::loadHTML(): ID personal-info-2 already defined in Entity, line: 222 
DOMDocument::loadHTML(): ID personal-info-2 already defined in Entity, line: 227 
DOMDocument::loadHTML(): Tag footer invalid in Entity, line: 330 
DOMDocument::loadHTML(): Unexpected end tag : div in Entity, line: 333 
DOMDocument::loadHTML(): Unexpected end tag : div in Entity, line: 334 
DOMDocument::loadHTML(): Unexpected end tag : span in Entity, line: 355 
DOMDocument::loadHTML(): Unexpected end tag : span in Entity, line: 358 
file_get_contents(http://10.0.0.46:2000/front/css/bootstrap.min.css): failed to open stream: HTTP request failed! 
Unable to load css file http://10.0.0.46:2000/front/css/bootstrap.min.css 
file_get_contents(http://10.0.0.46:2000/front/font-awesome/css/font-awesome.min.css): failed to open stream: HTTP request failed! 
Unable to load css file http://10.0.0.46:2000/front/font-awesome/css/font-awesome.min.css 
file_get_contents(http://10.0.0.46:2000/front/css/styles.css): failed to open stream: HTTP request failed! 
Unable to load css file http://10.0.0.46:2000/front/css/styles.css 
file_get_contents(http://10.0.0.46:2000/front/css/custom-style.css): failed to open stream: HTTP request failed! 
Unable to load css file http://10.0.0.46:2000/front/css/custom-style.css 
file_get_contents(http://10.0.0.46:2000/front/css/custom-mediaqueries.css): failed to open stream: HTTP request failed! 
Unable to load css file http://10.0.0.46:2000/front/css/custom-mediaqueries.css 
file_get_contents(http://10.0.0.46:2000/front/images/logo.png): failed to open stream: HTTP request failed! 
file_get_contents(http://10.0.0.46:2000/front/images/facebook.png): failed to open stream: HTTP request failed! 
file_get_contents(http://10.0.0.46:2000/front/images/LinkedIn.png): failed to open stream: HTTP request failed! 
file_get_contents(http://10.0.0.46:2000/front/images/Pinterest.png): failed to open stream: HTTP request failed! 
file_get_contents(http://10.0.0.46:2000/front/images/Twitter.png): failed to open stream: HTTP request failed! 
file_get_contents(http://10.0.0.46:2000/front/images/img-not-found.jpg): failed to open stream: HTTP request failed! 

的相同的頁面在瀏覽器中打開罰款

+0

你可以粘貼你的視圖用於生成pdf和你的控制器方法。 – osleonard

回答

0

看起來像你有設置顯示給瀏覽器的PHP通知/警告/錯誤。無論是否DOMPDF是能夠解析您的文檔,你不會得到預期的輸出,因爲無論:

  1. 隨着輸出緩衝禁用 DOMPDF會拒絕,因爲頭已經發送到流文件。發生這種情況是因爲Web服務器已經設置了內容類型,並將其發送給瀏覽器並出現PHP錯誤。如果dompdf無法將內容類型更改爲PDF MIME類型將拒絕流式傳輸PDF。
  2. 使用輸出緩衝啓用 dompdf會將PDF發送到瀏覽器,但您的PHP錯誤將導致輸出流中出現問題,並使得PDF查看器無法解析PDF。

因此,您應該禁用向瀏覽器發送通知。如果不是因爲上述原因,那麼因爲這是信息披露風險。如果您希望啓用它們,則至少應該在使用dompdf時禁用它們(例如ini_set('display_errors', false);)。這就是說,你的文檔結構有一些問題:元素上的重複ID屬性,打開/關閉標籤不匹配,無法識別的元素。您應該通過validator運行您生成的HTML,並儘可能多地解決問題。

最後,您的外部資源(CSS,圖像)無法加載。或者URL不好,或者PHP設置allow_url_fopen設置爲false。

相關問題