PHP和Apache有如下三种配置方式:

1.集成方式。

phpApache Module的形式集成到Apache中,即Apache安装目录下modules/libphp7.so包括了php解析器以及php的其他的功能支持。安装步骤如下:

1apache安装

a)下载apache-httpd源码tarball

b)./configure --prefix=/home/local/apache

cmake

dmake install

2php的安装

a)在http://www.php.net/downloads.php 上下载PHP源代码或二进制包

b)解压php,tar zxvf php-**.tar.gz

c)./configure --prefix=/home/local/php--with-apxs2=/home/local/apache/bin/apxs

备注:通过--with-apxs2可以将php编译链接生成的php so文件放到apache安装目录下的modules子目录中

d)make && make install

3)修改apache配置/home/local/apache/conf/httpd.conf

a)增加加载phpmodule

LoadModule php7_module modules/libphp7.so

b)在 AddTypeapplication/x-gzip .gz .tgz 后面添加

AddTypeapplication/x-httpd-php-source .phps

AddTypeapplication/x-httpd-php .php

c)修改 DirectoryIndexindex.html为

DirectoryIndexindex.html index.php default.php default.html

4)测试验证

a)在/home/local/apache/htdocs/下增加index.php文件,内容为

<?php

phpinfo()

?>

b)浏览器中输入http://localhost:8080/index.php

2.CGI

CGI的配置方式类似于python+Apache的CGI形式,参见<<Python+Apache环境安装与配置>>


3.FastCGI(以使用PHP自带的PHP-FPMFastCGI进程管理器为例)

1)安装php,编译参数如下:

./configure --prefix=/home/local/php --enable-fpm #注意不要加上--with-apxs2

今后编译安装之后,php-fpmbin文件在/home/local/php/sbin/php-fpm,配置文件在/home/local/php/etc/php-fpm.conf和被包含配置文件/home/local/php/etc/php-fpm.d/www.conf。注意php-fpm.conf和php-fpm.d/www.conf都是由默认的*.conf.default重命名过来的。

2)配置php-fpm并启动php-fpm

www.conf配置了php-fpm绑定的ipport等信息,我们可以对这些信息进行定制化。然后cd /home/local/php/ && sbin/php-fpm来启动php-fpm服务器。此后php-fpm开始监听指定的端口,等待web服务器的连接请求。

3)安装apache

4)安装mod_fcgidmod_fastcgi

apache的支持fastcgi协议的模块有mod_fastcgi、mod_fcgid v2.2以及mod_fcgidv2.3.x三种,他们的区别如下:

http://www.javatang.com/archives/2010/01/07/3629356.html

备注:mod_fastcgi应该是下载不到了,官方已经不维护了。mod_fcgidapache官方维护的。mod_fcgidmod_fastcgi模块在http.conf的配置很不一样,具体在网上搜一下吧

另外,其实可以用于PHP的FastCGI管理程序挺多的,这里只是以 PHP自带的 PHP-FPM FastCGI 进程管理器为例。

参考资料来源:

http://blog.csdn.net/akensun/article/details/5394860

更多相关文章

  1. IIS 8 - PHP管理器-启用php_oci8。dll为Oracle连接
  2. 关于php的输出方式
  3. 我无法以正确的方式放置最后一个div。而Loop
  4. php-fpm的两种配置方式
  5. 如何以分布式方式将Zend_cache与memcached一起使用?
  6. 以编程方式编写CSS背景的最佳方法?
  7. mysql 拷贝表(复制表)的几种方式
  8. 组织这种结构的最佳方式?
  9. 源码方式安装mysql5.5

随机推荐

  1. Android开发如何设置文字阴影
  2. 恶意吸费之后,你渴望开放还是开源?
  3. Android中的SQLite使用学习
  4. android 所有布局属性和UI控件
  5. (4) Android中Binder调用流程 --- bindServ
  6. android ListView没有数据时信息显示
  7. Android如何实现模糊的半透明窗口
  8. CyanogenMod创始人宣布加入三星移动 “让
  9. Android消息提示框Toast
  10. Android数据存储---数据备份(Data Backup)(