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

线上AWS服务器中PHP文件require引入失败问题求助

解决AWS服务器上PHP文件引入路径错误的问题

这是个很常见的跨环境路径问题,主要是本地和线上服务器的文件系统规则、当前工作目录差异导致的,给你几个靠谱的解决办法:

1. 使用绝对路径(最推荐)

PHP的__DIR__常量会返回当前文件所在的绝对目录,用它来拼接路径能彻底避免相对路径的坑。你的utilities.php在SRC文件夹下,所以直接这样写:

require_once __DIR__ . '/DB/classes.php';

不管你的项目部署在服务器的哪个位置,或者当前工作目录是什么,这个路径都能精准找到classes.php文件。

2. 修正大小写匹配

AWS服务器用的是Linux系统,文件名和文件夹名是区分大小写的,而本地Windows环境不区分。你本地写的src/db/classes.php是小写,但实际文件夹是SRC/DB(大写),线上服务器会因为大小写不匹配找不到文件。如果坚持用相对路径,要改成和实际文件夹一致的大小写:

require_once 'SRC/DB/classes.php';

不过这个方法还是依赖当前工作目录,不如绝对路径可靠。

3. 配置PHP的include_path(适合有权限的情况)

如果你能修改服务器的php.ini配置,或者通过.htaccess/代码动态设置,可以把SRC目录加入include_path:

// 在utilities.php开头添加
set_include_path(get_include_path() . PATH_SEPARATOR . __DIR__);
// 之后直接引入
require_once 'DB/classes.php';

这样PHP会自动在include_path指定的目录里查找要引入的文件,代码会更简洁,但需要确保你有配置权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:36:46