PHP-php-fpm安装
作者:SunnyJourney
时间:2026-07-20
浏览:1
PHP-FPM是PHP的FastCGI进程管理器,新版已集成至官方核心,编译时加--enable-fpm参数即可开启。安装前需准备gcc、libmcrypt等依赖及oniguruma库,编译安装PHP后生成配置文件,并在nginx的server段添加FastCGI转发配置,测试通过浏览器访问index.php验证。
先交代一下背景:PHP-FPM,全称是PHP FastCGI进程管理器,专门为PHP服务而生。它最早其实是PHP源代码的一个补丁包,目的是把FastCGI进程管理功能直接整合进PHP内部。也就是说,你需要把它patch到PHP源码里,再编译安装,才能用上。
不过到了新版本,事情简单多了——PHP官方已经把php-fpm直接集成进了核心包,不再是第三方组件。推荐大家直接用这个方式。PHP-FPM在进程管理上确实更胜一筹,能有效控制内存和进程,连重载PHP配置都能做到平滑过渡,远比spawn-fcgi来得顺手。这也是它被官方收录的原因。编译时只要带上 `--enable-fpm` 参数,就能开启PHP-FPM,其他参数照常配置即可。
再说说nginx和PHP的关系。nginx本身只负责处理静态资源,它就是个web服务器。一旦收到PHP请求,它会把请求转发给PHP解释器,等解释器处理完,再把结果返回给客户端。具体流程是:nginx把请求发给FastCGI进程管理进程,管理进程再挑选一个CGI子进程来处理,最终结果原路返回。下面就来详细说说,怎么让nginx支持PHP。
本文内容来源于网友投稿,如有侵权请联系删除。
1.2 安装
1.2.1 安装前准备
先把依赖环境搞定。执行以下命令,安装编译PHP所需的各类库和工具: ```bash yum -y install gcc automake autoconf libtool make yum -y install gcc gcc-c++ glibc yum -y install libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel sqlite-devel sqlite ``` 接着下载oniguruma库(如果从GitHub获取速度较慢,可以自行寻找其他源): ```bash cd /home wget https://github.com/kkos/oniguruma/archive/v6.9.4.tar.gz -O oniguruma6.9.4.tar.gz tar -xvf oniguruma-6.9.4.tar.gz cd oniguruma-6.9.4/ ./autogen.sh ./configure --prefix=/usr --libdir=/lib64 make make install ```1.2.2 安装php-fpm
依赖就绪,接下来正式安装php-fpm: ```bash cd /home wget https://mirrors.sohu.com/php/php-7.4.16.tar.gz tar -zxvf php-7.4.16.tar.gz cd php-7.4.16 ./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt --enable-mbstring --disable-pdo --with-curl --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli --with-gd --with-jpeg-dir make make install ``` 安装完成后,还需要生成php-fpm的配置文件: ```bash cd /usr/local/php cp etc/php-fpm.conf.default etc/php-fpm.conf cd /usr/local/php/etc/php-fpm.d cp www.conf.default www.conf ``` 接下来配置nginx,让nginx能够把PHP动态请求转发给PHP解释器。在nginx的server段中,添加如下配置,否则会出现“No input file specified”的错误: ```bash location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } ``` 最后做个测试。在 `/usr/local/nginx/html` 目录下创建 `index.php` 文件,写入以下内容: ```php ``` 启动php-fpm: ```bash /usr/local/php/sbin/php-fpm ``` 然后打开浏览器访问,看看配置是否生效。如果一切正常,你应该能看到PHP的配置信息页面。
作者最新文章
SQL中ROUND函数对0.5的处理机制及强制四舍五入方法
2026-09-15 14:19
JS金额计算怎么避免四舍五入误差
2026-09-14 17:32
韩国8月携号转网数据:Galaxy Z8系列iPhone用户转化率约为Z7系列2倍
2026-09-08 17:02
AE基础教程:如何创建合成并制作关键帧动画
2026-09-04 09:27
如何去除PDF打开密码及解密后的文件检查
2026-09-03 11:08
精品专题
更多
Mac软件
更多
WINDOWS
更多

































