2016-10-09 5 views
2

저는 혼자 CMS를 작성했으며 PHP 버전 5.6까지는 제대로 작동합니다. 이제 PHP7이 시작되었습니다. CMS를 준비하고 싶습니다. 이 CMS에서는 PEAR 라이브러리를 사용하는데,이 라이브러리는 PHP7을 지원하기 때문에 버전 1.1o로 업그레이드했습니다. 이제PEAR HTML_Template_IT가 PHP7에서 Templatefile을로드하지 않습니다.

나는 패키지 HTML_Template_IT에 문제를 다음과 같은 한 : 나중에 템플릿 파일 및 setCurrentBlock ('메타 태그')라는 메시지를 얻을 수를로드 할 때 "찾을 수 없습니다이 블록"메타 태그 ' "

?! 여기

require_once('HTML/Template/ITX.php'); 
$tpl = new HTML_Template_ITX(TEMPLATE_DIR); 

// Einlesen der Haupttemplate-Datei 
$tpl->loadTemplatefile('main_tpl.html', true, true); 

// Meta-Tags ausgeben 
$tpl->setCurrentBlock('meta-tags'); 
$tpl->setVariable('author', AUTHOR); 
$tpl->setVariable('description', DESCRIPTION); 
$tpl->setVariable('keywords', KEYWORDS); 
$tpl->setVariable('page_topic', PAGE_TOPIC); 
$tpl->setVariable('publisher', PUBLISHER); 
$tpl->setVariable('google_verify', GOOGLE_VERIFY); 
$tpl->parseCurrentBlock(); 

에서 해당 세부 사항입니다 : 같은 문제를 가지고 그것을 해결할 수 이 도와 주셔서 너무 감사합니다 index.php를 내 코드의

이 거기 누구이며, 내 템플릿 - Fil 전자 main_tpl.html : 브라우저에서 출력의

<!-- BEGIN meta-tags --> 
<meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
<meta name="author" content="{author}" /> 
<meta name="Content-Language" content="de" /> 
<meta name="description" content="{description}" /> 
<meta name="keywords" content="{keywords}" /> 
<meta name="page-topic" content="{page_topic}" /> 
<meta name="publisher" content="{publisher}" /> 
<meta name="google-site-verification" content="{google_verify}" /> 
<meta name="rating" content="general" /> 
<meta name="revisit-after" content="10 days" /> 
<meta name="robots" content="index, follow" /> 
<!-- END meta-tags --> 

는 :

Cannot find this block"meta-tags' 
+0

고맙습니다. 이제 해결되었습니다. –

답변

0

PHP 7에서 실행하는 데 점점 주요 문제는 preg_replace에서 e 수정합니다.

return preg_replace_callback(
    "#<!-- INCLUDE (.*) -->#im", 
    function ($m) { $this->getFile($m[1]); }, 
    $content 
); 

내 컴퓨터에 설치 PEAR이없는 있지만 지금은 밖으로 require 'PEAR.php' 주석 주어진 작품 : 당신은 IT.php에 라인 1091 근처를 교체해야합니다. 또한 생성자를 변경하여 __construct을 사용하여 더 이상 사용하지 않는 경고를 없애고 여전히 작동하지만 PHP 8에서는 제거됩니다.