如何在Debian 8至10上使用apt将ISPConfig 3.1的PHP 5.6和7.0-7.4安装为PHP-FPM和FastCGI

如何在Debian 8至10上使用apt将ISPConfig 3.1的PHP 5.6和7.0-7.4安装为PHP-FPM和FastCGI

本教程说明如何在ISPConfig Debian服务器上安装多个PHP版本,以后可以在ISPConfig 3网站设置中分别为每个站点选择PHP版本。此功能可与PHP-FPM和FastCGI一起使用,我们将安装PHP 5.6和7通过使用sury.org的PHP软件包,在Debian服务器上将.x作为PHP-FPM和FastCGI版本。

1初步说明

我将直接从Debian PHP软件包维护者网站安装PHP https://packages.sury.org/php/ 使用apt-get。这不会覆盖现有安装,但会将默认使用的PHP版本更改为最新安装的PHP版本!因此,将已安装版本的新PHP版本添加到ISPConfig并将所有站点更改为该版本非常重要。首先,如果您正在使用调用PHP脚本的cron作业,则也必须对其进行调整,稍后再进行介绍。

因为其他软件包(例如openssl)也已更新,所以安装后不能简单地从sury.org中删除已安装的软件包。首先必须将该软件包降级为Debian版本,然后才能删除PHP软件包而不破坏其他软件包。对我而言,一种方法是停用新添加的存储库,然后从sury.org安装的软件包将以aptitude的方式显示为自行创建或已弃用的软件包,并且您可以降级每个软件包的版本。

请注意,PHP-FPM可以在Apache和Nginx服务器上使用,而FastCGI仅可用于Apache服务器。

2在ISPConfig中启用PHP版本

在ISPConfig 3中,可以在“系统”>“其他PHP版本”下配置新的PHP版本。

添加Debian的PHP版本

如果您没有安装Debian版本的PHP,则可以跳过此步骤。

首先,您必须为已安装的PHP版本添加一个新版本。在“名称”选项卡上,您只需填写一个PHP版本的名称(例如Debian 5.6)-此PHP版本将在网站上以该名称列出。 ISPConfig中的设置:

转到“ FastCGI设置”选项卡,并按如下所示填写字段:

Path to the PHP FastCGI binary: php5-cgiPath to the php.ini directory: /etc/php5/cgi/php.ini

PHP 7.1 FastCGI

然后转到“ PHP-FPM设置”选项卡,并按如下所示填写字段:

Path to the PHP-FPM init script: php5-fpmPath to the php.ini directory: /etc/php5/fpm/php.iniPath to the PHP-FPM pool directory: /etc/php5/fpm/pool.d

PHP 7.1 FPM设置

Cron工作的重要步骤

如果您使用cron作业调用PHP脚本,则还必须告诉cron使用哪个版本。在命令开头添加php5以使用Debian的版本。如果不确定确切使用的版本,请遵循symlink / usr / bin / php并使用其最终目的地作为前缀。

添加其他PHP版本

目前有3个版本 https://packages.sury.org/php/ 并且您必须为要安装的每个版本重复执行最后一步。但是请改用以下设置:

PHP 5.6

Path to the PHP FastCGI binary: php-cgi5.6Path to the php.ini directory: /etc/php/5.6/cgi/php.ini
Path to the PHP-FPM init script: php5.6-fpmPath to the php.ini directory: /etc/php/5.6/fpm/php.iniPath to the PHP-FPM pool directory: /etc/php/5.6/fpm/pool.d

例如cron作业的cli版本的名称为php5.6。

PHP 7.0

Path to the PHP FastCGI binary: php-cgi7.0Path to the php.ini directory: /etc/php/7.0/cgi/php.ini
Path to the PHP-FPM init script: php7.0-fpmPath to the php.ini directory: /etc/php/7.0/fpm/php.iniPath to the PHP-FPM pool directory: /etc/php/7.0/fpm/pool.d

例如cron作业的cli版本的名称为php7.0。

PHP 7.1

Path to the PHP FastCGI binary: php-cgi7.1Path to the php.ini directory: /etc/php/7.1/cgi/php.ini
Path to the PHP-FPM init script: php7.1-fpmPath to the php.ini directory: /etc/php/7.1/fpm/php.iniPath to the PHP-FPM pool directory: /etc/php/7.1/fpm/pool.d

例如cron作业的cli版本的名称为php7.1。

PHP 7.2

Path to the PHP FastCGI binary: php-cgi7.2Path to the php.ini directory: /etc/php/7.2/cgi/php.ini
Path to the PHP-FPM init script: php7.2-fpmPath to the php.ini directory: /etc/php/7.2/fpm/php.iniPath to the PHP-FPM pool directory: /etc/php/7.2/fpm/pool.d

例如cron作业的cli版本的名称为php7.2。

PHP 7.3

Path to the PHP FastCGI binary: php-cgi7.3Path to the php.ini directory: /etc/php/7.3/cgi/php.ini
Path to the PHP-FPM init script: php7.3-fpmPath to the php.ini directory: /etc/php/7.3/fpm/php.iniPath to the PHP-FPM pool directory: /etc/php/7.3/fpm/pool.d

例如cron作业的cli版本的名称为php7.3。

PHP 7.4

Path to the PHP FastCGI binary: php-cgi7.4Path to the php.ini directory: /etc/php/7.4/cgi/php.ini
Path to the PHP-FPM init script: php7.4-fpmPath to the php.ini directory: /etc/php/7.4/fpm/php.iniPath to the PHP-FPM pool directory: /etc/php/7.4/fpm/pool.d

例如cron作业的cli版本的名称为php7.4。

3更改网站的PHP版本

如果您没有安装Debian版本的PHP,则可以跳过此步骤。

现在,将所有网站的PHP版本更改为新创建的版本(例如Debian 5.6)。

并且不要忘记如上所述更改cron作业。

4在package.sury.org中添加存储库

要将存储库添加到packages.sury.org及其BGP密钥以使其易于使用,请使用以下命令:

apt-get install -y apt-transport-https lsb-release ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

下一条命令只是一行,不要添加任何换行符:

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt-get update

要从新存储库升级已安装的软件包,请使用以下命令:

apt-get upgrade

5从packages.sury.org安装PHP

我在这里提供了多个安装选项,请选择所需的版本,然后跳过其余的!

5.1安装PHP 5.6

要安装PHP,请使用以下命令:

apt-get install php5.6 php5.6-cli php5.6-cgi php5.6-fpm php5.6-gd php5.6-mysql php5.6-imap php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php5.6-zip php5.6-mbstring php5.6-soap php5.6-opcache libicu65 php5.6-common php5.6-json php5.6-readline php5.6-xml

5.2安装PHP 7.0

要安装PHP,请使用以下命令:

apt-get install php7.0 php7.0-cli php7.0-cgi php7.0-fpm php7.0-gd php7.0-mysql php7.0-imap php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-zip php7.0-mbstring php7.0-soap php7.0-opcache php7.0-common php7.0-json php7.0-readline php7.0-xml

5.3安装PHP 7.1

要安装PHP,请使用以下命令:

apt-get install php7.1 php7.1-cli php7.1-cgi php7.1-fpm php7.1-gd php7.1-mysql php7.1-imap php7.1-curl php7.1-intl php7.1-pspell php7.1-recode php7.1-sqlite3 php7.1-tidy php7.1-xmlrpc php7.1-xsl php7.1-zip php7.1-mbstring php7.1-soap php7.1-opcache php7.1-common php7.1-json php7.1-readline php7.1-xml

5.4安装PHP 7.2

要安装PHP,请使用以下命令:

apt-get install php7.2 php7.2-cli php7.2-cgi php7.2-fpm php7.2-gd php7.2-mysql php7.2-imap php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl php7.2-zip php7.2-mbstring php7.2-soap php7.2-opcache php7.2-common php7.2-json php7.2-readline php7.2-xml

5.5安装PHP 7.3

要安装PHP,请使用以下命令:

apt-get install php7.3 php7.3-cli php7.3-cgi php7.3-fpm php7.3-gd php7.3-mysql php7.3-imap php7.3-curl php7.3-intl php7.3-pspell php7.3-recode php7.3-sqlite3 php7.3-tidy php7.3-xmlrpc php7.3-xsl php7.3-zip php7.3-mbstring php7.3-soap php7.3-opcache php7.3-common php7.3-json php7.3-readline php7.3-xml

5.6安装PHP 7.4

要安装最新的PHP版本,请使用以下命令:

apt-get install php7.4 php7.4-cli php7.4-cgi php7.4-fpm php7.4-gd php7.4-mysql php7.4-imap php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl php7.4-zip php7.4-mbstring php7.4-soap php7.4-opcache libonig5 php7.4-common php7.4-json php7.4-readline php7.4-xml

6安装Memcache扩展(可选)

要安装Memcache,请使用以下命令:

apt-get install php-memcache php-memcached

7安装APCu扩展(可选)

要安装APC用户缓存,请使用以下命令:

apt-get install php-apcu php-apcu-bc

8安装xDebug扩展(可选)

调试 module是PHP的调试扩展。安装是可选的。

要安装xDebug,请使用以下命令:

apt-get install php-xdebug

除了Debian软件包php5-xdebug之外,这个软件包似乎还有其他默认设置。根据您的软件,您必须更改xdebug.max_nesting_level之类的设置才能运行它!

9将Debian默认PHP设置回原始版本

操作系统的默认PHP必须保持原始版本。要解决此问题,请运行以下命令:

update-alternatives --config phpupdate-alternatives --config php-cgi

在Debian 10上,选择7.3,在Debian 9上:选择PHP 7.0,在Debian 8上,在出现的对话框中选择PHP 5.6。

10重新启动FPM守护程序

最后,重新启动php-fpm守护程序,运行先前安装的命令:

service php5.6-fpm restart
service php7.0-fpm restart
service php7.1-fpm restart
service php7.2-fpm restart
service php7.3-fpm restart
service php7.4-fpm restart

Source

Sidebar