您的位置:首页 >httpd 解析php,httpd解析php的小贴士
发布于2026-04-30 阅读(0)
扫一扫,手机访问

发现一个有趣的问题:php不用启动也能直接去解析php页面?
这确实有点反直觉。毕竟,以前用nginx对接PHP时,流程非常明确:PHP-FPM服务必须处于运行状态,Nginx才能通过FastCGI协议将PHP请求转发过去进行解析。典型的配置就像下面这样,核心就是那个指向9000端口的fastcgi_pass指令。
server {
location / {
}
location ~* \.php$ {
root /app/iislPhoto;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /app/iislPhoto$fastcgi_script_name;
include fastcgi_params;
}
}
切换到Apache(也就是httpd)环境后,最初的认知也是类似的:必须启动PHP-FPM服务。常见的配置方法分两步走:
首先,在/etc/httpd/conf.modules.d/10-php-fpm.conf这类文件中,通过SetHandler "proxy:fcgi://127.0.0.1:9000"指令设置袋里。
其次,确保主配置文件/etc/httpd/conf/httpd.conf中加载了必要的袋里模块:
LoadModule proxy_module /usr/lib64/httpd/modules/mod_proxy.so
LoadModule proxy_fcgi_module /usr/lib64/httpd/modules/mod_proxy_fcgi.so
LoadModule rewrite_module /usr/lib64/httpd/modules/mod_rewrite.so
当然,别忘了在httpd.conf里把index.php加入默认首页列表:DirectoryIndex index.html index.php。完成这些步骤后,重启httpd服务,一切就绪。
然而,有趣的事情来了。后来发现,在Apache环境下,竟然不用启动PHP-FPM服务也能成功解析PHP页面。这是怎么回事?
关键在于安装方式。当你通过yum install php php-mysql httpd* -y这样的命令一并安装PHP和Apache时,系统会自动配置好另一种解析方式。
秘密藏在/etc/httpd/conf.d/php.conf这个文件里。安装程序会在这里加载PHP作为一个Apache模块(通常是mod_php)。这个目录下的所有.conf文件,都会被主配置文件/etc/httpd/conf/httpd.conf中的Include conf.d/*.conf指令自动包含进去。
这样一来,Apache自身就内置了PHP解析能力,不再需要外部的PHP-FPM进程。同时,上面提到的10-php-fpm.conf文件也可能被自动生成,但它提供的是另一种通过袋里连接的备用方案。两种模式并存,但默认情况下,Apache模块模式(mod_php)可能直接生效了,这就解释了为何PHP服务未启动,页面却能正常解析。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9