【PHP】阿里云升级PHP到5.5详解
最后更新于:2022-04-01 09:55:57
### 目的
使用新版本PHP,提高代码执行效率
### 和线下环境的不同
数据库采用RDS服务,本地不需要安装MYSQL
使用缓存服务,需要安装官方的memcached扩展
### 需要安装的扩展
memcached,yar,memcached,apc,mycrypt
### 安装
### 升级php
~~~
[root@iZ28vpjayxiZ ~]# yum remove php php-bcmath php-cli php-common php-devel php-fpm php-gd php-imap php-ldap php-mbstring php-mcrypt php-mysql php-odbc php-pdo php-pear php-pecl-igbinary php-xml php-xmlrpc
~~~
~~~
[root@iZ28vpjayxiZ ~]# rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
~~~
~~~
[root@iZ28vpjayxiZ ~]# yum install php55w php55w-bcmath php55w-cli php55w-common php55w-devel php55w-fpm php55w-gd php55w-imap php55w-ldap php55w-mbstring php55w-mcrypt php55w-mysql php55w-odbc php55w-pdo php55w-pear php55w-pecl-igbinary php55w-xml php55w-xmlrpc php55w-opcache php55w-intl php55w-pecl-memcache
~~~
~~~
[root@iZ28vpjayxiZ ~]# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
~~~
### 安装扩展
### MemcacheSASL
~~~
[root@iZ28vpjayxiZ html]# yum install gcc+ gcc-c++
Loaded plugins: security
Setting up Install Process
No package gcc+ available.
Package gcc-c++-4.4.7-11.el6.x86_64 already installed and latest version
Nothing to do
[root@iZ28vpjayxiZ html]# yum install cyrus-sasl-plain cyrus-sasl cyrus-sasl-devel cyrus-sasl-lib
[root@iZ28vpjayxiZ ~]# wget https://launchpad.net/libmemcached/1.0/1.0.16/+download/libmemcached-1.0.16.tar.gz
[root@iZ28vpjayxiZ ~]# tar zxvf libmemcached-1.0.16.tar.gz
[root@iZ28vpjayxiZ ~]# cd libmemcached-1.0.16
[root@iZ28vpjayxiZ libmemcached-1.0.16]# ./configure --prefix=/usr/local/libmemcached --enable-sasl
* CPP Flags: -fvisibility=hidden
* LIB Flags:
* Assertions enabled: no
* Debug enabled: no
* Shared: yes
* Warnings as failure: no
* SASL support: yes
* make -j: 2
* VCS checkout: no
[root@iZ28vpjayxiZ libmemcached-1.0.16]# make && make install
[root@iZ28vpjayxiZ libmemcached-1.0.16]# cd ../
[root@iZ28vpjayxiZ ~]# yum install zlib-devel
Loaded plugins: security
Setting up Install Process
Package zlib-devel-1.2.3-29.el6.x86_64 already installed and latest version
Nothing to do
[root@iZ28vpjayxiZ ~]# wget http://pecl.php.net/get/memcached-2.1.0.tgz
[root@iZ28vpjayxiZ ~]# tar zxvf memcached-2.1.0.tgz
[root@iZ28vpjayxiZ ~]# cd memcached-2.1.0
[root@iZ28vpjayxiZ memcached-2.1.0]# phpize
[root@iZ28vpjayxiZ memcached-2.1.0]# ./configure --with-libmemcached-dir=/usr/local/libmemcached --enable-memcached-sasl
[root@iZ28vpjayxiZ memcached-2.1.0]# make && make install
最后修改php.ini文件(locate找该文件,yum安装的一般在/etc/php.ini 如果系统中有两套PHP环境,需找到使用OCS的PHP环境路径,对应修改之),增加extension=memcached.so
memcached.use_sasl = 1
执行php –m |grep memcached 如显结果有 memcache 表示环境已支持memcache
~~~
### yar
~~~
[root@iZ28vpjayxiZ ~]# pecl install channel://pecl.php.net/msgpack-0.5.5
#修改php.ini 增加 extension=msgpack.so
[root@iZ28vpjayxiZ ~]# pecl install yar
yes
#修改php.ini 增加 extension=yar.so
#由于yar需要json支持,所以需要先加载json.so
~~~