Linux 区分项目大小写的坑
当我们搭建好LAMP或是LNMP环境后,兴冲冲的将项目部署到了linux服务器上,然后你肯定会以为输入你的项目网址,一切就都OK了。然而坑总是无处不在滴。LOOK下面图片上的这个错误:
找不到模块,悲剧了吧,在windows上运行完美无缺的代码咋放到linux就出BUG了呢,代码逻辑流程肯定是木有问题的,那是哪里导致的呢?
仔细看下报错的地方,admin模块不存在,我的模块明明是Admin的呢,并且在配置文件config.php里面也绑定了默认的模块定义 'default_module' => 'Admin',再跟踪代码看看,到tp5框架内的App.php文件内找到了模块进入的处理函数module, 我这里走的是多模块部署,里面有句代码 $module = strip_tags(strtolower($result[0] ?: $config['default_module']));好吧,框架居然将我们定义的模块名称啥的自动改为了小写,但是linux系统又是区分大小写的呢,没办法,框架的东西我木有去动,免得有其他不好的事情发生,老老实实将模块名,控制器内的引入模块名,视图内文件名全部修改为小写后测试通过。
所以给自己提个醒,在windows上开发时可以考虑后期部署的如果是linux系统,要注意大小写的区分,否则出现找不到模块啥的,你又得调试你的代码,有些麻烦
-
admin: 确实遇见过相同的问题