PHPインストール · 1 min read · Nov 03, 2025

Ubuntu 18.04 LTSにISPConfig 3用のPHP 7.4をPHP-FPMおよびFastCGIとしてコンパイルしてインストールする方法

Ubuntu 18.04はデフォルトのPHPバージョンとしてPHP 7.2を搭載しています。主要なPHPバージョンは互換性が100%ではないため、ウェブサイトが動作するためには新しいまたは古いPHPバージョンが必要な場合があります。ISPConfigは同じサーバーで複数のPHPバージョンを使用することをサポートしており、ウェブサイトの設定で各ウェブサイトごとにPHPバージョンを選択できます。このチュートリアルでは、Ubuntu 18サーバー上でPHP 7.2と並行してPHP 7.4をFPMおよびFCGIモードでインストールする方法を示します。追加のPHPバージョンは/optフォルダーにインストールされるため、そのインストールはデフォルトのPHPバージョンに影響を与えません。

1 前提条件

PHP 7.4をインストールします。PHP-FPMはApacheおよびNginxサーバーの両方で使用できることに注意してくださいが、FastCGIはApacheサーバーでのみ利用可能です。

2 依存関係のインストール

PHPをビルドするための依存関係と、設定ファイルを編集するために使用するnanoエディタをインストールします:

apt -y install build-essential nano net-tools autoconf
apt -y install libfcgi-dev libfcgi0ldbl libjpeg-turbo8-dev libmcrypt-dev libssl-dev libc-client2007e libc-client2007e-dev libxml2-dev libbz2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libfreetype6-dev libkrb5-dev libpq-dev libxml2-dev libxslt1-dev libzip-dev libsqlite3-dev libonig-dev
ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a
cd /usr/include  
ln -s x86_64-linux-gnu/curl

(最後のコマンドは、–with-imapでPHPをビルドする場合に必要です。そうでないと、./configureは次のエラーで停止します:

checking for crypt in -lcrypt... yes  
configure: error: Cannot find imap library (libc-client.a). Please check your c-client installation.  
root@server1:/tmp/php-7.4.0

)

3 PHP 7.4をPHP-FPMおよびFastcgiとしてコンパイル

PHPアーカイブをダウンロードして抽出します:

cd /tmp  
wget https://www.php.net/distributions/php-7.4.0.tar.gz  
tar xfz php-7.4.0.tar.gz
cd php-7.4.0

次のようにPHP 7.4を構成してビルドします(./configureコマンドは必要に応じて調整できます。すべての利用可能なオプションを確認するには、

./configure --help

を参照してください。異なる./configureコマンドを使用する場合、追加のライブラリが必要になるか、ビルドプロセスが失敗する可能性があります):

./configure --prefix=/opt/php-7.4 --with-pdo-pgsql --with-zlib-dir --with-freetype --enable-mbstring --enable-soap --enable-calendar --with-curl --with-zlib --enable-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --with-zip --with-pdo-mysql --with-mysqli --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-jpeg --with-openssl --with-fpm-user=www-data --with-fpm-group=www-data --with-libdir=/lib/x86_64-linux-gnu --enable-ftp --with-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-intl --with-pear --enable-fpm

最後のスイッチ(–enable-fpm)は、このPHPバージョンがPHP-FPMで動作することを保証します。

make  
make install

ファイルを正しい場所にコピーします:

cp php.ini-production /opt/php-7.4/lib/php.ini
cp /opt/php-7.4/etc/php-fpm.conf.default /opt/php-7.4/etc/php-fpm.conf
cp /opt/php-7.4/etc/php-fpm.d/www.conf.default /opt/php-7.4/etc/php-fpm.d/www.conf

/opt/php-7.4/etc/php-fpm.confを調整します。

sed -i 's/;pid = run\/php-fpm.pid/pid = run\/php-fpm.pid/g' /opt/php-7.4/etc/php-fpm.conf

次に、/opt/php-7.4/etc/php-fpm.d/www.confを更新します:

cp /opt/php-7.4/etc/php-fpm.d/www.conf.default /opt/php-7.4/etc/php-fpm.d/www.conf

すでに追加のPHPバージョンがインストールされている場合は、ポートがすでに使用されていないことを確認してください:

netstat -tapn | grep -E ".*899.*php-fpm"

nginxをウェブサーバーとして使用している場合は、/opt/php-7.4/lib/php.iniを調整します:

sed -i 's/;date.timezone =/date.timezone = "Europe\/Berlin"/g' /opt/php-7.4/lib/php.ini
sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /opt/php-7.4/lib/php.ini

3.1 systemdユニットファイルの作成

次に、PHP-FPMデーモンを起動および停止するために使用されるシステムユニットファイルを作成します。

nano /lib/systemd/system/php-7.4-fpm.service

以下の内容で:

[Unit]  
Description=The PHP 7.4 FastCGI Process Manager  
After=network.target  
  
[Service]  
Type=simple  
PIDFile=/opt/php-7.4/var/run/php-fpm.pid  
ExecStart=/opt/php-7.4/sbin/php-fpm --nodaemonize --fpm-config /opt/php-7.4/etc/php-fpm.conf  
ExecReload=/bin/kill -USR2 $MAINPID  
  
[Install]  
WantedBy=multi-user.target

サービスを有効にし、systemdをリロードします:

systemctl enable php-7.4-fpm.service  
systemctl daemon-reload

最後に、PHP-FPMを起動します。

systemctl start php-7.4-fpm.service

Zend OPcacheを有効にするには:

echo zend_extension=opcache.so >> /opt/php-7.4/lib/php.ini

3.2 Memcacheを有効にする(オプション)

次のコマンドでmemcacheをインストールします。

cd /opt/php-7.4/etc  
../bin/pecl -C ./pear.conf update-channels  
../bin/pecl -C ./pear.conf install memcached

memcacheを有効にします。

echo extension=memcached.so >> /opt/php-7.4/lib/php.ini

3.3 xDebug拡張をインストールする(オプション)

xDebugモジュールはPHPのデバッグ拡張です。インストールはオプションです。

次のコマンドでxDebugをインストールします。

cd /opt/php-7.4/etc  
../bin/pecl -C ./pear.conf update-channels  
../bin/pecl -C ./pear.conf install xdebug

xDebugを有効にします。

echo zend_extension=/opt/php-7.4/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so >> /opt/php-7.4/lib/php.ini

最後にphp-fpmデーモンを再起動します:

systemctl start php-7.4-fpm.service

PHPバージョンをテストします:

cd /opt/php-7.4/bin  
./php --version

3.4 ISPConfigでPHP 7.4を有効にする

ISPConfig 3.1では、システム > 追加のPHPバージョンの下で新しいPHPバージョンを構成できます。名前タブには、PHPバージョンの名前(例:PHP 7.4)を入力します。このPHPバージョンは、ISPConfigのウェブサイト設定でこの名前の下にリストされます:

FastCGI設定タブに移動し、次のようにフィールドを入力します:

Path to the PHP FastCGI binary: /opt/php-7.4/bin/php-cgi  
Path to the php.ini directory: /opt/php-7.4/lib
![](/files/d0d14ba4-498f-4afc-b309-e6447696e788.jpg)

次に、PHP-FPM設定タブに移動し、次のようにフィールドを入力します:

Path to the PHP-FPM init script: php-7.4-fpm  
Path to the php.ini directory: /opt/php-7.4/lib  
Path to the PHP-FPM pool directory: /opt/php-7.4/etc/php-fpm.d  
![](/files/62167a30-12d7-415f-a01a-194d878513f6.jpg)

5 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。