2015-07-01 24 views
8

任何人在使用httpd在Red Hat軟件集合中使用rh-php56方面有什麼好運?如何強制httpd使用紅帽軟件集合中的rh-php56

我看到了有關如何在CLI上啓用較新版本的PHP的文檔...但不是讓Apache使用通過rh-php56軟件包安裝的PHP新版本。

(我要澄清 - 這是一個RHEL 7.x的框)

回答

4

RH-php56提供mod_php的僅httpd24(未對基本系統)

更簡單的方法是使用PHP-FPM (其也允許在線程模式運行Apache)

參見:

總結上面的帖子,在/etc/httpd/conf.d/php.conf

# Redirect to local php-fpm is mod_php not available 
<IfModule !mod_php5.c> 
    <FilesMatch \.php$> 
     SetHandler "proxy:fcgi://127.0.0.1:9000" 
    </FilesMatch> 
</IfModule> 
+0

圍繞它有什麼新的發展?我在CentOS 7上遇到了同樣的問題,無法'httpd'使用'rh-php56'。我不想通過php-fpm重定向請求,這似乎是錯誤的?或者我只是太ocd ... – Odyss3us

+1

恕我直言mod_php應該死;)FPM是更好的安全(單獨的進程),併爲性能(允許在線程模式下運行Apache)。 –

+0

太棒了,感謝您的反饋Remi! :) – Odyss3us

1

使用的LoadModule命令添加到您的httpd.conf文件並將其指向從php56模塊RHSCL:

LoadModule php5_module /opt/rh/httpd24/root/usr/lib64/httpd/modules/librh-php56-php5.so 

這通常似乎適用於我,但我只測試了基本頁面呈現。如果在常規的Apache配置中加載特殊集合模塊有一些錯誤,我不會感到驚訝。畢竟,RH Special Collections包有意安裝到文件系統的完全不同的部分以避免衝突。您可能需要考慮使用RHSCL中的HTTPD24以及PHP56來避免配置問題。

0

我剛剛不得不面對在RHEL 7機器上升級到php56的一些PHP webapps。我查看了httpd24路由,出於某種原因,僅使用nginx版本的RHEL包與rh-php56-phprh-php56-php-fpm似乎簡單得多。

  1. 安裝你需要
  2. 啓用並啓動rh-php56-php-fpm systemd服務和配置/etc/opt/rh/rh-php56/php-fpm(即,編輯php-fpm.confphp-fpm.d/www.conf文件)rh-php56-php包。您需要決定是否希望php-fpm至少在unix套接字上或通過TCP進行監聽,並且正確配置日誌記錄以幫助排除故障也是一個不錯的主意。
  3. 將nginx配置爲代理到您的php-fpm unix套接字或TCP地址,例如localhost:9000。在php-fpm和Drupal/Mediawiki/Wordpress等的nginx配置上有大量的googleable資源。