帮朋友迁移一套程序,使用 TP 框架写的,漏洞百出,极其混乱。原来是运行在 win2003+apache 上。
需要迁移到新服务器上,我帮他整整搞了一个晚上,女朋友都不高兴了。
新服务器 centos+nginx
第一个问题:原代码特么的好多地方都没有区分大小写, 换到 centos 上各种报错!老子整整改了几个小时!还好代码不算复杂,勉强看得懂。
第二个问题:tp 这货仍然报错,提示 pathinfo 问题
根据网上的方法,在 conf 中写入
fastcgi_split_path_info ^(.+.php)(.*)$; #增加这一句
fastcgi_param PATH_INFO $fastcgi_path_info; #增加这一句
但是依然不行....
1
pqee 2017-08-10 10:28:47 +08:00
建议继续用 Apache
|
2
changwei 2017-08-10 10:31:01 +08:00
是 3.2 吗? ThinkPHP 3.2 这个版本的模版引擎大小写问题一直就是个 BUG,经常会出现在 Windows 上开发运行好好的项目,到了 Linux 这种区分大小写的操作系统上找不到模版的情况。除非你手动一个一个改那些文件名。我目前最快捷的解决方案就是开启调试模式,但是关闭 trace,然后把框架原本的报错页改成空白,还好我的代码用的人都不多,调试模式性能影响也不会太大。ThinkPHP5.0 这个问题已经解决了。
|
3
mrgeneral 2017-08-10 10:35:59 +08:00
直接改源码吧~ 我记得 debug 下不区分大小写,关闭就区分了,把那段代码改一改,就好了。
|