关闭APP_DEBUGE url变小写 解决方案
今天使用tp上线一个项目,把define('APP_DEBUG',true); 设置为false的时候,所有的页面都找不到了。提示404错误,后来发现生成的url地址:/index.php/index/article.html 怎么控制器Index变成小写了,于是又把define('APP_DEBUG',false);改成了define('APP_DEBUG',true); 又一切正常了。后来发现是 ThinkPHP\Common\functions.php 这里的U方法出了问题,
于是找到: // URL组装<br>
$depr = C('URL_PATHINFO_DEPR');<br>
$urlCase = C('URL_CASE_INSENSITIVE');
是 C('URL_CASE_INSENSITIVE'); 没有定义,则$urlCase 取值为false
于是下面的代码: if($urlCase){<br>
$url = strtolower($url);<br>
}
strtolower 这个方法就执行了,于是得到url地址为小写,在linux区分大小写就找不到页面了,就404错误了
解决方法:
打开Home\Common\Conf\config.php 'SESSION_AUTO_START'=>true,<br>
<br>
//加上这句话即可<br>
<b> 'URL_CASE_INSENSITIVE'=>false, //设置debug在关闭的时候,生成的url变成小写的问题</b><br>
<br>
//多语言定义<br>
'LANG_SWITCH_ON' => true, // 开启语言包功能
如果还是不行,则需要删除
Runtime/Common~runtime.php 这个文件,重新刷新即可。
如果还是不能解决,欢迎加QQ:574482856
AD:真正免费,域名+虚机+企业邮箱=0元