CentOS 8.0にPHP 7.4.0をインストール

独り言

CentOS 8.0にPHP 7.4.0をインストールしてみようと思います。

まずはopenssl 1.1.1dのインストールから

# cd /usr/local/src
# wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1d.zip
# unzip OpenSSL_1_1_1d.zip
# cd openssl-OpenSSL_1_1_1d
# ./config --prefix=/usr/local/openssl-1.1.1d
# make 
# make install

ちょっと注意が必要なんですが、
CentOS8.0はopenssl 1.1.1をデフォルトになっておりますので
opensslをインストールする必要はないかもしれません。

さらにopenssl-1.1.1dのライブラリーをld.so.confに登録してしまうと

共有ライブラリー自体がCentOS8オリジナルと

opensslと同じものが登録されてしまうため

動作に不具合が発生してしまう可能性があります。

次にPHPをインストール。

しかし、インストールする前に7.4.0のドキュメントを見る。

PHP: その他の変更 - Manual

pkgconfigを使うみたいことがかいてあります。また、pkgconfigは”:”を使うことで複数指定することが可能です。

さっそく私の環境でインストールをしています。

# wget http://mirror.cogentco.com/pub/php/php-7.4.0.tar.gz
# cd php-7.4.0 
# export PKG_CONFIG_PATH=/usr/local/libzip/lib64/pkgconfig/:/usr/local/openssl-1.1.1d/lib/pkgconfig/
# ./configure --sysconfdir=/etc --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d/ \
--bindir=/usr/bin --libdir=/usr/lib64 --mandir=/usr/share/man/ --includedir=/usr/include \
--with-bz2 --with-zlib --enable-calendar --with-curl --enable-exif --enable-ftp --with-gettext \
--with-gmp --enable-mbstring --with-mysqli=mysqlnd --enable-mysqlnd --with-openssl --enable-pcntl \
--with-pdo-mysql=mysqlnd --with-readline --enable-shmop --enable-sockets --with-xsl \
--with-apxs2=/usr/bin/apxs --enable-fpm --enable-gd
# make
# make install

[root@local src]# php -v
PHP 7.4.0 (cli) (built: Dec 4 2019 20:33:23) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

以上、php 7.4.0がインストールされました!!

途中なんか色々モジュールがないというエラーが出ていますが、
他のサイト様を参考にしてください。

次はphp-fpmのデーモン化です。

initが簡単そうなのでこれをためしましょう

# cd /usr/local/src/php-src-php-7.4.1RC1/sapi/fpm
# cp init.d.php-fpm /etc/init.d/php-fpm
# vi /etc/init.d/php-fpm

下記のコマンドパスとconfファイルとプロセスidを自分の環境に合わせて
php_fpm_BIN=/sbin/php-fpm
php_fpm_CONF=/etc/php-fpm.conf
php_fpm_PID=/var/run/php-fpm.pid

# chmod +x /etc/init.d/php-fpm
# chkconfig php-fpm on
# service php-fpm start

ということでインストール終わりです。

コメント