今天使用的是thinkphp3.2.3版本,在本地的wamp环境下开发,都一直很正常,然后发布到nginx上面进行安装,可刚想安装就报错502 错误,这下就好纠结了,然后慢慢断点调试,发现程序执行到thinkphp框架里function.php文件的parse_name 函数的时候就会出现502错误。
后来断点发现 程序只要一执行preg_replace_callback 这个自带的函数,系统就会显示502错误, 然后就一路百度,google后发现preg_replace_callback 与eaccelerator 是有冲突导致的, 所以thinkphp3.2.3的框在环境中有eaccelerator的都不能执行。因为需要禁用eaccelerator插件。
解决的办法:在项目的根目录index.php的入口文件加入以下代码,禁用eaccelerator就可以正常使用了。
ini_set ('eaccelerator.enable',0); ini_set ('eaccelerator.optimizer',0);