首页 > 解决方案 > 将应用程序升级到 CodeIgniter 3 后出现问题

问题描述

我刚刚将我的 CodeIgniter 从版本 2.2 升级到了 3.1.10。我替换了系统文件夹及其内容,并将所有控制器名称重命名为大写以及其他所有需要的名称。然后我得到了这个错误:

A PHP Error was encountered
Severity: Warning
Message: Declaration of MY_Router::set_directory($dir) should be compatible with CI_Router::set_directory($dir, $append = false)
Filename: core/MY_Router.php
Line Number: 0

里面application/core有一些文件:

更新:这是一段代码MY_Route

function set_directory($dir)
{
    // Allow forward slash, but don't allow periods.
    $this->directory = str_replace('.', '', $dir) . '/';
}

我确定问题是由这些文件引起的,但我不知道该怎么做。我阅读了如何升级的文档,但对这个问题一无所知。任何人都可以帮助我吗?

标签: phpcodeigniter-3

解决方案


也许能帮到你。您需要添加参数:

function set_directory($dir, $append = false) <-- edit
{
    // Allow forward slash, but don't allow periods.
    $this->directory = str_replace('.', '', $dir) . '/';
}

推荐阅读