在不升级操作系统的情况下,怎么升级php?

发布于 2022-10-03 01:01:46 字数 68 浏览 22 评论 0

单位的机器操作系统是redhat7.2,php是rpm方式安装的php-4.0.6-16,想把php升级到4.1.2该怎么升级,谢谢!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

浅沫记忆 2022-10-10 01:01:46

需要保留原来的配置(mysql,apache),该如何做呢?

梦初启 2022-10-10 01:01:46

升级php和升级操作系统没有太多的联系吧,最多只是几个依赖包可能太老在升级php的过程中也许要升级吧?

如果是rpm的,那么找个新版本的rpm的包,然后rpm -Uvh php*.rpm的包就查以了。

如果是用源码包,那么最好是先rpm -e了原来的rpm包,然后./configure --with-mysql=/mysql的路径 --with-apache=/apache的路径 --prefix=/php要安装的路径 --with-gd等等有关的参数。当然apache的话还得看你用的1.X还是2.X,在参数设置上也有所不同的,你可以具体的看看./configure --help吧~!

首先可以把原有软件的配置文件备份出来,如apache/httpd.conf,mysql/my.cnf,php/php.ini。具体位置每种系统不仅相同,找不到可以:find / | grep my.cnf

1。备份出来以后如果是rpm安装的软件如php,就直接找到新版本的php的rpm包,直接升级。
rpm搜索网站: rpm.pbone.net
注意选择高级搜索,然后选定你的Linux版本。不要下载不是面向RH 7.2的rpm包

找到rpm后,下载,安装方法是

rpm -Uvh  php-4.x-rpm

-U代表升级

2。另外一种升级rpm的方式是用yum工具。现看看你的服务器上是否有yum

rpm -qa | grep yum

如果没有,你可以在上面的网站找到给RH7.2用的yum的rpm包
不过yum需要你安装Python,同样在上面的网站找。

安装yum
rpm -ivh yum-2.xxx-.rpm

使用yum
yum check-update
检查你服务器那些软件有可升级文件
如果看到有php,譬如

php-4.1.2

然后执行

yum update php-4.1.2

就可以了

yum的一些高级用法譬如每晚定时更新等你可以上网搜索

注意的是无论哪种方式升级php,完成后别忘了把备份的配置文件拷贝回去。
只不过可能会出现升级后配置文件的一些设定发生变化,譬如对同一个设定的解释不同。如果出现什么问题,具体情况具体对待,看看错误日志等。

葬心 2022-10-10 01:01:46

yyprick 说的对,升级中可能出现依赖问题。

譬如升级A从1.0到2.0,可能需要也把B从1.0升级到2.0

系统会提示你,那就去逐个升级需要升级的包。如果出现这种情况,

rpm -Uvh A-1.0.rpm

提示你需要升级Aa到1.0

而你执行 rpm -Uvh Aa-1.0.rpm但是又提示你需要升级A到1.0

你可以直接

rpm -Uvh A*

傻比既视感 2022-10-10 01:01:46

用rpm升级好像不行
#rpm -Uvh php-4.1.2-7.i386.rpm
error: failed dependencies:
        libcurl.so.2   is needed by php-4.1.2-7
        php = 4.0.6-16 is needed by php-mysql-4.0.6-16
        php = 4.0.6-16 is needed by php-imap-4.0.6-16
        php = 4.0.6-16 is needed by php-pgsql-4.0.6-16

看来要用源码包升级了,升级后如果想卸载源码,该如何卸载?如果要对源码再升级,该如何升级,谢谢!!

梦情居士 2022-10-10 01:01:46

php我觉得最好使用source code来升级,主要看看你现在的系统有没有安装一些开发工具,是否可以编译。如果可以的话,升级的流程非常简单。

暂时不管rpm安装的那个版本,在phpinfo()里面看到rpm的那个版本的configure后面的参数,看看包含什么module,可以直接将这个configure的配置语句copy下来稍后使用

一般我的习惯是将php编译成apache的模块

1、tar xzvf php_xxxx.tar.gz
2、./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs

这里需要找到你实际系统里面apache的路径,如果是apache 1.3那个版本,需要使用--with-apxs。这是两个必要的参数,其他的模块可以根据你的需要进行配置。mysql默认php自带了,不需要制定什么参数,默认就可以连接

3、make
4、make install
5、去apache的httpd.conf文件中确认一下php的配置是否更新,php的安装程序会尝试修改一些,如果还是旧的参数就尝试修改成新的

6、在/usr/local/php/lib/目录下创建新的php.ini,制订正确的路径
7、修改系统的path,将php对应的路径也修改过来
8、重新启动apache,这时候应该没有什么问题了

妳是的陽光 2022-10-10 01:01:46

还有个问题,现在有一些已安装的php-mysql,php-pgsql,如果卸载php的这些rpm包,然后安装php的二进制软件包(tar.gz),对这些程序mysql,apache,postgresql有没有影响,mysql,apache,postgresql都是是rpm方式安装的,谢谢!!

要走就滚别墨迹 2022-10-10 01:01:46

应该没有问题,php开头的rpm都可以删除
如果担心的话可以不删除rpm的东西,反正放着没人用,硬盘空间也不缺这一点

懒的傷心 2022-10-10 01:01:46

如果安装php源码包tar.gz,configure 时需要指定--with-mysql=/mysql的路径 --with-apache=/apache的路径 ,mysql,apache的路径是什么?mysql,apache都是rpm方式安装的,默认是安装到哪里了?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文