在 Ubuntu 上,PHP-FPM 本身不直接“连接”,而是由 Web 服务器(Nginx / Apache)通过 socket 或端口调用 PHP-FPM 来处理 PHP 请求。下面分情况说明。
Ubuntu 下 PHP-FPM 通常监听两种方式之一:
listen = /run/php/php8.1-fpm.sock
listen = 127.0.0.1:9000
配置文件路径(以 PHP 8.1 为例):
/etc/php/8.1/fpm/pool.d/www.conf
修改后重启:
sudo systemctl restart php8.1-fpm
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.php index.html;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass 127.0.0.1:9000;
}
重启 Nginx:
sudo systemctl restart nginx
sudo apt install apache2 php8.1-fpm
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.1-fpm
sudo systemctl restart apache2
Apache 会自动通过 socket 连接 PHP-FPM。
新建测试文件:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
能看到 PHP 信息页即说明连接成功。
systemctl status php8.1-fpm
ls -l /run/php/php8.1-fpm.sock
确保 Web 用户(www-data)有权限。
tail -f /var/log/nginx/error.log
如果你能告诉我:
我可以给你更精确的配置。