2015-11-02 2 views
1

Я работаю над проектом в codeigniter 3, и я использую mpdf v5.6. Пример mpdf работает отлично, но когда я интегрирую mpdf с codeigniter 3, он вызывает некоторые ошибки. мой код контроллераMpdf выпуск в codeigniter 3

public function pdf() 
    { 
     $this->load->library('mpdf'); 
     $this->mpdf->WriteHTML('<p>Hello There</p>'); 
     $this->mpdf->Output(); 
    } 

ошибка, как, как

A PHP Error was encountered 

Severity: 8192 

Message: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead 

Filename: includes/functions.php 

Line Number: 74 
Backtrace: 

File: /Users/bappa/Desktop/codeigniter/mpdf/includes/functions.php 
Line: 74 
Function: preg_replace 

File: /Users/bappa/Desktop/codeigniter/application/libraries/Mpdf.php 
Line: 31062 
Function: strcode2utf 

File: /Users/bappa/Desktop/codeigniter/application/libraries/Mpdf.php 
Line: 12302 
Function: purify_utf8 

File: /Users/bappa/Desktop/codeigniter/application/controllers/Welcome.php 
Line: 29 
Function: WriteHTML 

File: /Users/bappa/Desktop/codeigniter/index.php 
Line: 292 
Function: require_once 

и в конце ошибки страницы

mPDF error: Some data has already been output to browser, can't send PDF file 

Где проблема? Спасибо.

+0

вы можете показать свой код, а –

ответ

3

Открыть эту строку, которая вызывает ошибку. Я думаю, что линия ошибка это,

$str = preg_replace('/&#([0-9]+)\;/me', "code2utf('\1',{$lo})",$str); 
$str = preg_replace('/&#x([0-9a-fA-F]+)\;/me', "codeHex2utf('\1',{$lo})",$str); 

Заменить эти строки с,

$str = preg_replace_callback('/&#([0-9]+)\;/m', function($m){ return code2utf($m[1],$lo); }, $str); 
$str = preg_replace_callback('/&#([0-9]+)\;/m', function($m){ return codeHex2utf($m[1],$lo);}, $str); 

Смотрите этот вопрос в github

+0

Спасибо проблема решена –

+0

@try_simple_code Рад, что это помогло вам :) –

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