我有一个运行 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
我可能遗漏了什么或者我该如何纠正?
答案1
很多事情都可能出错。您可能加载了错误的共享库。Apache 可能使用旧版 PHP 的静态库构建。如果您安装了支持 PHP/Apache 的 Fedora,则 php 二进制文件可能位于非标准位置。
我首先会检查 httpd.conf,看看它是共享模块、CGI 还是静态库。如果是共享模块,则需要重建 PHP。如果是 CGI,则只需更改目录。如果是静态构建的,则需要重建 Apache。
回复:http://www.php.net/manual/en/install.unix.apache.php
答案2
似乎你编译了/usr/local
字首。
您的 Apache 可能正在从其默认位置加载旧 PHP。通过 Grep 搜索 Apache.conf
文件以查找LoadModule php5_module
并将其更改为从 加载新模块/usr/local
。
答案3
您还应该更新 Apache 的新 PHP 模块。请务必在 中进行验证httpd.conf
。