聊聊这两天在linux安装PHP7遇到的坑,真的是坑死人不偿命啊

前情摘要:

这两天要在虚拟机上部署项目,用于测试在linux上项目效果怎样,然后这两天就一直在部署apache+mysql+php

其实部署还是很简单的具体的apache和mysql部署方法请看其他两篇博文:

apache:http://www.cnblogs.com/sunshine-H/p/8110608.html

mysql:http://www.cnblogs.com/sunshine-H/p/8109403.html

PHP在我安装apache的时候就一起安装了,但是当我

#php -v

查看php版本的时候,却发现php是5.6版本的!!!

那这就尴尬了,我的项目都是基于php7去开发的。没办法只能把php5.6卸载了,重新安装php7 lor!

第一步:卸载旧版的PHP

第一个坑来了!

当使用

#yum remove php

确实提示卸载完成了,但是!

在apache部署目录下写个phpinfo.php

<?php

  phpinfo()

?>

在浏览器打开localhost/phpinfo.php一看,竟然还提示php是5.6版本的,然后就有小伙伴说,你还没重启apache服务啊,好吧我重启下

#systemctl restart httpd

再次打开一看,那个尴尬啊!还是存在,具体的解决办法看我另一篇博文,就不在这里赘述:

http://www.cnblogs.com/sunshine-H/p/8117105.html

第二步:开始安装PHP7

①yum安装:

这里不得不说,对于初接触linux的人来说yum源也是个麻烦的事,在你使用yum命令install软件时,提示下最好经常更新yum源

#yum -y update

然后执行如下命令安装epel

#yum -y install epel-release

选择php的yum源

// 更换rpm源,请根据自己的centos版本选择相应的rpm源进行安装

// Centos 5.X:

#rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpmCentOs 6.x:

#rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

// CentOs 7.X:

#rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm

#rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

开始安装

#yum install php70w

当你安装完了,安全没事啊,别着急

第二个坑又来了!

当你想对mysql进行连接的时候,这时你发现你需要安装扩展啊,好我们执行扩展安装命令

#yum install php-mysql

如果小伙伴完全卸载旧版php的话基本不会遇到这个坑的,但是不排除部分小伙伴还是会遇到,报错如下:

php70w-common conflicts with php-common-5.4.16

当时遇到这个问题我是绝望的,为什么?因为无论我用yum卸载还是rpm处理都没法删掉php-common-5.4.16这个毒瘤!

后来发现删不了就不删了,既然那些扩展是依赖php的版本选择性安装的,那就换个思路去处理好了,还是上面那个安装mysql拓展的命令

解决办法:yum install php70w-mysql

你会发现,咦!竟然可以安装了,没错,就是这么简单,但是却浪费我几个小时。

第三步:安装依赖包

下面提供一些常用的需要安装的依赖包:

 

第四步:部署项目

部署项目也没什么好说的了,直接说我遇到的坑吧。

第三个坑!请看下图:

Warning: mysql_connect(): Headers and client library minor version mismatch. Headers:50547 Library:50631 in /XXX(某某目录)/wp-db.php on line 1520

虽然是警告,但是有的界面会因此打不开,甚是头疼,前不久用的是腾讯云服务器同样的部署方式并没有出现这个警告,一头雾水。

使用:

php -i|grep Client  

查询当前Client 版本,结果如下:

Client API version => 5.6.31
Client API library version => 5.6.31
Client API header version => 5.5.47-MariaDB
Client API version => 5.6.31

好吧,出现了一个异类!!

据某大牛说,版本不兼容,需升级MariaDB版本至少到5.6.31或许可以解决。我的系统是CentOS7.2版本,众所周知,CentOS从7.x系列版本开始抛弃了MySQL,缺省安装的是MariaDB,虽然MariaDB兼容MySQL,但是我还是比较喜欢MySQL,所以我给服务器强制安装了MySQL,也希望一直用下去,对于这个情况,升级MariaDB这条路是不能走了。考虑当前安装的是php-mysql驱动,而当前的php版本比较新,想到这个奇葩是不是因为驱动版本较低造成的,于是尝试以下操作:

# yum remove php-mysql

 

# yum install php70w-mysql     //注意这里的70w是我自己的php7的版本,上面也有提到过,自己注意吧,换成自己的就好

先卸载较低版本的 php-mysql驱动,再升级安装新版的php-mysqlnd驱动。

 

OK,再重启下httpd和mysql服务:

# systemctl restart httpd

# systemctl restart mysqld

然后重新试下打开项目,完美,可以了。

-----------------------------------------------------------------小小分割线:20180102-----------------------------------------------------------------------

后面遇到什么问题都会继续在这里更新!

祝大家新年快乐!

欢迎大家到下方留言!

 

 

 

 

  1. php -i|grep Client  

转载于:https://www.cnblogs.com/sunshine-H/p/8144953.html

### 回答1: "3n+1"猜想是一个数学上的问题,即对于一个正整数,如果它是奇数,则将它乘3加1,如果它是偶数,则除以2,重复这个过程直到得到1为止。猜想说明管从什么数字开始,都会最终得到1。但是,迄今为止尚未证明该猜想是否成立。 ### 回答2: 1001 害死人偿命的(3n 1)猜想是一种数学猜想,也被称为Collatz猜想。这个猜想提出了以下的问题:对于任意正整数n,无论它是什么样的初始值,经过一系列的操作后,最终都会变成1。 具体的操作规则如下: - 如果n是偶数,则将它除以2; - 如果n是奇数,则将它乘以3再加1; - 将得到的结果再次应用相同的规则; 实际上,这个猜想对于很多非常大的正整数都是成立的,但至今没有找到任何反例来证明它的普遍性。数学家们已经通过计算机模拟和证明,验证了该猜想在很多情况下成立,但没有找到一种通用的方法来证明它对于所有正整数都成立。 这个猜想非常有趣,因为它涉及到了奇偶数的性质,并引发了人们对于数学规律和模式的思考。虽然目前没有人能够证明该猜想的普遍性,但研究该猜想的过程中产生了许多有趣的数学思考和推论。 总的来说,1001 害死人偿命的(3n 1)猜想是一个仍未解决的有趣数学问题,它激发了人们对于数学规律和模式的探究,并且需要更深入的研究和证明来解开这个谜题。 ### 回答3: 1001 害死人偿命的(3n 1)猜想是一个数论问题,通常称为“奇怪的猜想”。这个猜想是指对于任意一个正整数n,我们可以使用以下迭代规则得到一个数列: 如果n是奇数,则下一项为3n+1; 如果n是偶数,则下一项为n/2。 迭代进行直到n等于1为止。猜想是无论选取的初始正整数n是多少,最终都会得到1。然而,这个猜想迄今为止还没有被证明。 尽管数学家尝试使用计算机算法验证了大量的n,结果都能够得到1,但这能证明对于所有的正整数n都成立。同时,也存在一些例外的数,如n = 27,其经过迭代后会得到1。 对于这个猜想的证明或证伪是一个悬而未决的问题,超过一个世纪以来,许多数学家一直试图解决这个问题。目前还没有找到一个一般性的证明或者反例。 尽管如此,这个猜想激发了数学家们对于数论、迭代算法和数学模式的深入研究。无论最终结果如何,这个猜想都为数学界提供了一个有趣的问题,推动了数学领域的发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值