编译安装PHP7及yaf,yar,redis等扩展
在VPS上已经安装了lnmp,当前的php版本为5.6.9在目录/usr/local/php下,新安装的php7.0.6到/usr/local/php/v70目录下。一、下载编译安装php7:a>#wget -O php-7.0.6.tar.gz http://cn2.php.net/get/php-7.0.6.tar.gz/from/this/mirrorb>#tar -zxvf p
在VPS上已经安装了lnmp,当前的php版本为5.6.9在目录/usr/local/php下,新安装的php7.0.6到/usr/local/php/v70目录下。
一、下载编译安装php7:a>#wget -O php-7.0.6.tar.gz http://cn2.php.net/get/php-7.0.6.tar.gz/from/this/mirror
b>#tar -zxvf php-7.0.6.tar.gz
c>#cd php-7.0.6
d>#./configure --prefix=/usr/local/php/v70 --with-config-file-path=/usr/local/php/v70/etc --with-mysqli=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql --with-iconv-dir=/usr/local/ --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-zlib-dir --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-sysvshm --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap=/usr/ --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap --enable-opcache --enable-ftp --enable-calendar --with-xsl --with-gettext --enable-session --enable-ctype --with-kerberos --with-libdir=/lib/ --with-pcre-regex --enable-exif --with-bz
略显繁琐,此间出现各种各样的报错,如:configure: error: Cannot find ldap libraries in /usr/lib 等.
在网上搜索错误提示,并按解决方法处理,如:
安装openldap: yum install openldap-devel 然后拷贝文件:cp -frp /usr/lib64/libldap* /usr/lib/
其它的未找到库文件之类的报错,按错误提示挨个安装:(如果有的话)
yum install -y libxslt libxslt-devel libxml2 libxml2-devel pcre-devel bzip2 bzip2-devel
最终不在报错,则继续编译安装:
e>#make ZEND_EXTRA_LIBS='-liconv'
超长时间的等待.......
f>#make install
完工, 拷贝配置文件:
#cp ./php.ini-production /usr/local/php/v70/etc/php.ini
至此,php7已经成功安装到/usr/local/php/v70目录下。
二、配置php7的php-fpm与php5的php-fpm共存:
a>复制php7源文件夹中的init.d.php-fpm到/etc/init.d目录: #cp ./sbin/sapi/fpm/init.d.php-fpm /etc/init.d/php7-fpm 编辑php7-fpm文件, 并对照更新下面几行,主要是php-fpm的运行文件、配置文件、pid的路径要一一对应。 #vim /etc/init.d/php7-fpm prefix=/usr/local/php/v70 exec_prefix=${prefix} php_fpm_BIN=${exec_prefix}/sbin/php-fpm php_fpm_CONF=${prefix}/etc/php-fpm.conf php_fpm_PID=${prefix}/var/run/php7-fpm.pid
b>#chmod 777 /etc/init.d/php-fpm7
c>复制一份新的php-fpm.conf: #cp /usr/local/php/v70/etc/php-fpm.conf.default /usr/local/php/v70/etc/php-fpm.conf
d>编辑php-fpm.conf文件, pid文件名与上面的/etc/init.d/php7-fpm里的pid一致; 修改/tmp/php7-cgi.sock使之与原来的php5的/tmp/php-cgi.sock共存。 #vim /usr/local/php/v70/etc/php-fpm.conf
[global] pid = /usr/local/php/v70/var/run/php7-fpm.pid error_log = /usr/local/php/v70/var/log/php7-fpm.log log_level = notice [www] listen = /tmp/php7-cgi.sock listen.backlog = -1 listen.allowed_clients = 127.0.0.1 listen.owner = www listen.group = www listen.mode = 0666 user = www group = www pm = dynamic pm.max_children = 10 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 6 request_terminate_timeout = 100 request_slowlog_timeout = 0 slowlog = var/log/slow.php7.log
e>启动php7-fpm #service php7-fpm start
三、配置更新nginx,使用php7-fpm解析php文件。
a>#vim /usr/local/nginx/conf/nginx.conf
修改此段,fastcgi_pass unit:/tmp/php7-cgi.sock; 使php7解析器工作:
location ~ [^/]\.php(/|$) { try_files $uri =404; fastcgi_pass unix:/tmp/php7-cgi.sock; fastcgi_index index.php; include fastcgi.conf; }
b>重新启动nginx #service nginx restart
四、安装redis
a>安装redis服务器
#yum install redis
b>安装redis的php扩展
#wget -c https://github.com/phpredis/phpredis/archive/php7.zip #unzip php7.zip #cd redis-php7 #/usr/local/php/v70/bin/phpize #./configure --with-php-config=/usr/local/php/v70/bin/php-config #make #make install
此编译过程中,出了点意外,报个library.lo不是合法的libtool库文件什么什么的,
网上找了一圈,解决方法是清除之前编译的可执行文件及配置文件, 重新编译:
#make clean #make && make install
在php.ini中添加redis.so
#vim /usr/local/php/v70/etc/php.ini extension=redis.so
五、安装PHP的yaf扩展
a>下载
#wget http://pecl.php.net/get/yaf-3.0.2.tgz
b>解压、编译、安装,步骤同上面的redis扩展
#tar -zxvf yaf-3.0.2.tgz #cd yaf-3.0.2 #/usr/local/php/v70/bin/phpize #./configure --with-php-config=/usr/local/php/v70/bin/php-config #make && make install
在php.ini中添加yaf.so
#vim /usr/local/php/v70/etc/php.ini extension=yaf.so
六、安装PHP的yar扩展
a>下载
#wget http://pecl.php.net/get/yar-2.0.0.tgz
b>解压、编译、安装,步骤同上:
#tar -zxvf yar-2.0.0.tgz #cd yar-2.0.0 #/usr/local/php/v70/bin/phpize #./configure --with-php-config=/usr/local/php/v70/bin/php-config #make && make install
在php.ini中添加yar.so
#vim /usr/local/php/v70/etc/php.ini extension=yar.so
七、安装PHP的msgpack扩展(主要是yar使用)
a>下载
#wget wget http://pecl.php.net/get/msgpack-2.0.1.tgz
b>解压、编译、安装,步骤同上:
#tar -zxvf msgpack-2.0.1.tgz #cd msgpack-2.0.1 #/usr/local/php/v70/bin/phpize #./configure --with-php-config=/usr/local/php/v70/bin/php-config #make && make install
在php.ini中添加msgpack.so
#vim /usr/local/php/v70/etc/php.ini extension=msgpack.so
八、最后重启一下php7-fpm, 启动redis server, 上面安装的就全部生效了。
a>service php7-fpm restart
b>service redis start
完工。
- 1186
- 0
- 0
- 0
扫一扫分享内容
- 分享
顶部
所有评论(0)