这个问题在环境是 development 状态下会报这个错误
提示在URI.php 的 186 和190行
主要原因是 strpos 函数第二个参数为空($_SERVER['SCRIPT_NAME'] 为空)
当配置成 CI 从根目录开始匹配的话就会出现。
当SCRIPT_NAME 不为空的时候都以
修改 system/core/URI.php 的186 到194 行 那段的内容:
$script_name = $_SERVER['SCRIPT_NAME'] ? $_SERVER['SCRIPT_NAME']: ‘/’;
if (strpos($uri, $script_name) === 0)
{
$uri = substr($uri, strlen($script_name));
}
elseif (strpos($uri, dirname($script_name)) === 0)
{
$uri = substr($uri, strlen(dirname($script_name)));
}
问题就解决了!
本文介绍了解决CodeIgniter框架中因$_SERVER['SCRIPT_NAME']为空导致的URI.php文件报错问题。通过检查并修改特定代码行,使用'/'替代空值,确保了框架在各种环境下的正常运行。
4078

被折叠的 条评论
为什么被折叠?



