PHPをソースコードからインストールする

動作確認システム CentOS 7

PHPをソースコードからインストールし、Apacheで動かすようにする。今回インストールするバージョンは、5.6.29である。

PHPをインストールする前に、Apacheをインストールしておく必要がある。まだインストールしていない場合は、Webサーバ(Apache HTTP Server)をソースコードからインストールするを参考に先にApacheのインストールを済ませておく。

事前準備

基本コマンドと開発ツールをインストールしておく。

yum groupinstall base development

PHPが依存しているパッケージをあらかじめインストールする

yum install libxml2-devel libcurl-devel freetype-devel net-snmp-devel libpng-devel libjpeg-turbo-devel openldap-devel libmcrypt-devel readline-devel gd-devel bzip2-devel libicu-devel libwebp-devel gmp-devel libtidy-devel libxslt-devel

インストール

/usr/local/srcに移動してからソースコードをダウンロード、展開する。

cd /usr/local/src
wget https://www.php.net/distributions/php-7.3.6.tar.gz
tar zxvf php-7.3.6.tar.gz

展開したディレクトリの中に入り、configでmakefileを作成し、コンパイル、テスト、インストールする。

cd php-7.3.6/
./configure \
--with-libdir=lib64 \
--with-pic \
--with-bz2 \
--with-freetype-dir \
--with-png-dir \
--with-xpm-dir \
--enable-gd-native-ttf \
--with-gettext \
--with-gmp \
--with-iconv \
--with-jpeg-dir \
--with-curl \
--with-png-dir \
--with-openssl \
--with-pcre-regex \
--with-zlib \
--with-layout=GNU \
--enable-exif \
--enable-ftp \
--enable-sockets \
--with-kerberos \
--enable-shmop \
--enable-calendar \
--with-libxml-dir \
--with-mhash \
--with-ldap \
--with-readline \
--with-tidy \
--with-xsl \
--with-gnu-ld \
--enable-mysqlnd \
--with-mysqli \
--with-pdo-mysql \
--with-mysql-sock=/var/lib/mysql/mysql.sock \
--enable-mbstring=ja \
--with-gd \
--with-apxs2=/usr/local/apache2/bin/apxs
make
make test
make install

設定ファイルphp.iniの設置と編集

cp -ip /usr/local/src/php-7.3.6/php.ini-development /usr/local/etc/php.ini
vi /usr/local/etc/php.ini

以下のように編集する

[Date]
# タイムゾーンの設定
date.timezone = "Asia/Tokyo"

[Session]
# セッションIDがURL埋め込みとなることによる漏洩を防ぐための設定
session.use_cookies = 1
session.use_only_cookies = 1

Apacheの再起動

最後にApacheを再起動して、PHPが実行できるようにする。

systemctl restart httpd