这两天帮某创业公司搭后台管理系统,使用CodeIgniter进行开发
开发环境是apache2(OS X),rewrite的时候直接添加.htaccess即可
但是线上部署的时候是nginx,遂尝试几个重写方法
起初都是无法访问,查看nginx log发现是直接返回的500错误
而页面一直是空白,打开开发者工具也是提示500
差了很多方法,一直以为是rewrite的问题,也没有百度到
后来有怀疑是php-fpm故障,但是问题依旧,鼓捣到夜里两点多
结果第二天早上七点多就爬起来了,觉得应该在CI源码里插断点看看
最后发现在system/core/CodeIgniter.php里面
在$CI = new $class()失败,最后在stackoverflow上面发现是因为php-mysql没有安装
执行yum install php-mysql,重启一下php-fpm 完美解决
随后附上nginx配置