提前道歉——无论怎么想,我都不是一个好的 Linux 用户。
我有一台 CentOS 5.7 专用服务器,在上面托管一些网站。
我目前已经安装了 php 5.2.10
,但我想更新到5.3.9
.
我尝试手动更新,并php -v
显示5.3.9
.但是,当我 时phpinfo()
,它显示 5.2.10。
第一个问题
我按照以下说明手动更新 PHP:
- 以 root 身份登录
wget
最新的 PHP 安装tar zxvf php-.....gz
cd php-....
./configure
make
apachectl stop
make install
apachectl start
我还尝试通过 重新启动 httpd /usr/sbin/httpd restart
。
php -v
显示最新版本的 PHP,但phpinfo()
在 php 页面上显示旧版本。
知道可能存在什么问题吗?
第二个问题
如果我尝试这样做yum update php
,它会这样说:
加载的插件:fastestmirror
从缓存的主机文件加载镜像速度
电子邮箱:mir01.syntis.net
rpmforge: ftp-stud.fht-esslingen.de
排除全局排除列表中的包
完成的
设置更新流程
参数不匹配:php
没有可用的包
php
。没有标记为更新的软件包
我尝试过yum clean all
添加 rpmforge 存储库 - 同样的结果!
那么,其次,有人知道为什么我无法从 yum 更新 php 吗?我希望将来能够做到这一点,以便我可以快速轻松地使 php 和 mySQL 保持最新状态。
提前致谢,
答案1
如果包含它的存储库已启用,但这种情况仍然发生,则它很可能被排除在/etc/yum.conf
.删除它应该可以解决问题。
答案2
从源代码编译是最好的方法,因为它始终是最新的源代码。当我为我的盒子编译 php 时,它总是给我一个错误的名称。我需要为apache手动修复它:ln -sf /usr/lib/apache2/libphp5.so /usr/lib/apache2/mod_php5.so。但这取决于您的配置。你是否在 make 之后运行了 make test?它应该向您显示更多信息。
答案3
你有没有尝试过yum update
?这将更新所有已安装的软件包。