web-dev-qa-db-ja.com

httpdにRedHatソフトウェアコレクションのrh-php56を使用させる方法

HttpdにRedHat Software Collectionsのrh-php56を使用させることに成功した人はいますか?

CLIで新しいバージョンのphpを有効にする方法に関するドキュメントがありますが、Apacheにrh-php56パッケージを介してインストールされた新しいバージョンのPHPを使用させるためではありません。

(明確にする必要があります-これはRHEL 7.xボックス用です)

10
Mike Broyles

rh-php56はhttpd24に対してのみmod_phpを提供します(ベースシステム用ではありません)

より簡単な方法は、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>
5
Remi Collet

LoadModuleコマンドをhttpd.confに追加し、RHSCLからphp56モジュールをポイントします。

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

これは一般的にはうまくいくようですが、私は基本的なページレンダリングのみをテストしました。通常のApache構成でのSpecialCollectionsモジュールのロードに関連するバグがいくつかあったとしても驚かないでしょう。結局のところ、RH Special Collectionsパッケージは、競合を回避するために、ファイルシステムの完全に異なる部分に意図的にインストールされます。構成の問題を回避するために、RHSCLのHTTPD24とPHP56の使用を検討することをお勧めします。

1
GracefulCode

最近、RHEL7マシン上のいくつかのPHP webappsでphp56へのアップグレードに対処する必要がありました。httpd24ルートを調べたところ、何らかの理由で、ストックを使用する方がはるかに簡単なようですnginxRHELパッケージとrh-php56-phpおよびrh-php56-php-fpm

  1. 必要なrh-php56-phpパッケージをインストールします
  2. rh-php56-php-fpm systemdサービスを有効にして開始し、php-fpm/etc/opt/rh/rh-php56/を構成します(つまり、php-fpm.confファイルとphp-fpm.d/www.confファイルを編集します)。 php-fpmがUNIXソケットでリッスンするか、少なくともTCP)経由でリッスンするかを決定する必要があります。また、トラブルシューティングに役立つようにログを適切に構成することもお勧めします。
  3. Php-fpmunixソケットまたはTCPアドレス、たとえばlocalhost:9000にプロキシするようにnginxを構成します。php-fpmおよびDrupal/Mediawiki/Wordpress /など。
0
A Lee