You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP嵌入JavaScript代码在PHP5.6可用但PHP7报错的问题

PHP7环境下嵌入JS的PHP代码报错排查

问题场景

你这段在PHP5.6环境能正常运行的jPlayer配置代码,到PHP7里就抛出Uncaught SyntaxError: Unexpected token <错误,核心问题出在JS里嵌入PHP的写法上。

原来的嵌入代码片段是这样的:

mp3: <script language = "php"> echo "\"" . $MP3FILE . "\"";</script>

报错原因

PHP7彻底移除了对非标准脚本风格PHP标签的支持!

在PHP5.6及更早版本中,部分服务器可能开启了asp_tags配置项,这会让PHP识别<script language="php">...</script>这种非标准的嵌入标签。但PHP7开始,官方直接移除了asp_tags这个配置,导致服务器不再解析这种标签,直接把<script language="php">...</script>当成普通的文本输出到JS里。

JS解析器看到开头的<符号,完全无法理解这是什么语法,所以直接抛出"Unexpected token <"的语法错误。

解决方案

把所有非标准的PHP嵌入标签替换成PHP官方推荐的标准标签<?php ?>,这是跨PHP版本兼容性最好的写法。

修改后的代码片段可以是这样的:

mp3: <?php echo "\"" . $MP3FILE . "\""; ?>

或者用更简洁的方式,避免手动拼接引号,可读性更强:

mp3: "<?php echo $MP3FILE; ?>"

另外你已经确认服务器能正常处理PHP文件,所以只要替换标签写法就能解决问题。

内容的提问来源于stack exchange,提问作者Roger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:05:40