2

我最近在 RHN Software Collection 1.1 的 RHEL 6.5 服务器上安装了 PHP54 该软件包已成功安装,需要提及的是服务器上现有的先前安装的 PHP 版本(5.3.3)是当前启用的版本.

我检查了几个站点/论坛/博客,建议总是相同的,通过 scl(从软件集合环境设置和运行软件)启用和/或获取文件“/opt/rh/php54/enable”。这似乎是启用 PHP54 的正确解决方法,如下面的命令所示。

但这不是永久性的,一旦我退出 shell,启用 PHP 的用户就会丢弃更改。注意:这些命令已以“root”身份运行,其行为与以下命令中显示的完全相同。

我找到了将源解决方法添加到用户的“.bash_profile”中的参考,但对我来说似乎不是最好的解决方案,我想知道其他人是否已经遇到过这个问题以及它是怎么回事解决了。

有什么建议么?

[mithrandir@mordor ~]# scl enable php54 "php -v"
PHP 5.4.16 (cli) (built: Feb  4 2014 08:10:51)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies


[mithrandir@mordor ~]# php -v
PHP 5.3.3 (cli) (built: Jul 15 2014 08:48:08)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies


[mithrandir@mordor ~]# source /opt/rh/php54/enable
[mithrandir@mordor ~]# php -v
PHP 5.4.16 (cli) (built: Feb  4 2014 08:10:51)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies


[mithrandir@mordor ~]# date
Fri Aug 29 12:29:35 MDT 2014

[mithrandir@mordor ~]# exit
logout

[me@mordor ~]$ sudo su -
[sudo] password for me:

[mithrandir@mordor ~]# php -v
PHP 5.3.3 (cli) (built: Jul 15 2014 08:48:08)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

[mithrandir@mordor ~]# date
Fri Aug 29 12:29:57 MDT 2014
4

3 回答 3

3

似乎为了从 RH Software Collection 启用软件包,唯一的方法是在“/etc/profile.d”下添加一个脚本并包括“source /opt/rh/php54/enable”命令。

这是 RH 开发者博客的链接,显示了解决方案。请注意,它适用于 python33,但此解决方法适用于 RHSC 中包含的软件,例如 PHP54。

永久启用软件集合

我实施了解决方案并且它正在工作。我希望这对其他人有帮助。

于 2014-08-29T22:39:18.267 回答
1

打开命令外壳窗口并检查已安装的 PHP rpm 包。

# rpm -qa | grep php

应该有一个 Apache php 模块。您需要下载一个 rpm 文件,它将 PHP 添加到您的 Apache Web 服务器。使用网站http://blog.famillecollet.com/post/2013/06/16/Red-Hat-will-provide-PHP-5.4-for-RHEL-6。在这里您可以找到如何永久安装 PHP 5.4 的提示:

# source /opt/rh/php54/enable
# php -v
PHP 5.4.14 (cli) (built: May 23 2013 07:42:19) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
于 2014-08-29T19:16:00.980 回答
-1

如果您希望永久启用 PHP 5.4 并且您的 /etc/conf.d/ 目录中有 PHP 5.4 的 conf 文件(可能是 php54-php.conf),您可以注释掉 /etc/conf.d/php 中的行.conf 加载 PHP 5.3 模块:

<IfModule prefork.c>
  LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
  LoadModule php5_module modules/libphp5-zts.so
</IfModule>

您还可以删除 /etc/conf.d/php.conf 或重命名文件以删除 .conf 扩展名,以便 /etc/conf/httpd.conf 不加载它。完成上述任一操作后,重新启动 Apache 以加载 PHP 5.4。

于 2014-11-19T09:22:55.217 回答