PHPをビルドしてApacheと連携させる方法

PHPをビルドしてApacheと連携させる方法

Posted at January 14,2020 11:55 PM
Tag:[Apache, php]

PHPをビルドしてApacheと連携させる方法を紹介します。

1.はじめに

ブラウザからPHPファイルを読み込ませたいため、Linux(CentOS)のApache2.4にPHP5.xを組み込んでみました(Apacheはインストール済)。

# yum install php

インストール後、httpd.confに下記の2行を追記。

LoadModule php5_module /usr/lib64/httpd/modules/libphp5.so
 :
AddType application/x-httpd-php .php

が、Apacheを再起動したところ、下記のエラーが発生しました。

# cd /usr/local/apache2/bin
# ./apachectl restart
httpd: Syntax error on line 150 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/lib64/httpd/modules/libphp5.so into server: /usr/lib64/httpd/modules/libphp5.so: undefined symbol: unixd_config

追加したLoadModuleディレクティブでひっかかっているようです。

ネットで調べたところ、yumでインストールしたApache2.4とPHP5ではうまく連携できないようです。

Apache2.2に戻せば連携できるようですが、PHPをソースからビルドすれば連携させられることがわかったので、その方法で実施しました。

2.PHPをビルドしてApacheと連携させる

連携させるための仕組みをもう少し説明すると、PHPを手動でインストールする際、Apacheと連携させるためのモジュールlibphp5.soを、Apache2.4にバンドルされているapxsというものを利用して生成します。

yumでインストールしたPHPに含まれていたlibphp5.soは、Apache2.2対応のものだったのかもしれません。

yumでインストールしたPHPを削除

# yum remove php

yumでlibxml2とlibxml2-develをインストール。

# yum install -y libxml2 libxml2-devel

PHP5.x系の最終バージョンをダウンロード

wget http://jp2.php.net/get/php-5.6.40.tar.gz/from/this/mirror -O php-5.6.40.tar.gz

スタンドアローン環境の場合は、https://www.php.net/releases/からphp-5.6.40.tar.gzをダウンロードして、Linuxマシンに転送します。

tar.gzを展開します。

# tar xzf php-5.6.40.tar.gz

展開したディレクトリに移動。

# cd php-5.6.40

Apacheと連携させるためのlibphp5.soを作るために、./configure実行時にapxsを指定します。

# ./configure --with-apxs2=/usr/local/apache2/bin/apxs

これでhttpd.confに

LoadModule php5_module modules/libphp5.so

がビルド時に自動的に設定されます。

後は通常通りのビルドを実施します。

# make
# make test
# make install

ビルド後はApacheを再起動します。

# cd /usr/local/apache2/bin
# ./apachctl restart

/usr/local/apache2/htdocs配下に

<?php phpinfo(); ?>

の内容をindex.phpで作成し、ブラウザでアクセスしてPHPの情報が表示されればOKです。

3.参考

参考サイトは下記です。ありがとうございました。

関連記事
zenback
人気エントリー
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


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

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

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

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