2014-08-29 75 views
2

我最近在RHN Software Collection 1.1的RHEL 6.5服務器上安裝了PHP54該軟件包已成功安裝,需要提及的是現有的以前安裝的PHP版本(5.3.3)在作爲當前啓用版本的服務器上。如何在RHEL上永久啓用PHP 5.4? (系統上也安裝了PHP 5.3.3)

我已經檢查了幾個網站/論壇/博客,並且建議總是相同的,通過scl(安裝並運行軟件收集環境中的軟件)和/或獲取文件「/ opt/rh/php54/enable」 。這似乎是一個適當的解決方法,以啓用PHP54,可以在下面的命令中看到。

但它不是永久的,只要我退出shell,啓用PHP的用戶所做的更改將被丟棄。 注意:這些命令已以「root」身份運行,其行爲與以下命令中顯示的行爲完全相同。

我發現了將源替代方法添加到用戶的「.bash_profile」中的引用,但似乎並不是我的最佳解決方案,我想知道是否有其他人已經遇到此問題以及它是如何解決的。

有什麼建議嗎?

[[email protected] ~]# 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 


[[email protected] ~]# 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 


[[email protected] ~]# source /opt/rh/php54/enable 
[[email protected] ~]# 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 


[[email protected] ~]# date 
Fri Aug 29 12:29:35 MDT 2014 

[[email protected] ~]# exit 
logout 

[[email protected] ~]$ sudo su - 
[sudo] password for me: 

[[email protected] ~]# 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 

[[email protected] ~]# date 
Fri Aug 29 12:29:57 MDT 2014 

回答

3

看來,爲了使從RH軟件集合包的唯一方法是通過在「/ etc/profile文件添加腳本。 d「幷包含」source/opt/rh/php54/enable「命令。

這是一個鏈接到RH開發者博客,顯示解決方案。請注意,它適用於python33,但是此解決方法適用於包含在RHSC上的軟件,如PHP54。

Permanently Enable a Software Collection

我實現瞭解決方案,這是工作。我希望這可以幫助別人。

1

打開命令shell窗口並檢查已安裝的PHP rpm軟件包。

# rpm -qa | grep php 

應該有一個Apache的PHP模塊。您需要下載一個將PHP添加到Apache Web服務器的rpm文件。 使用網站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 
+0

對不起@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](http://developerblog.redhat。 com/2014/03/19/permanent-enable-a-software-collection /)將很快更新這篇文章。 – 3LRusS1T0 2014-08-29 20:39:28

+0

那麼PHP 5.4是永久存在的。這不是你想要的嗎? – 2014-08-29 21:08:47

+0

我需要它在服務器上永久啓用**。 似乎唯一的方法是在「/etc/profile.d」下添加一個腳本,幷包含「source/opt/rh/php54/enable」命令。 – 3LRusS1T0 2014-08-29 22:34:10

-1

如果您希望PHP 5.4永久啓用,並且您的/etc/conf.d/目錄中包含PHP 5.4(可能是php54-php.conf)的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。

+0

最初的問題沒有詢問有關Apache的任何事情。您的答案不適用於CLI或其他Web服務器設置(如PHP-FPM)的PHP。 – ScottSB 2015-03-03 22:12:38