apache中配置php支持模块模式、cgi模式和fastcgi模式

摘要:
--withapxs2参数用于将PHP解释器模块编译成so文件,如果某些文章说需要fastcgi模式,则将其添加到Apache的模块中。

首先安装apache、mysql和php,依次顺序安装。

1.apache、mysql的安装比较简单,略过

2. php的安装,我安装的是php5.3.6内置了php-fpm,所以不需要再单独下补丁了。

./configure –prefix=/usr/local/php5 /
--with-mysql=/usr/local/mysql /
--enable-fpm
--with-apxs2=/usr/local/apache/bin/apxs 
 

注意:

--enable-fastcgi

--enable-force-cgi-redirect

这2个php新版本已经内置支持,所以如果加上这2个参数,make完毕会提示这2个参数找不到。所以不需要加这2个参数了。 

--with-apxs2

这个参数看到有的文章说需要fastcgi模式的话,就不能配置这个,其实也不完全是这样,这个参数的用途只不过是把php的解释模块编译成so文件添加到apache的modules中,并且自动添加到conf文件。如果我们不想用模块模式的话,在httpd.conf中把:

LoadModule php5_module modules/libphp5.so

这行注释掉就可以了。

3.mod_fastcgi的安装

#wget http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz

# tar -zxvf mod_fastcgi-2.4.6.tar.gz

# cd mod_fastcgi-2.4.6

# cp Makefile.AP2 Makefile

# vim Makefile 将Makefile中的路径改成你的apache的安装路径

# make install 安装成功

安装成功后,会自动把mod_fastcgi.so复制到/usr/local/apache/modules目录  

接下来是如何配置这4种模式:

1.模块模式

这种模式最简单,在http.conf中增加

LoadModule php5_module modules/libphp5.so

即可。然后在

<IfModule mime_module>

AddType application/x-httpd-php .php
AddType applicaiton/x-httpd-php-source .phps

2.CGI模式

这种模式需要注释掉

LoadModule php5_module modules/libphp5.so 这行。如果不注释这行会一直走到handler模式。也就是模块模式。

然后在httpd.conf增加action:

Action application/x-httpd-php /cgi-bin/php-cgi

如果在/cgi-bin/目录找不到php-cgi.可自行从php的bin里面cp一个。

然后重启apache,再打开测试页面发现Server API变成:CGI/FastCGI。说明成功切换为cgi模式。

3.FastCgi模式,用apche内置进程管理器

首先要添加fastcgi模块到httpd.conf配置文件:

LoadModule fastcgi_module modules/mod_fastcgi.so

 这种模式注释不注释LoadModule php5_module modules/libphp5.so这行貌似没什么关系,只要配置了以下模块

<IfModule fastcgi_module>
   FastCgiServer /usr/local/apache/cgi-bin/php-cgi -processes 20
   AddType application/x-httpd-php .php

   AddHandler php-fastcgi .php

   Action php-fastcgi /cgi-bin/php-cgi
</IfModule>

就会自动走到fastcgi模式。

然后重启apache,这个时候用 ps aux|grep php就会发现有很多php-cgi进程在运行。说明配置生效

免责声明:文章转载自《apache中配置php支持模块模式、cgi模式和fastcgi模式》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[转]使用 Angular CLI 和 ng-packagr 构建一个标准的 Angular 组件库TClientDataSet的全面剖析下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Zk学习笔记——权限控制

参考:从Paxos到Zookeeper分布式一致性原理和实践 使用的zk依赖是cdh5.16.2的3.4.5 <!-- zookeeper --> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zo...

PHP 5 Date/Time 函数

PHP Date/Time 简介 Date/Time 函数允许您从 PHP 脚本运行的服务器上获取日期和时间。您可以使用 Date/Time 函数通过不同的方式来格式化日期和时间。 注释:这些函数依赖于服务器的本地设置。使用这些函数时请记住要考虑夏令时和闰年。 安装 PHP Date/Time 函数是PHP 核心的组成部分。无需安装即可使用这些函数。...

php操作redis和memcache过期时间

php-redis 设置过期时间setTimeOut 命令行expireredis过期时间redis术语里面,把设置了expire time的key 叫做:volatile keys。 意思就是不稳定的key。没有设置过期时间的也就是永久存储 set:set('key','value')将值 value 关联到 key setTimeOut:setTim...

linux svn安装和配置

svn概述 众所周知,svn是一种集中式的版本控制工具,是cvs的改进版,那么svn相比cvs的好处在哪里呢? 基于目录的版本控制系统(传统的CVS都是基于单个文件进行版本控制的,而SVN可以随意去除任何一个文件、目录的任何一个历史版本) 原子提交(提交多个文件时,如果一个文件发生冲突,则其他修改都不会被提交) 高效的分支与标签 多种访问方式(svn提...

PHP5环境非安装配置 以及 EClipse单步调试配置 的方法 100%成功

在Windows平台配置PHP环境 注意:要按此配置搭建好环境,必须使用我的PHP.INI文件(已经配置好的),下载地址:/Files/lixyvip/php_ini.rar 假设PHP的全部文件放到D盘下的PHP文件夹 目录结构如下:d:\php\d:\php\ext\ php.ini文件在:d:\php\php.ini 1、我的电脑->属性-&g...

apache 2.4 访问权限配置

在apache 2.4里,访问权限配置与2.2不同,如果设置不对,则会报403错误,日志中会报 AH01630: client denied by server configuration。   [Sun Aug 27 19:01:37.591240 2017] [authz_core:error] [pid 16] [client 172.17.0.1:...