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

在Lucee服务器的.cfm文件中访问.php文件报Not Found错误如何解决?

原因说明

你遇到的404问题是因为CommandBox默认启动的Undertow服务器仅会处理CFML相关后缀的请求,不会识别、解析PHP文件,也没有默认的转发规则把PHP请求交给PHP解析器处理,就算路径完全正确也会返回找不到资源。

长期配置方案(支持直接访问.php文件)

如果要让当前Lucee服务直接支持访问PHP文件,需要完成以下配置:

  • 首先在服务器上安装PHP运行环境(推荐PHP-FPM),验证本地可正常执行PHP脚本
  • 打开项目根目录下的server.json配置文件,添加Undertow的PHP转发规则,指定PHP-FPM的监听地址(默认一般为127.0.0.1:9000)以及PHP文件的根目录映射
  • 保存配置后重启CommandBox服务即可生效

临时快捷解决方案

  • 方案一:单独启动PHP临时服务
    直接在项目根目录执行命令php -S 127.0.0.1:8081快速启动一个PHP内置服务,将CFM文件中的跳转链接修改为指向该PHP服务的对应路径即可,比如http://127.0.0.1:8081/pdf/print_pdf.php,若存在跨域问题可在PHP脚本顶部添加跨域响应头。
  • 方案二:用CFML直接调用PHP执行
    无需额外启动服务,只需在CFM中用cfexecute标签调用本地PHP命令执行目标脚本,直接返回PDF内容即可,示例代码如下:
<!-- 调用PHP执行脚本,接收输出的PDF内容 -->
<cfexecute 
    name="php" 
    arguments="#ExpandPath('./pdf/print_pdf.php')#" 
    variable="pdfContent" 
    timeout="10"
>
<!-- 输出PDF给浏览器 -->
<cfheader name="Content-Type" value="application/pdf">
<cfoutput>#pdfContent#</cfoutput>

把原来的a标签的href改成这个处理逻辑对应的cfm文件地址即可,完全不用修改原有PHP代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:45:05