Skip to content

Yaf版本3.3.4多模块加载问题 #599

@hmm5555

Description

@hmm5555

string(22) "D:/php-project/yaf-app" string(34) "D:/php-project/yaf-app/application"
Recoverable fatal error: Yaf_Application::run(): Failed opening controller script D:/php-project/yaf-app/application\controllers\Index.php: No such file or directory in D:\php-project\yaf-app\public\index.php on line 89

报错的bug的为啥,自动加载机制不是禁用了全局模式加载,为啥还是会跑到全局模式加载下面

配置文件也是禁用了
application.ini
[common]
; 公共配置(所有环境共用)
application.directory = APPLICATION_PATH
application.dispatcher.throwException = 0
application.dispatcher.catchException = 1
yaf.forward_limit = 5
yaf.use_namespace = 0
yaf.use_spl_autoload = 0

; 模块配置(必须放在公共区域)
application.modules = "Index,Admin,Api"
application.dispatcher.defaultModule = "Index"
application.dispatcher.defaultController = "Index"
application.dispatcher.defaultAction = "index"

; 视图配置
application.view.ext = "phtml"

; 自动加载配置
application.library.directory = APPLICATION_PATH "/library"
application.library.namespace = ""

[product : common]
; 生产环境专属配置(继承并覆盖common)
; 不需要重复设置模块信息

; 开启模块名识别
application.dispatcher.use_module_name = 1

; 禁用自动渲染
application.dispatcher.autoRender = 0

; 禁用全局控制器目录(强制使用模块)
application.dispatcher.controller_directory = ""

日志打印:
[21-Jul-2025 11:34:47 Asia/Shanghai] 应用目录: D:/php-project/yaf-app/application
[21-Jul-2025 11:34:47 Asia/Shanghai] 模块列表: Index,Admin,Api
[21-Jul-2025 11:34:47 Asia/Shanghai] 已设置模块控制器目录并禁用全局目录
[21-Jul-2025 11:34:47 Asia/Shanghai] 这是分隔线———————————————————————————————————————
[21-Jul-2025 11:34:47 Asia/Shanghai] 默认视图路径: D:/php-project/yaf-app/application/views
[21-Jul-2025 11:34:47 Asia/Shanghai] 初始化模块: Array
(
[0] => Index
[1] => Admin
[2] => Api
)

[21-Jul-2025 11:34:47 Asia/Shanghai] 配置文件设置的模块列表Array
(
[0] => Index
[1] => Admin
[2] => Api
)

[21-Jul-2025 11:34:47 Asia/Shanghai] 初始化已经基本完成
[21-Jul-2025 11:34:47 Asia/Shanghai] 路由启动: 模块=, 控制器=
[21-Jul-2025 11:34:47 Asia/Shanghai] 请求URI: /index.php
[21-Jul-2025 11:34:47 Asia/Shanghai] 根路径重定向到: Index/Index/index
[21-Jul-2025 11:34:47 Asia/Shanghai] 强制控制器路径: D:/php-project/yaf-app/application/modules/Index/controllers/Index.php
[21-Jul-2025 11:34:47 Asia/Shanghai] 控制器文件存在: D:/php-project/yaf-app/application/modules/Index/controllers/Index.php
[21-Jul-2025 11:34:47 Asia/Shanghai] 最终路由: 模块=Index, 控制器=Index, 方法=index
[21-Jul-2025 11:34:47 Asia/Shanghai] PHP Recoverable fatal error: Yaf_Application::run(): Failed opening controller script D:/php-project/yaf-app/application\controllers\Index.php: No such file or directory in D:\php-project\yaf-app\public\index.php on line 89

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions