由于支付宝SDK只支持php7.1,因为需要删除之前安装的7.2版,进行降级。通过yum remove不能完全删除php,必须通过rpm方式卸载。由于php安装模块间有依赖,因此需要按顺序进行卸载。如下:

  1. rpm -e php72w-fpm-7.2.13-1.w7.x86_64
  2. rpm -e php72w-mysqlnd-7.2.13-1.w7.x86_64
  3. rpm -e php72w-pecl-redis-3.1.6-1.w7.x86_64
  4. rpm -e php72w-pecl-igbinary-2.0.5-1.w7.x86_64
  5. rpm -e php72w-pdo-7.2.13-1.w7.x86_64
  6. rpm -e php72w-pear-1.10.4-1.w7.noarch
  7. rpm -e php72w-devel-7.2.13-1.w7.x86_64
  8. rpm -e php72w-cli-7.2.13-1.w7.x86_64
  9. rpm -e php72w-embedded-7.2.13-1.w7.x86_64
  10. rpm -e php72w-xml-7.2.13-1.w7.x86_64
  11. rpm -e php72w-gd-7.2.13-1.w7.x86_64
  12. rpm -e php72w-bcmath-7.2.13-1.w7.x86_64
  13. rpm -e php72w-process-7.2.13-1.w7.x86_64
  14. rpm -e php72w-mbstring-7.2.13-1.w7.x86_64
  15. rpm -e php72w-opcache-7.2.13-1.w7.x86_64
  16. rpm -e php72w-common-7.2.13-1.w7.x86_64

此外重新安装php7.1的时,安装mysqlnd扩展是会与自带的mysql扩展冲突,必须先卸载mysql扩展再安装。

  1. rpm -qa|grep mysql
  2. rpm -e php71w-mysql-7.1.26-1.w7.x86_64
  3. yum -y install php71w-mysqlnd.x86_64

如果不安装mysqlnd扩展,在链接数据库时(如使在CI中指定mysqli驱动,lumen默认pdo没有这个问题)可能由于库的头文件版本太低导致链接数据库失败。

04-21 00:53