扫码关注官方订阅号
84669人学习
65727人学习
82984人学习
467778人学习
498837人学习
471966人学习
256484人学习
152542人学习
224170人学习
139536人学习
81804人学习
85022人学习
11944人学习
20001人学习
60816人学习
5487人学习
15007人学习
2150人学习
6980人学习
194925人学习
359900人学习
1142人学习
19058人学习
3206人学习
180550人学习
48569人学习
17603人学习
40936人学习
1049人学习
750人学习
32909人学习
请问如何升级mysql版本和php版本
下载解压
去php官方下载页面,随便选择一个你的服务器所在国家的镜像,鼠标右键复制链接。
$ wget http://am1.php.net/get/php-7.0.0.tar.gz/from/this/mirror
解压下载到的压缩包
$ tar xf php-7.0.0.tar.gz$cd php-7.0.0
安装前配置
解决依赖包
yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel
利用linux的make安装方式,我们需要在make之前对软件的编译进行配置。这里需要留意,如果编译之前没有配置对应的选项,会导致不生成某些模块,后面可能会遇到问题。
./configure --prefix=/usr/local/php7 \--with-config-file-path=/usr/local/php7/etc \--with-config-file-scan-dir=/usr/local/php7/etc/php.d \--with-apxs2=/usr/local/apache/bin/apxs \--with-mcrypt=/usr/include \--enable-mysqlnd \--with-mysqli \--with-pdo-mysql \--with-gd \--with-iconv \--with-zlib \--enable-xml \--enable-shmop \--enable-sysvsem \--enable-inline-optimization \--enable-mbregex \--enable-mbstring \--enable-ftp \--enable-gd-native-ttf \--with-openssl \--enable-pcntl \--enable-sockets \--with-xmlrpc \--enable-zip \--enable-soap \--without-pear \--with-gettext \--enable-session \--with-curl \--with-jpeg-dir \--with-freetype-dir \--enable-opcache
上面的这段配置,蓝色选项根据你的服务器部署,修改成为你自己的实际路径。
编译安装
原本在linux中,在configure之后,只需要make就可以进行编译了,但是由于不同的环境,会出现不同的错误,比如我的服务器上,出现了提示libiconv错误,我在往上还看到libmcrypt错误。所以,在编译的时候,我们可能需要根据编译中出现的情况,安装对应的一些模块或软件环境。如果编译错误后无法继续编译,可以使用make clean再来编译。
我再编译的时候,出现了libiconv错误,同时,我们的服务器是双核的,所以,我用了下面的命令进行编译:
$ gmake -j2 ZEND_EXTRA_LIBS='-liconv'
-j2表示用双核cup去编译,编译速度更快。总之,编译中出现了什么错误,就到网上去查怎么解决。
完成编译之后,进行安装即可。
$ make install
配置apache
如果上面的编译安装正常,由于我们配置了apxs选项,所以在编译的时候,make会对apache的apxs进行调用操作,结果就是在apache的安装目录下的modules目录下生成libphp7.so,并在apache的配置文件httpd.conf中增加一行
LoadModule php7_module modules/libphp7.so
一看就明白了,就是让apache去加载一个新的libphp7.so模块。但是我们仍然要对httpd.conf进行修改,重新配置apache。找到LoadModule php,你会发现,竟然出现了两行LoadModule,同时加载了php5和php7,如下:
LoadModule php5_module modules/libphp5.soLoadModule php7_module modules/libphp7.so
我们把第一行给注释掉,而且还要增加一个PHPIniDir的配置项,即修改为如下:
#LoadModule php5_module modules/libphp5.soLoadModule php7_module modules/libphp7.soPHPIniDir /usr/local/php7/etc
重启apache,现在可以写一个phpinfo去试试看了。
php的配置文件
在php默认安装状态下你可能发现 /usr/local/php7下没有etc目录,也就没有php.ini文件。这是正常的,不过你可以自己创建php.ini,也可以从php源码目录中找到两个php.ini-xxx文件,拷贝一个过去,改名为php.ini即可。
cd ~/php-7.0.0mkdir /usr/local/php7/etccp php.ini-production /usr/local/php7/etc/php.ini
如果你的服务器上面还安装了mysql,其实不用再做其他配置,我们在configure的时候,让php7也支持mysql,如果你原来的lamp环境中已经可以正常连接mysql了,那么现在php7其实也可以正常连接mysql,mysql不需要做任何配置修改。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
精品班
技术支持
技术咨询
学习群
会员优惠
返回顶部
下载解压
去php官方下载页面,随便选择一个你的服务器所在国家的镜像,鼠标右键复制链接。
解压下载到的压缩包
$ tar xf php-7.0.0.tar.gz$cd php-7.0.0
安装前配置
解决依赖包
利用linux的make安装方式,我们需要在make之前对软件的编译进行配置。这里需要留意,如果编译之前没有配置对应的选项,会导致不生成某些模块,后面可能会遇到问题。
上面的这段配置,蓝色选项根据你的服务器部署,修改成为你自己的实际路径。
编译安装
原本在linux中,在configure之后,只需要make就可以进行编译了,但是由于不同的环境,会出现不同的错误,比如我的服务器上,出现了提示libiconv错误,我在往上还看到libmcrypt错误。所以,在编译的时候,我们可能需要根据编译中出现的情况,安装对应的一些模块或软件环境。如果编译错误后无法继续编译,可以使用make clean再来编译。
我再编译的时候,出现了libiconv错误,同时,我们的服务器是双核的,所以,我用了下面的命令进行编译:
-j2表示用双核cup去编译,编译速度更快。总之,编译中出现了什么错误,就到网上去查怎么解决。
完成编译之后,进行安装即可。
$ make install
配置apache
如果上面的编译安装正常,由于我们配置了apxs选项,所以在编译的时候,make会对apache的apxs进行调用操作,结果就是在apache的安装目录下的modules目录下生成libphp7.so,并在apache的配置文件httpd.conf中增加一行
一看就明白了,就是让apache去加载一个新的libphp7.so模块。但是我们仍然要对httpd.conf进行修改,重新配置apache。找到LoadModule php,你会发现,竟然出现了两行LoadModule,同时加载了php5和php7,如下:
LoadModule php5_module modules/libphp5.soLoadModule php7_module modules/libphp7.so
我们把第一行给注释掉,而且还要增加一个PHPIniDir的配置项,即修改为如下:
重启apache,现在可以写一个phpinfo去试试看了。
php的配置文件
在php默认安装状态下你可能发现 /usr/local/php7下没有etc目录,也就没有php.ini文件。这是正常的,不过你可以自己创建php.ini,也可以从php源码目录中找到两个php.ini-xxx文件,拷贝一个过去,改名为php.ini即可。
如果你的服务器上面还安装了mysql,其实不用再做其他配置,我们在configure的时候,让php7也支持mysql,如果你原来的lamp环境中已经可以正常连接mysql了,那么现在php7其实也可以正常连接mysql,mysql不需要做任何配置修改。