Linux部署PHP应用需先安装PHP及PHP-FPM:一、用包管理器(yum/dnf/apt)安装并验证版本;二、手动编译可定制版本与扩展;三、配置FPM监听方式、权限及系统服务;四、通过Nginx等Web服务器转发PHP请求至FPM,最后用info.php验证。

如果您需要在Linux系统中部署PHP应用,但尚未安装PHP解释器及配套服务,则可能是由于缺少PHP核心组件及进程管理模块。以下是完成PHP环境安装与PHP-FPM配置的实操步骤:
一、使用包管理器安装PHP及PHP-FPM
该方法适用于主流发行版,通过官方仓库快速获取稳定版本的PHP与PHP-FPM二进制包,避免手动编译带来的依赖冲突与版本兼容问题。
1、对于CentOS/RHEL 7/8系统,执行:sudo yum install php php-fpm -y(RHEL 8/CentOS 8请先启用AppStream仓库)。
2、对于CentOS/RHEL 9或AlmaLinux/Rocky Linux 9系统,执行:sudo dnf install php php-fpm -y。
立即学习“PHP免费学习笔记(深入)”;
3、对于Ubuntu/Debian系统,执行:sudo apt update && sudo apt install php-fpm -y。
4、验证安装结果:php -v 和 php-fpm -v 应分别输出PHP版本号与FPM版本信息。
二、手动编译安装PHP与PHP-FPM
该方法适用于需指定PHP版本、启用特定扩展(如Redis、Swoole)、或目标系统无对应仓库源的场景,可完全控制构建参数与安装路径。
1、安装编译依赖:sudo apt install build-essential libxml2-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libfreetype6-dev zlib1g-dev -y(Ubuntu/Debian);或sudo yum groupinstall "Development Tools" && sudo yum install libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel zlib-devel -y(CentOS/RHEL)。
2、下载PHP源码包(例如PHP 8.2.12):wget https://www.php.net/distributions/php-8.2.12.tar.gz,然后解压:tar -xzf php-8.2.12.tar.gz && cd php-8.2.12。
3、配置编译选项:./configure --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --enable-opcache --with-curl --with-gd --with-jpeg --with-png --with-freetype --with-zlib --with-openssl。
4、执行编译与安装:make -j$(nproc) && sudo make install。
5、复制FPM配置文件:sudo cp sapi/fpm/www.conf /usr/local/etc/php-fpm.d/www.conf && sudo cp sapi/fpm/php-fpm.conf /usr/local/etc/php-fpm.conf。
三、配置PHP-FPM服务并启动
完成PHP-FPM二进制安装后,需配置监听地址、用户权限及进程模型,并将其注册为系统服务以实现开机自启与状态管理。
1、编辑主配置文件:sudo nano /usr/local/etc/php-fpm.conf(源码安装)或sudo nano /etc/php-fpm.conf(包管理安装),确认包含 include=/etc/php-fpm.d/*.conf 或对应路径。
2、修改站点池配置:sudo nano /etc/php-fpm.d/www.conf(包管理)或sudo nano /usr/local/etc/php-fpm.d/www.conf(源码),将 listen = 127.0.0.1:9000 改为 listen = /run/php/php-fpm.sock,并设置 listen.owner = www-data、listen.group = www-data、listen.mode = 0660。
3、创建运行时目录并赋权:sudo mkdir -p /run/php && sudo chown www-data:www-data /run/php。
4、启用并启动服务:sudo systemctl enable php-fpm && sudo systemctl start php-fpm;检查状态:sudo systemctl status php-fpm 应显示 active (running)。
四、验证PHP-FPM与Web服务器协同工作
仅启动PHP-FPM不足以响应HTTP请求,必须将其与Nginx或Apache等Web服务器对接,由Web服务器将PHP请求转发至FPM监听端口或Unix socket。
1、在Nginx站点配置中添加FastCGI处理块:location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/run/php/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }。
2、创建测试文件:echo "" | sudo tee /var/www/html/info.php。
3、重启Nginx:sudo systemctl restart nginx。
4、访问 http://your_server_ip/info.php,页面应完整显示PHP配置信息,且“Server API”字段明确标识为 FPM/FastCGI。


















