インフラ

php 7.x系のインストール方法

PHPと関連モジュールのインストール

dnfの部分は、CentOS7以前ならyum、Ubuntu系ならapt-getを使って下さい

OS付属のPHPのインストール

sudo dnf -y install php;
sudo yum -y install php-bcmath php-cli php-curl php-devel php-fpm php-gd php-json php-ldap php-mbstring php-mysqlnd php-xml php-odbc php-opcache php-pdo php-pear php-pgsql php-soap php-xml php-xmlrpc php-zip;

PHP公式配布のPHPインストール

一般的にOS付属のPHPよりも新しい版が提供されます。

# CentO8の場合。OS・バージョンによって異なるので、詳しくはhttp://rpms.remirepo.net/enterprise/を見て自分の環境に該当するものを見つけて下さい #
# インストール対象は2020/01現在最新のPHP7.4の場合 #
OSVER=8;
PHPVER=74;
sudo dnf -y install http://rpms.remirepo.net/enterprise/remi-release-$OSVER.rpm;
sudo dnf -y install epel-release yum-utils;
sudo dnf config-manager --set-enabled PowerTools;
sudo dnf -y install php$PHPVER*;
sudo yum -y install php$PHPVER-php-bcmath php$PHPVER-php-cli php$PHPVER-php-curl php$PHPVER-php-devel php$PHPVER-php-fpm php$PHPVER-php-gd php$PHPVER-php-json php$PHPVER-php-ldap php$PHPVER-php-mbstring php$PHPVER-php-mysqlnd php$PHPVER-php-xml php$PHPVER-php-odbc php$PHPVER-php-opcache php$PHPVER-php-pdo php$PHPVER-php-pear php$PHPVER-php-pgsql php$PHPVER-php-soap php$PHPVER-php-xml php$PHPVER-php-xmlrpc php$PHPVER-php-zip;

PHPVER=74;
sudo update-alternatives \
--install /usr/bin/php                       php     /opt/remi/php$PHPVER/root/usr/bin/php   0    \
--slave   /usr/bin/php-cgi                   php-cgi /opt/remi/php$PHPVER/root/usr/bin/php-cgi   \
--slave   /usr/bin/pear                      pear    /opt/remi/php$PHPVER/root/usr/bin/pear      \
--slave   /usr/bin/phar.phar                 phar    /opt/remi/php$PHPVER/root/usr/bin/phar.phar;

なお上記の方法でupdate-alternativesを複数のバージョンに対してやっている場合

sudo alternatives --config php;

で、PHPの複数のバージョンの切り替えを行う事が出来る。

php -v;

と打って、PHPのバージョンを確認

PHP 7.4.2 (cli) (built: Jan 21 2020 11:35:20) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.2, Copyright (c), by Zend Technologies

それでPHP7系が正常にインストールされている事を確認する。


composerのインストール

sudo dnf -y install composer;

もしもcomposerがOS側からパッケージとして提供されてなければ
https://getcomposer.org/download/
手順にそってインストール

実行したディレクトリにcomposer.pharがダウンロードされている状態になるので

mv composer.phar /usr/local/bin/;

という形で動かして、どのディレクトリからでも実行できるようにする

PHP-FPMのインストール・設定

インストール

PHPVER=74;
dnf install -y php$PHPVER-php-fpm;
systemctl enable php$PHPVER-php-fpm;
systemctl start php$PHPVER-php-fpm;

configファイルの設定

/etc/opt/remi/php$PHPVER/php-fpm.d/www.conf
を編集する

TCPポートでの接続を可能にするには

#listen = /var/opt/remi/php$PHPVER/run/php-fpm/www.sock
listen = 127.0.0.1:9000

と書き換え

また、Apacheではなく、nginxと連携させて動かす場合には

#group = apache
group = nginx

#user = apache
user = nginx

と書き換え

php-fpmでtmpフォルダのmkdir絡みでエラー(失敗)する場合

/lib/systemd/system/php$PHPVER-php-fpm.service

PrivateTmpの値をfalseにして

systemctl daemon-reload;
systemctl restart php$VER-php-fpm;

で反映