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

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

Posted at June 21,2021 11:55 PM
Tag:[Apache, Linux, PHP]

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ディレクトリは削除してください。

関連記事
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)