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也会自动生成相关规则