这会产生输出页面 OK
$mystring = "<<<EOT";
用以下内容替换它会产生
解析错误:语法错误,第 737 行 file.php 中的意外 $end
$mystring = <<<EOT
This is some PHP text.
It is completely free
I can use "double quotes"
and 'single quotes',
plus $variables too, which will
be properly converted to their values,
you can even type EOT, as long as it
is not alone on a line, like this:
EOT;
关于是什么导致解析器阻塞的任何想法?
我正在使用 PHP 4.4.7。
这种行为仅在一个文件上发生,所有其他文件都遵循 PHP 定义的功能。
我要说明的是处理行中可能出现的错误,以便 PHP 解析器在此失败中显示。
约翰
将文件内容更改为:-
<?php
$mystring = <<<WHATEVER
This is some PHP text.
WHATEVER;
?>
结果 =
解析错误:语法错误,第 5 行 file.php 中的意外 $end
任何线索
编辑
原始错误与T_ENCAPSED_AND_WHITESPACE
此有关,这可能是由 jQuery 引起的,例如“ if(x == y){$('#my_image').hide():}
”在 heredoc 中,bigram “{$ 将启动解析器寻找 php 变量进行替换。
编辑
2 反应不错。
1) Ch4m3l3on - " <?php
" vs " <?
" 处理。
2) Disintegrator -<q>
与坚持将 BOM 放入 utf-8 文件(忽略首选项)的愚蠢程序有类似的问题</q>
。
编辑
1) 用单个块替换所有内容并不能解决问题或提供任何其他指示。
2)没有BOM(字节顺序标记),可惜这个或类似的majic字符可以完美地解释所有症状。