Вот мой PHP код:Странная PHP ошибка синтаксического анализа
<?php
/* some code */
function blah() {
/* some code */
if (!$book || !$txt) {
?>
<h1>Page Error</h1>
<p>This is not a valid page</p>
<?php
return;
}
?>
<h1>Check Page</h1>
<p>Data:<?php print '<a href="'.wl($page).'">'.$page.'</a>'; ?></p>
<?php
/* some code */
}
/* some code */
На сервере А она всегда возвращает Parse error: syntax error, unexpected '?>', expecting function (T_FUNCTION) in /blah/blah.php on line 474
(474 является линия> непосредственно перед <h1>Check Page</h1>
?) В то время как он работает найти на другом сервере B.
версия в PHP Version 5.5.5-1+debphp.org~precise+2
на моем сервере а и PHP Version 5.4.20
на сервере B.
кажется, что я пропустил некоторые конфигурации? Или есть какая-то ошибка или функция, которую я не заметил? У кого-то есть идея?
Edit:
Эта проблема временно решена после того, как я заменил:
?>
<h1>Page Error</h1>
<p>This is not a valid page</p>
<?php
с этим:
print <<<'EOF'
<h1>Page Error</h1>
<p>This is not a valid page</p>
EOF;
Но я все же хотел бы знать, почему это происходит ,
Это хорошо работает для меня на 5.5.5. Этот * точный * фрагмент дает вам сообщение об ошибке? –
это должно выглядеть так, потому что это не самый читаемый код. –
@Alex Почти, я просто заменил китайский текст в html-части английской версией. –