ThinkPHP版本:3.2.3
最近在一个ThinkPHP项目运营过程中遇到一件奇葩的事情,停电之后服务器上的IIS上的php运行超慢,慢到本机访问服务器打开一个页面要二三十秒,同域下asp不受影响。
上传了只有一行的phpinof();的测试文件,依然要20秒才执行,各种怀疑,最后服务器重装了没好(硬件配置低),php session禁用了(效果有所提升),IIS7.5升到IIS10也没用,换了其他服务器(IO是之前的5倍,CPU是之前的10倍)依然没好利索(重启之后能管一两天),等等……(最后也没有找到原因)
以上都是闲话ԅ(¯﹃¯ԅ)
最后实在是穷极无聊,将ThinkPHP的debug模式关了,希望能快一丝丝Σ( ° △ °|||)︴
1、设置debug为false,结果遇到第一个问题:
![](https://i-blog.csdnimg.cn/blog_migrate/6006e88bb00b4b5dc860bf8dd3df3687.png)
报错了(借的图)
找问题吧,在度娘上找了很久,找到原因:部署模式下common/common/function.php文件中使用了 相对路径包含其他文件,这个不支持,必须改为:
require_once APP_PATH.'Common/Common/Base.php';
……
require_once APP_PATH.'Common/Common/Other.php';
原来是
require_once 'Base.php';
……
require_once 'Other.php';
2、跑起来之后遇到第二个问题:
CONTROLLER 结果变了
原来url对应关系:/XZ/GongGaoController.php => /XZ/GongGao
关闭Debug后对应关系:
/XZ/GongGaoController.php => /xz/gong_gao
站点的链接全乱了,又上度娘,翻手册,最终得到解决办法:
common/conf/config.php 中加入
'URL_CASE_INSENSITIVE'=>false,
3、其他的问题,基本上可以通过日志找到原因
有说法说是设置 'LOG_RECORD' => true, 打开日志记录
但是我没设的时候好像也记录日志,算了大家自己试试吧。
最后还是建议大家自己写框架把,别人的框架再好也能将你折磨的欲仙欲死……
一个url路由+数据库操作类,再挂个开源模板引擎……╮(╯_╰)╭