阿里云轻量应用服务器wordpress升级php版本

许都 391 3

注意事项

  • 建议使用默认的环境操作
  • WordPress镜像用的是4.8.1这个版本
  • wget缓慢请下载到本地后上传root目录
  • 务必使用root账户执行

安装依赖

  1. yum install -y libxml2-devel openssl-devel  curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel xslt libxslt-devel
  2. yum update -y curl curl-devel
  3. yum remove -y libzip

配置SWAP

如果内存是低于1GB的,则需要配置一下swap,编译过程需要依赖更多内存,内存太低会报错

  1. dd if=/dev/zero of=/swap bs=1M count=2048
  2. mkswap -f /swap
  3. swapon /swap

安装libzip

PHP7.3要求libzip版本大于0.11,但yum安装版本达不到要求,所以这里手动编译一下,该项不满足报错对应如下:

checking for libzip... configure: error: system libzip must be upgraded to version >= 0.11
  1. wget https://nih.at/libzip/libzip-1.2.0.tar.gz
  2. tar -zxvf libzip-1.2.0.tar.gz
  3. cd libzip-1.2.0
  4. ./configure
  5. make && make install

编译好后还需要做一下软连接,否则会提示报错找不到zipconf.h文件

  1. ln -s /usr/local/lib/libzip/include/zipconf.h /usr/local/include

编译安装PHP

  1. wget https://www.php.net/distributions/php-7.3.9.tar.gz
  2. tar -xvf php-7.3.9.tar.gz
  3. cd php-7.3.9
  4. ./configure --prefix=/usr/local/php73  --enable-soap --enable-cgi --with-mysql=/usr/local/mysql --with-mysqli=mysqlnd --with-gd --with-pdo-mysql=mysqlnd --with-zlib --enable-zip --enable-fpm --without-pear --disable-phar --with-openssl --enable-mbstring=all --with-jpeg-dir=/usr --with-png-dir=/usr --with-curl --with-freetype-dir=/usr --enable-gd-native-ttf --with-xsl=/usr --enable-calendar --enable-exif --enable-ftp --with-iconv --enable-bcmath --with-mcrypt=/usr/local/libmcrypt --enable-opcache
  5. make && make install
  6. cd

这个编译过程会比较长,编译完成后修改一下配置文件

  1. # 将启动脚本复制到init.d中。
  2. cp /root/php-7.3.9/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm73
  3. # 给启动脚本加上执行权限
  4. chmod +x /etc/init.d/php-fpm73
  5. # 将默认配置文件复制为.conf文件
  6. cp /usr/local/php73/etc/php-fpm.conf.default ${PHP73_DIR}/etc/php-fpm.conf
  7. # 添加pool的配置
  8. cat << EOF > /usr/local/php73/etc/php-fpm.d/www.conf
  9. [www]
  10. listen = /home/www/logs/php73-fpm.sock
  11. listen.mode = 0666
  12. user = www
  13. group = www
  14. pm = dynamic
  15. pm.max_children = 128
  16. pm.start_servers = 5
  17. pm.min_spare_servers = 5
  18. pm.max_spare_servers = 15
  19. pm.max_requests = 300
  20. rlimit_files = 1024
  21. slowlog = /home/www/logs/php73-fpm-slow.log
  22. EOF

至此PHP已经编译配置完成,接下来需要修改apache使用新版的php

修改apache

镜像中默认是用的php-fpm,使用的是socket方式的监听,Apache对应配置文件/usr/local/apache/conf/httpd.conf

可以看到其中配置如下

阿里云轻量应用服务器wordpress升级php版本

我们只需要修改其中socket的文件路径指向到新版本的PHP就可以了,在/usr/local/php73/etc/php-fpm.d/www.conf有指定,新的配置到/home/www/logs/php73-fpm.sock即可,如图

阿里云轻量应用服务器wordpress升级php版本

重启服务

  1. # 停止旧版本的PHP(实际不停止也不影响,停止可以减少一些系统资源占用)
  2. /etc/init.d/php-fpm stop
  3. # 启动新版PHP-FPM
  4. /etc/init.d/php-fpm73 start
  5. #启动报错请修改文件名
  6. 修改/usr/local/php73/etc/php-fpm.conf.default为php-fpm.conf
  7. # 重启apache
  8. /etc/init.d/apachectl restart

版本验证

站点根目录是/home/www/htdocs/,放入phpinfo探针即可检测PHP版本

阿里云轻量应用服务器wordpress升级php版本

至此轻量应用服务器wordpress镜像更新PHP版本操作已完成,可以愉快的更新wordpress到新版本了。

原文链接,转载自云栖社区,添加一个错误解决方案。

发表评论 取消回复
表情 图片 链接

  1. izk Lv 1

    升级后登录wordpress出现这个
    Unable to round-trip http request to upstream: dial tcp xxx.xxx.xxx.xxx: connectex: No connection could be made because the target machine actively refused it.

    • 许都 站长

      @izk防火墙的问题

  2. 流金岁月 Lv 1

    阿里云的轻量用来做博客还是不错的,特别是香港的

分享