我最近在RHN Software Collection 1.1的RHEL 6.5服务器上安装了PHP54 该软件包已成功安装,需要提及的是服务器上现有的已安装的PHP版本(5.3.3)是当前启用的版本。
我检查了几个网站/论坛/博客,建议总是相同的,通过scl启用(从软件集合环境设置和运行软件)和/或获取文件" / opt / rh / php54 /使&#34 ;.这似乎是启用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
答案 0 :(得分:3)
似乎为了从RH Software Collection启用包,唯一的方法是在" /etc/profile.d"下添加一个脚本。并包括" source / opt / rh / php54 / enable"命令。
这是RH devs博客的链接,显示了解决方案。请注意,它适用于python33,但此解决方法适用于RHSC中包含的软件,如PHP54。
Permanently Enable a Software Collection
我实施了解决方案,它正在运行。我希望这有助于其他人。
答案 1 :(得分:1)
打开命令shell窗口并检查已安装的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
答案 2 :(得分:-1)
如果您希望永久启用PHP 5.4并且/etc/conf.d/目录中包含PHP 5.4(可能是php54-php.conf)的conf文件,则可以注释掉/ etc / conf中的行。加载PHP 5.3模块的d / php.conf:
<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。