前几个月微信认证开发者过期了,DNMyCar挂了,虽然重新认证了开发者,但是项目还是跑不起来,各种折腾后,发现问题层出不穷,这里做个记录。
一、原来的服务器已经升级到 Ubuntu 16.04 PHP 也到了 7.0,基于 ZendFramework 2开发的 DNMyCar 怎么也跑不起来,Debug 了好久,发现原来的老库对 PHP 7.0 各种不兼容,需要各种 composer update ,但是各种模块间的依赖和冲突又导致 update 不了,只能放弃,打算迁移到一台 Ubuntu 14.04 PHP 5.5.9 的备用服务器。
二、迁移到 Ubuntu 14.04 PHP 5.5.9 的备用服务器也不轻松,也是各种冲突。
1、安装 curl。
2、不知道什么原因,也许是PHP使用了FasCGI模式,session 文件无法写入,把 php.ini 的 session.save_path 设置为 “0;777;/home/user/tmp” 也不行。
最后把 SuexecUserGroup 关闭,使用 www-data 用户执行 php ,然后把 /home/user/tmp owner 设置为 www-data 才能正常写入 session 文件。
3、安装加密模块 mcrypt。
sudo apt-get install php5-mcrypt php5-dev
sudo php5enmod mcrypt
至此,折腾了几天,DNMyCar 忠于迁移完毕。