--> -->
#blog2navi() *CentOS7+ApacheでPHP5とPHP7を共存させる [#rc879c88] ** 概要 [#bbae49af] -- もともとApache+PHP5.6で動いているサーバー -- 既存の環境には影響を与えたくない -- 新たなVirtualHostだけPHP7で動作させる~ これらを実現するため、PHP5.6は今まで通りモジュールで動かし、PHP7はfcgiで動かします。 ** 手順 [#sefdb1bc] + PHP7.3のインストール~ sudo yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm sudo yum install yum-utils sudo yum-config-manager --enable remi sudo yum install php73-php-{opcache,pecl-apcu,pecl-memcached} sudo yum install php73-php-{opcache,pecl-apcu,pecl-memcached,cli,gd,mbstring,mcrypt,mysqlnd,pdo,xml} sudo yum install php73-php-fpm remiリポジトリでインストールすると、既存のPHP5環境には影響を与えず、別のディレクトリ群にPHP7をインストールすることができます。~ ~ + php-fpmの設定 sudo vi /etc/opt/remi/php73/php-fpm.d/www.conf 以下の部分を変更します。(UNIX socketで接続するケース) listen = /var/run/php-fpm/php-fpm.sock listen.owner = apache listen.group = apache listen.mode = 0660 pidファイルを作成するためのディレクトリを作ります。 sudo mkdir /var/run/php-fpm ~ + Apacheの設定 sudo vi /etc/httpd/conf.d/vhost.conf php-fpmとの連携を追記します。 <VirtualHost *:443> ServerName vhost.example.jp DocumentRoot /var/www/hoge <FilesMatch \.php$> SetHandler proxy:unix:/var/run/php-fpm/php-fpm.sock|fcgi://localhost </FilesMatch> : </VirtualHost> 通常のVirtualHost設定に、<FilesMatch>〜</FilesMatch>部分を追加するだけです。~ ~ また、長い処理がタイムアウトにならないよう、適当な時間を設定してあげます。これは、xdebugなどでステップ実行している時間も算入されますので、デバッグする場合は長めにする必要があります。 ProxyTimeout 300 ~ + 起動 sudo systemctl start php73-php-fpm sudo systemctl enable php73-php-fpm sudo systemctl reload httpd 上記の例で言うと、&inlinecode{/var/www/hoge/inde.php};などを作って、&inlinecode{https://vhost.example.jp/};にアクセスし、表示されれば成功です。~ 上記の例で言うと、&inlinecode{/var/www/hoge/index.php};などを作って、&inlinecode{https://vhost.example.jp/};にアクセスし、表示されれば成功です。~ この方法であれば、恐らく(試してないけど)何個でも異なるバージョンのPHPを共存させることが可能だと思います。(その場合sockファイル名は分ける) ** 参考 [#z60cb277] -- [[Yum で複数バージョンの PHP を共存させる:https://qiita.com/bezeklik/items/860ba080bf4c664cd8e9]] -- [[ApacheでPHP-FPMを動かすなら、ProxyPassMatchではなくSetHandlerを使うのがいいらしい:https://qiita.com/shimoju/items/8e9c2a7bddd64e878799]] #htmlinsert(twitterbutton.html) RIGHT:Category: [[[Linux>日記/Category/Linux]]] - 12:11:43 ---- RIGHT:&blog2trackback(); #comment(above) #blog2navi()