トップページへ

PHP7.3とApacheを連携させる方法

小粋空間 » Linux » PHP7.3とApacheを連携させる方法

PHP7.3とApacheを連携させる方法を紹介します。

1.問題点

PHPとApacheを連携させるためには、libphpXX.soというApacheモジュールが必要です。

このモジュールはPHPインストール時に自動的に設定されるようですが、今回PHP7.3をyumでインストールした際に、このApacheモジュールがありませんでした。

理由は、apxs(APache eXtenSion tool)というコマンドがLinuxにインストールされていなかったためです。

apxsのインストールは「Linux(CentOS)でapxsがみつからない場合の対処」をご覧ください。

本記事では、そのあとApacheと連係させる方法を紹介します。

特殊なケースと思いますが、参考になれば幸いです。

2.PHP7.3とApacheを連携させる方法

Apacheモジュール(libphp7.so)を、PHPのソースをコンパイルにより生成します。

PHP7.3のソースをダウンロード。wgetできない場合、URLからアーカイブをダウンロードします。

# wget --trust-server-names https://www.php.net/distributions/php-7.3.25.tar.gz

アーカイブを展開し、展開したディレクトリに移動。

# tar -zxvf php-7.3.25.tar.gz
# cd php-7.3.25

./configureの実行。"--with-apxs2=/usr/sbin/apxs"でapxsのパスを指定します。指定しないとlibphp7.soが生成されないので注意してください。

# ./configure --with-apxs2=/usr/sbin/apxs

libxml2など、./configureでエラーが発生する場合は適宜パッケージをインストールしてください。

余談で、libxml2-2.9.9.tar.gz(http://xmlsoft.org/download/)をインストールしましたが、python関連のエラーを避けたいため、./configureで下記のようにしました。

# tar -zxvf libxml2-2.9.9.tar.gz
# cd libxml2-2.9.9
# ./configure --with-python=no
# make
# make install

話を戻して、PHPの./configureが成功後、コンパイルします。

# make

これでlibs配下にlibphp7.soが生成されました。

# cd libs
# ls -l
total 34876
-rw-r--r-- 1 root root     1057 Apr 29 19:53 libphp7.la
-rwxr-xr-x 1 root root 35707918 Apr 29 19:53 libphp7.so

make installは実行せず、libphp7.soを/etc/httpd/modulesにコピー。

# cp libphp7.so /etc/httpd/modules/

あとは、httpd.confに下記の設定を追加します。

LoadModule php7_module modules/libphp7.so
 :
<FilesMatch \.php$>
     SetHandler application/x-httpd-php
</FilesMatch>

設定後、サーバを再起動。

# service httpd restart

これでブラウザからPHPファイルにアクセスして正常に表示されればOKです。

ビルドしたときのphp-7.3.25ディレクトリは削除してください。

« 前の記事へ

次の記事へ »

トップページへ