Centos下PHP5升级PHP7的方法

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/

1、首先下载PHP7安装包,使用wget http://am1.php.net/distributions/php-7.2.0.tar.bz2,或者直接访问下载,然后ftp到linux服务器

2、解压压缩包,tar –xjf php-7.0.2.tar.bz2

3、进入文件夹,cd php-7.0.2 ,安装必要的依赖工具,yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel

这里主要是升级,一般在php5都安装了,所以这一步可以省略

4. 安装几个依赖(必须安装,否则后面无法生成apache所用的libphp7.so文件)yum -y install perl yum –y install perl-develyum -y install httpd-develfind /usr -name apxs 取得所用路径,后面编译时用到。

5.准备编译工作

./configure –prefix=/usr/local/php7 –with-curl –with-freetype-dir –with-gd –with-gettext –with-iconv-dir –with-kerberos –with-libdir=lib64 –with-libxml-dir –with-MySQLi –with-openssl –with-pcre-regex –with-pdo-mysql –with-pdo-sqlite –with-pear –with-png-dir –with-xmlrpc –with-xsl –with-zlib –enable-fpm –enable-bcmath -enable-inline-optimization –enable-gd-native-ttf –enable-mbregex –enable-mbstring –enable-opcache –enable-pcntl –enable-shmop –enable-soap –enable-sockets –enable-sysvsem –enable-xml –enable-zip –enable-pcntl –with-curl –with-fpm-user=Nginx–enable-ftp –enable-session –enable-xml –with-apxs2=/usr/bin/apxs

**注意:其中的 –enable-gd-native-ttf 可以不安装,处理图形用的,如果有需求可以以后以扩展形式装

–with-apxs2=/usr/bin/apxs 后面的路径改为第4步得到的路径

–prefix=/usr/local/php7 单独安装在php7的文件夹,避免和php5冲突**

6.编译

make

这一步容易出现很多问题,

如果遇到譬如:undefine 。。。。

/ext/cli./php …

Openssl

等等错误,而且确定安装了相关的模块,则一般清除之前的编译,删除相关文件后重新编译 make clean rm –rf /usr/local/php7

一般都可以解决问题。

其他的错误可以参照这篇博客查阅这篇博客:

http://www.cnblogs.com/sweetXiaoma/p/5855732.html

http://www.linuxidc.com/Linux/2017-08/146220.htm

关键还是自行解决,介于linux发行版太多,而且每台服务器的环境配置都不同,所以会遇到很多奇葩的问题。

7.安装

Make install

8.准备配置文件cp php.ini-developement /etc/php.ini //根据实际情况,可以使用production或者development默认配置cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.confcp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

9.需要修改apache的配置文件

Vi /etc/httpd/conf/httpd.conf 找到LoadModule php7_module modules/libphp7.so,如果没有手动加上,

将LoadModule php5_module modules/libphp5.so注释掉

cp /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf_5

Vi /etc/httpd/conf.d/php.conf

改为下面这样:(将涉及到php5的注释掉,改为php7相关模块)<IfModule prefork.c> LoadModule php7_module modules/libphp7.so</IfModule><Files “.user.ini”> <IfModule mod_authz_core.c> Require all denied </IfModule> <IfModule !mod_authz_core.c> Order allow,deny Deny from all Satisfy All</IfModule></Files>DirectoryIndex index.php# mod_php options<IfModule mod_php7.c> <FilesMatch .php$> SetHandler application/x-httpd-php</FilesMatch> php_value session.save_handler “files” php_value session.save_path “/var/lib/php/session” php_value soap.wsdl_cache_dir “/var/lib/php/wsdlcache”</IfModule>

10.重启apache服务器

service httpd restart
免费资源网 – https://freexyz.cn/


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容