这个问题在环境是 development 状态下会报这个错误
提示在URI.php 的 186 和190行
主要原因是 strpos 函数第二个参数为空($_SERVER['SCRIPT_NAME'] 为空)
当配置成 CI 从根目录开始匹配的话就会出现。
当SCRIPT_NAME 不为空的时候都以 <wbr>“/” 开始。那修改下当SCRIPT_NAME是空的时候,直接用 “/”代替</wbr>
修改 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)));
}
问题就解决了!
解决CI框架URI.php错误
本文介绍了解决CodeIgniter框架中URI.php文件在特定环境下出现的错误问题。该问题出现在development环境中,主要由于$_SERVER['SCRIPT_NAME']为空导致。通过检查并修正此变量的值,确保了应用能够正确解析URL。
2528

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



