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

Web应用迁移至LWS服务器后PHP代码无法正常解析的问题咨询

LWS迁移后PHP代码不解析问题排查

核心根因

结合你给出的测试代码,触发解析失败的原因非常明确:

  • 测试代码写的是<? php echo 'Hello';,<?和后面的php之间多了一个空格——这种写法从PHP 5.4开始就不再被识别为合法的PHP代码块起始标记,哪怕开了短标签支持也匹配不上
  • LWS默认的PHP配置里,短标签解析开关short_open_tag是关闭状态,根本不认<?开头的代码,只认<?php开头的标准标记
  • 另外LWS新建站点的默认配置,有时不会自动把.php后缀的请求绑定到PHP-FPM服务,会直接把PHP代码当静态文本吐给浏览器,完全不触发解析流程。

分步解决

  1. 先改测试代码验证基础链路
    把测试文件里的代码换成标准写法:
    <?php echo 'Hello'; ?>
    存盘刷新页面,要是能正常输出Hello,就说明之前的写法不符合当前服务器的解析规则。
  2. 改完代码还是不输出的话,查站点绑定配置
    到LWS的站点管理面板,确认两个点:
    • 当前站点有没有配置.php后缀的请求转发规则,把这类请求交给对应版本的PHP-FPM处理
    • 如果缺失规则,手动加一条匹配*.php的路由,转发到当前正在运行的PHP服务端口就行
  3. 老项目兼容短标签的可选操作
    要是手里的老项目全是用<?开头的短标签写的,不想逐行改代码,可以找到对应PHP版本的php.ini配置文件,把short_open_tag的值改成On,存盘后重启PHP-FPM,就能恢复短标签解析。
    特别提醒:带空格的<? php写法就算开了短标签也识别不了,必须把空格去掉写成标准的<?php格式才行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 19:15:05