我有一个运行 Fedora Core 5 的 Web 服务器(是的,我知道它很旧),它运行的是 PHP 5.1.6,所以我下载并编译了 5.2.9 的源代码并重新启动服务器,phpinfo() 仍然返回 5.1.6 .
$ which php
/usr/local/bin/php
但是当我在这个 PHP 安装上进行版本切换时,我得到了
$ /usr/local/bin/php -v
PHP 5.2.9 (cli) (built: May 26 2009 10:17:42)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
我可能错过了什么,或者我该如何纠正?
很多事情都可能出错了。您可能正在加载错误的共享库。Apache 可以使用旧版本 PHP 的静态库构建。如果您开箱即用地安装了支持 PHP/Apache 的 fedora,它可能会将 php 二进制文件放在非标准位置。
我首先检查 httpd.conf 以查看它是共享模块、CGI 还是静态库。如果它是一个共享模块,您需要重建 PHP。如果它是 CGI,那么您只需要更改目录。如果它是静态构建的,则需要重新构建 Apache。
回复:http://www.php.net/manual/en/install.unix.apache.php
似乎您使用
/usr/local
前缀编译。您的 Apache 可能正在从其默认位置加载旧 PHP。Grep 虽然 Apache
.conf
文件查找LoadModule php5_module
并更改它以从/usr/local
.您还应该为 Apache 更新新的 PHP 模块。确保在
httpd.conf
.