1

我正在尝试在 centos 服务器上安装 orocrm,它要求 PHP 5.4 和 ICU 库 4.4。虽然我更新了 PHP 并重新启动了 Apache,但如果在 php 页面中输出 phpinfo,我的 php 版本仍然显示 PHP 5.3。但是,如果我使用 php -v 命令,那么它会显示 php 5.5

如果使用 php 页面,则显示 ini 路径 /usr/local/lib/php.ini 但通过命令显示 /etc/php.ini

请帮忙...

4

2 回答 2

0

我有几个想法。如果你在 CentOS 上,你可能使用 YUM 作为你的包管理器。有了它,您可以删除 PHP 并添加一个新的(如果您没有使用它的活动客户端)。您可以通过执行以下操作之一来搜索 yum 的 PHP 版本:

yum list
yum list installed

如果它注册了多个版本,你可以“yum remove $package”。

如果您是 php -v 显示版本 5.5,那么您的路径设置为包含该版本。当 SSH 进入时,您可以通过在命令行中键入 $PATH 来看到这一点。在您的 ~/.bashrc(或 ~/.profile)中,您可以通过添加以下内容来编辑 $PATH:

export PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin

编辑:您应该在编写新路径之前备份您的路径,并在编辑它之后键入“source ~/.bashrc”或“source ~/.profile”以使命令行看到它。

您还可以通过设置别名(如果您不解决问题的根源)直接编辑 .bashrc 中的 php 以指向正确的版本,例如

alias php="/path/to/php"

您可以通过键入以下内容来查看当前 php 的位置:

which php

您的 PHP 扩展来自 apache httpd.conf 文件。你可以在 /etc/apache2/httpd.conf 之类的地方找到它。搜索“LoadModule”或“LoadModule php”并查看您的 apache 指向的 PHP 扩展名。它可能仍然指向不正确的版本。

要回答您关于 ICU 的问题,它来自“intl”扩展。使用 yum,这可能称为 php-intl 或 php54-intl 或 php54w-intl。您可以执行“yum search intl”之类的操作,它应该为您提供确切的扩展名。

我希望这有帮助!

于 2014-01-26T22:37:52.447 回答
0

您编译的 PHP 5.4 没有被 Apache 接收。与其弄清楚如何将 Apache 指向此安装,最简单(并且更安全,因为您将获得安全更新)是使用IUS 社区存储库

于 2014-01-26T22:21:04.693 回答