在安装任何软件前,先更新系统的包列表,确保获取最新的软件版本和安全补丁:
sudo apt update && sudo apt upgrade -y
Debian的官方仓库提供最新稳定版的PHP(如PHP 8.2),可通过apt直接安装。若需要特定版本(如PHP 7.4),可添加第三方源(如Ondřej Surý的PPA)后再安装。
sudo apt install php php-cli php-fpm php-mysql php-json php-common php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath -y
sudo apt install software-properties-common ca-certificates lsb-release apt-transport-https
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'
sudo apt update
sudo apt install php8.2 php8.2-cli php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-opcache -y
PHP的主配置文件分为命令行模式(/etc/php/<version>/cli/php.ini)和FPM模式(/etc/php/<version>/fpm/php.ini),可根据需求调整:
cgi.fix_pathinfo(提升安全性,防止恶意文件解析):sudo sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php/<version>/fpm/php.ini
php.ini文件,修改以下参数:memory_limit = 256M
upload_max_filesize = 10M
post_max_size = 10M
PHP-FPM(FastCGI Process Manager)用于高效处理PHP请求,尤其适合与Nginx搭配。
www.conf为例):sudo nano /etc/php/<version>/fpm/pool.d/www.conf
找到listen参数,设置为Unix Socket(性能优于TCP端口):listen = /run/php/php<version>-fpm.sock
可选:调整进程管理参数(如pm.max_children)以适应高并发场景。sudo systemctl restart php<version>-fpm
sudo systemctl enable php<version>-fpm # 开机自启
PHP需与Web服务器配合才能处理HTTP请求,以下是Nginx和Apache的配置示例:
sudo apt install nginx -y
/etc/nginx/sites-available/default):.php文件转发给PHP-FPM:server {
listen 80;
server_name your_domain_or_ip;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php<version>-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
sudo nginx -t # 检查配置语法
sudo systemctl restart nginx
sudo apt install apache2 -y
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php<version>-fpm # 自动配置Apache与PHP-FPM集成
/etc/apache2/sites-available/000-default.conf):<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php<version>-fpm.sock|fcgi://localhost"
</FilesMatch>
sudo systemctl restart apache2
创建一个info.php文件,验证PHP是否正常运行:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
在浏览器中访问http://your_server_ip/info.php,若看到PHP详细信息页面(如版本、模块列表),则说明环境搭建成功。
info.php以避免泄露服务器信息:sudo rm /var/www/html/info.php
sudo ufw allow 'Nginx Full' # Nginx
sudo ufw allow 'Apache Full' # Apache
sudo apt install certbot python3-certbot-nginx # Nginx
sudo certbot --nginx -d your_domain
通过以上步骤,即可在Debian系统中搭建完整的PHP运行环境,支持Web开发需求。根据实际场景(如高并发、特殊扩展),可进一步调整配置(如优化PHP-FPM参数、安装Redis扩展等)。