Debian12快速安装PHP8系列

如果安装其他版本请把8.1替换成其他版本

前提条件

  • 具备在Linux上使用SSH终端的基本知识。

开始

确保你的Debian服务器安装了最新的软件包,运行以下命令:

1
sudo apt update

这将更新软件包索引并将已安装的软件包更新到最新版本。

下载SURY PPA以获取PHP 8.1

使用wget下载Sury PPA的PHP 8.1软件包:

1
2
sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg2
sudo apt -y install lsb-release apt-transport-https ca-certificates wget

下载PPA后,可以将其添加到服务器的软件包中:

1
2
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'

现在可以通过更新系统来继续安装PHP 8:

1
sudo apt update

添加Sury PPA后,可以安装PHP 8.1。

为Apache安装PHP 8.1

执行以下命令安装PHP 8.1:

1
sudo apt install php8.1

安装完成后,可以使用以下命令确认安装:

1
php -v

为Nginx安装PHP 8.1 FPM

对于Nginx,需要安装FPM。执行以下命令安装PHP 8.1 FPM:

1
2
sudo apt install php8.1-fpm
sudo apt install php8.1 php8.1-fpm php8.1-cli -y

安装完成后,使用以下命令确认PHP 8.1 FPM是否正确安装:

1
php-fpm8.1 -v

安装PHP 8.1扩展

使用以下语法安装PHP扩展:

1
sudo apt install php8.1-extension_name

现在,使用以下命令安装一些常用的PHP扩展:

1
sudo apt install php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-dev php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-redis php8.1-intl -y

配置PHP 8.1

现在通过更改php.ini文件中的一些值来配置PHP以用于Web应用程序。
对于Apache的PHP 8.1,php.ini的位置在以下目录:

1
sudo nano /etc/php/8.1/apache2/php.ini

对于Nginx的PHP 8.1 FPM,php.ini的位置在以下目录:

1
sudo nano /etc/php/8.1/fpm/php.ini

在编辑器中按F6进行搜索,并更新以下值以提高性能:

1
2
3
4
5
6
upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000

修改PHP设置后,需要重启Apache以使更改生效。
对于使用PHP-FPM的Nginx用户,需要重启PHP-FPM:

1
sudo service php8.1-fpm restart

配置PHP 8.1 FPM池

PHP-FPM允许你配置服务运行的用户和组。可以使用以下命令修改这些设置:

1
sudo nano /etc/php/8.1/fpm/pool.d/www.conf

如果要更改用户名,可以通过将www-data替换为你的用户名来更改以下行:

1
2
3
4
user = username
group = username
listen.owner = username
listen.group = username

按CTRL+X和Y保存配置,检查配置是否正确并重启PHP。

重启PHP 8.1 FPM

更新PHP FPM设置后,需要重启以应用更改:

1
2
sudo php-fpm8.1 -t
sudo service php8.1-fpm restart

现在你已经安装并配置了PHP 8.1。

为Apache升级到PHP 8.1

安装PHP 8.1后,你需要升级到最新安装的PHP版本。
你需要告诉Apache使用我们刚刚安装的PHP 8.1版本。禁用旧的PHP模块(下面提到的是php7.4,你需要使用当前Apache使用的PHP版本),并使用以下命令启用新的PHP模块。
将当前启用的PHP版本替换为你的版本:

1
2
sudo a2dismod php7.4
sudo a2enmod php8.1

重启Apache以使更改生效:

1
sudo service apache2 restart

为Nginx升级PHP 8.1

对于Nginx,你需要更新Nginx配置中的PHP-FPM套接字,该配置位于sites-available目录中。这将位于location块内,位置为location ~ .php$
编辑你的配置:

1
sudo nano /etc/nginx/sites-available/your.conf

你需要修改的行看起来像这样:

1
fastcgi_pass unix:/run/php/php7.4-fpm.sock;

你需要将旧的PHP版本替换为新的版本:

1
fastcgi_pass unix:/run/php/php8.1-fpm.sock;

测试你的配置:

1
sudo nginx -t

保存文件并退出编辑器,然后重启Nginx以使更改生效:

1
sudo service nginx restart

安装Composer

1
2
3
4
5
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
composer -V

结论

现在你已经学习了如何在Debian服务器上为Apache和Nginx安装PHP 8.1,以及如何升级到最新版本。
感谢你的时间。如果你遇到任何问题或有任何反馈,请在下面留言。