当前位置:首页 > PHP教程 > php环境安装 > 列表

Centos下PHP5升级为PHP7的方法

发布:smiling 来源: PHP粉丝网  添加日期:2022-06-03 08:53:26 浏览: 评论:0 

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-devel

yum -y install httpd-devel

find /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

一般都可以解决问题。

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.conf

cp /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相关模块)

  1. <IfModule prefork.c> 
  2.  
  3.   LoadModule php7_module modules/libphp7.so 
  4.  
  5. </IfModule>  
  6.  
  7. <Files ".user.ini"
  8.  
  9.     <IfModule mod_authz_core.c> 
  10.  
  11.         Require all denied 
  12.  
  13.     </IfModule> 
  14.  
  15.     <IfModule !mod_authz_core.c> 
  16.  
  17.         Order allow,deny 
  18.  
  19.         Deny from all 
  20.  
  21.         Satisfy All 
  22.  
  23. </IfModule> 
  24.  
  25. </Files> 
  26.  
  27. DirectoryIndex index.php 
  28.  
  29. # mod_php options 
  30.  
  31. <IfModule  mod_php7.c> 
  32.  
  33.     <FilesMatch \.php$> 
  34.  
  35.         SetHandler application/x-httpd-php 
  36.  
  37. </FilesMatch> 
  38.  
  39.     php_value session.save_handler "files" 
  40.  
  41.     php_value session.save_path    "/var/lib/php/session" 
  42.  
  43.     php_value soap.wsdl_cache_dir  "/var/lib/php/wsdlcache" 
  44.  
  45. </IfModule> 

10、重启apache服务器

service httpd restart

Tags: PHP5升级为PHP7

分享到: