前段时间嘛一直在折腾 WordPress
有天看到某舰娘群里萌萌的 KB 说要上 PHP 7 ,方才想起我的 PHP 5.5.9 了 = =。在提及了我的版本号以后, KB 聚聚推荐我升级到 PHP 5.6。
升级 PHP
关于这事,本来我都打算去 clone 源码自编译了,这时候群里的 HJC 聚聚提醒说 Ubuntu 下应该优先找找 PPA。
Google 了一番过后,发现这玩意可以免去自编译的痛苦。于是在此记录一下加入 PHP 5.6 PPA 的步骤。
sudo apt-get purge php* //卸载原有的 PHP
sudo apt-get update
sudo apt-get install python-software-properties //必要依赖
sudo add-apt-repository ppa:ondrej/php5-5.6
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install php5
好了,经过以上步骤过后, PHP 就升级到 5.6 了。
重新配置 uWSGI
升级完 PHP 过来,紧接着我发现另一个更加重要的问题,那就是我的神奇 PHP 后端 uWSGI 启动失败了 = = Orz
一直以来都是用 supervisor 启动的我决定手动debug。
在看到error log以后,发现是 php-plugin.ini 调用的依赖没了 = =
Ubuntu 源自带的东西比较旧了,这插件也是基于 PHP 5.5.9 编译的 = = Orz
好吧,找到问题所在,接下来就要想办法解决了 = =
我们先来升级一下 uWSGI ,步骤如下
sudo apt-get purge uwsgi*
sudo apt-get install build-essential python
sudo apt-get install python-dev
sudo apt-get install python-pip
sudo pip install uwsgi
这样我们就会在萌萌的 /usr/local/bin/ 里头看到一个 uwsgi(隐患)
接下来是编译并且安装 PHP 处理插件
uwsgi --build-plugin https://github.com/unbit/uwsgi-phpsgi
没错就这么简单,然而我当时却绕了不少的弯子 – –
配置 Supervisor 启动 uWSGI
这玩意可是坑了我好久好久,但是我不打算把思考过程发出来了 = =
直接上配置方法
写入 /etc/supervisor/conf.d/uwsgi.conf:
[program:uwsgi-php]
directory = /usr/local/bin/
command=uwsgi
--plugin php
--master
--socket :3030
--processes 6
--php-allowed-ext .php
--php-allowed-ext .inc
stopsignal=QUIT
user=www-data
autostart=true
autorestart=true
stdout_logfile=/home/XXX/error.log //XXX代表你的用户名
redirect_stderr=true
最后依次运行
sudo service nginx restart
sudo service supervisor restart