【问题标题】:How to permanent enable PHP 5.4 on RHEL? (PHP 5.3.3 also installed on the system)如何在 RHEL 上永久启用 PHP 5.4? (系统上也安装了 PHP 5.3.3)
【发布时间】:2014-10-23 19:53:41
【问题描述】:

我最近在 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

【问题讨论】:

    标签: php rhel6


    【解决方案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
    

    【讨论】:

    • 对不起@Franz Holzinger 这不是问题,PHP54 安装成功:[me@mordor ~]$ rpm -qa | grep php54 php54-1.1-5.el6.x86_64 php54-php-common-5.4.16-16.el6.x86_64 php54-runtime-1.1-5.el6.x86_64 php54-php-process-5.4.16-16.el6 .x86_64 php54-php-xml-5.4.16-16.el6.x86_64 php54-php-cli-5.4.16-16.el6.x86_64 php54-php-pear-1.9.4-10.el6.noarch 我的问题是让它永久启用,但我想我在 RedHat 开发者博客上找到了答案 link 将很快更新帖子。
    • 那么 PHP 5.4 就永久存在了。这不就是你想要的吗?
    • 我需要在服务器上永久启用。似乎唯一的方法是在“/etc/profile.d”下添加一个脚本并包含“source /opt/rh/php54/enable”命令。
    • 但是,“rpm -qa | grep php”的输出仅在您已经激活 PHP 5.4 后用于您的会话。也许您不再需要服务器上以前的 php 5.3 了?如果是这样,那么您可以用 PHP 5.4 完全替换 PHP 5.3。我找到了这个。 link ## 在 RHEL 上安装 ## # yum --enablerepo=remi,remi-test install php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php -mbstring php-mcrypt php-xml php-pecl-apc php-cli php-pear php-pdo
    【解决方案2】:

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

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

    Permanently Enable a Software Collection

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

    【讨论】:

      【解决方案3】:

      如果您希望永久启用 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。

      【讨论】:

      • 最初的问题没有问任何关于 Apache 的问题。您的答案不适用于 CLI 上的 PHP 或其他 Web 服务器设置(例如 PHP-FPM)。
      猜你喜欢
      • 1970-01-01
      • 2012-06-11
      • 2017-08-29
      • 1970-01-01
      • 1970-01-01
      • 2014-02-11
      • 1970-01-01
      • 2012-03-21
      • 1970-01-01
      相关资源
      最近更新 更多