在 Ubuntu 上配置 PHP,通常分为 安装 PHP、配置 PHP、与 Web 服务器(Apache / Nginx)配合、以及常见调优 几个步骤。下面按常见场景给你一个完整流程。
sudo apt update
sudo apt upgrade -y
sudo apt install php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath -y
查看版本:
php -v
/etc/php/8.2/fpm/
/etc/php/8.2/fpm/php.ini
/etc/php/8.2/fpm/pool.d/www.conf
编辑:
sudo nano /etc/php/8.2/fpm/php.ini
建议修改:
upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
max_execution_time = 300
date.timezone = Asia/Shanghai
sudo apt install apache2 -y
sudo apt install libapache2-mod-php -y
sudo systemctl restart apache2
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
⚠️ 测试后建议删除:
sudo rm /var/www/html/info.php
sudo apt install nginx -y
sudo systemctl start php8.2-fpm
sudo systemctl enable php8.2-fpm
编辑站点配置:
sudo nano /etc/nginx/sites-available/default
关键配置:
server {
listen 80;
server_name your_domain_or_ip;
root /var/www/html;
index index.php index.html;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
}
sudo systemctl restart nginx
sudo nano /etc/php/8.2/fpm/pool.d/www.conf
常用:
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
重启:
sudo systemctl restart php8.2-fpm
sudo ufw allow 80
sudo ufw allow 443
libapache2-mod-php 已安装php-fpm 正在运行sudo systemctl status php8.2-fpm
检查 sock 路径是否一致。
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php7.4 php8.1 php8.2
如果你告诉我:
我可以给你一份 完全定制化的配置方案。