商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > PHP-php-fpm安装

PHP-php-fpm安装

  发布于2026-07-20 阅读(0)

扫一扫,手机访问

先交代一下背景: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的配置信息页面。
本文转载于:https://blog.csdn.net/mossil/article/details/115617396 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注