php - 将应用程序升级到 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.php
- MY_Input.php
- MY_Controller.php
- ETC
更新:这是一段代码MY_Route
function set_directory($dir)
{
// Allow forward slash, but don't allow periods.
$this->directory = str_replace('.', '', $dir) . '/';
}
我确定问题是由这些文件引起的,但我不知道该怎么做。我阅读了如何升级的文档,但对这个问题一无所知。任何人都可以帮助我吗?
解决方案
也许能帮到你。您需要添加参数:
function set_directory($dir, $append = false) <-- edit
{
// Allow forward slash, but don't allow periods.
$this->directory = str_replace('.', '', $dir) . '/';
}
推荐阅读
- flutter - Flutter 传递的参数总是返回 null
- python - 对 dicts 使用 bot 命令
- python - 人脸编码的形状不同
- typescript - 无法在 ECS 计划任务 (aws-cdk) 中使用现有日志组
- r - 对使用仅应用于数字列的 mutate 和 rollmean 函数在 R 中有效地创建新列感到困惑
- python - 避免包重新上传到 PyPI
- react-native - 检测 react-router-native 中的路由变化
- python - 应用引用多列的 groupby 的最快最有效方法
- python - 每当我在“基本”环境中启动 Anaconda Prompt 时,有关 VSINSTALLDIR 和 vs2019 的长错误消息
- postgresql - TypeORM - 从现有实体生成迁移