■インストール
必要なライブラリのインストール
# yum install libxml2-devel
ソースのダウンロード
$ wget http://jp2.php.net/get/php-7.1.11.tar.bz2/from/this/mirror $ mv mirror php-7.1.11.tar.bz2 /* mirrorという名前のファイルができるので */ $ sha256sum php-7.1.11.tar.bz2 /* ファイル確認 */ $ tar xjvf php-7.1.11.tar.bz2
コンパイルとインストール
$ cd php-7.1.11 $ ./configure --enable-fpm --enable-mbstring --with-openssl $ make $ make test # make install※ /usr/local/etc 以下にphp-fpm関連のファイル群ができる。
開発用設定ファイルをコピー
# cp php.ini-development /usr/local/lib/php.ini
php-fpm用設定ファイルの作成
# cd /usr/local/etc # cp php-fpm.conf.default php-fpm.conf
/* 125行目 */ include=NONE/etc/php-fpm.d/*.conf include=/usr/local/etc/php-fpm.d/*.conf
# cd /usr/local/etc/php-fpm.d # cp www.conf.default www.conf
php-fpmの自動起動設定
/usr/lib/systemd/system/php-fpm.serviceファイルを作成する。
[Unit] Description=The PHP 7 FastCGI Process Manager After=network.target [Service] Type=simple PIDFile=/usr/local/var/run/php-fpm.pid ExecStart=/usr/local/sbin/php-fpm --nodaemonize --fpm-config /usr/local/etc/php-fpm.conf ExecReload=/bin/kill -USR2 $MAINPID [Install] WantedBy=multi-user.target
# systemctl enable php-fpm Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service. # systemctl start php-fpm # systemctl status php-fpm ● php-fpm.service - The PHP 7 FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled) Active: active (running) since 火 2017-10-31 23:26:07 JST; 11s ago Main PID: 6727 (php-fpm) CGroup: /system.slice/php-fpm.service tq6727 php-fpm: master process (/usr/local/etc/php-fpm.conf) tq6728 php-fpm: pool www mq6729 php-fpm: pool www
■phpinfo()を表示する。
phpinfo.php
<?php phpinfo(); ?>nginx.conf 下記をコメントアウト
location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; #fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; include fastcgi_params; }※ fastcgi_param行を修正
# systemctl reload nginxブラウザでアクセスして表示内容を確認する。
http://hoeg/phpinfo.php
■PostgreSQLとの連携
undefined function pg_connect() エラーの時
$ ./configure --enable-fpm --enable-mbstring --with-openssl --with-pgsql=/usr/local/pgsql $ make $ make test # systemctl stop php-fpm # make install # systemctl start php-fpm※ 事前にPostgreSQLをインストール済み