httpd解析php的小贴士

以前使用php的时候, 都是直接用nginx和php对接的, 极少是用apache去对接, 但是最近在用httpd测试WordPress的时候, 

发现一个有趣的问题,

php不用启动也能直接去解析php页面 ???

以前用nginx的时候是这样对接的, 前提是php是需要启动的情况下才去解析的, 

放在同一个server下

NGINX

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;
    }
}

APACHE1

后来发现httpd也有支持php, 也是规定要启动php才能解析

1.vim /etc/httpd/conf.modules.d/10-php-fpm.conf

<FilesMatch \.php$>
         SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>

2.vim /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

3.载入php首页支持(这个在httpd.conf)

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

再重启下就好了

APACHE2

后来发现, 原来不用启动php服务器apache也能成功解析php页面的

yum install php php-mysql httpd* -y

不用启动php服务为什么也能解析

因为在linux下安装httpd的时候/etc/httpd/conf.d/php.conf这个文件有加载php模块
conf.d下面的内容会在/etc/httpd/conf/httpd.conf中的Include conf.d/*.conf中包含进去了

包括上面的10-php-fpm.conf也会自动生成相关规则

 

 

 

Tags: