Apache下php的几种工作方式
一、CGI模式
PHP 在 Apache 2中的 CGI模式。编辑Apache 配置文件httpd.conf 如下:
# PHP4 版写法
ScriptAlias /php/ "D:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"
# PHP5 版写法
ScriptAlias /php/ "D:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"
二、Apache模块模式
PHP 在 Apache 2中的 模块模式。编辑Apache 配置文件httpd.conf 如下:
# PHP4 版写法
LoadModule php4_module "D:/php/php4apache2.dll"
AddType application/x-httpd-php .php
# 别忘了从 sapi 目录中把 php4apache2.dll 拷贝出来!
# PHP5 版写法
LoadModule php5_module "D:/php/php5apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "D:/php"
# PHPIniDir 是用来指明php配置文件 php.ini 的路径
三、FastCGI模式
Apache下的FastCGI模块目前网上有两个版本 mod_fastcgi 和 mod_fcgid。 推荐用 mod_fcgid。
使用 mod_fcgid 配置fastCGI模式
下载的 mod_fcgid,将压缩包中的“mod_fcgid.so”文件复制到apache的“modules”目录。打开Apache的httpd.conf 文件,在最后加入如下配置:
LoadModule fcgid_module modules/mod_fcgid.so <IfModule mod_fcgid.c> AddHandler fcgid-script .fcgi .php #php.ini的存放目录 FcgidInitialEnv PHPRC "D:/PHP" # 设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,防止php-cgi进程在处理完所有请求前退出 FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000 #php-cgi每个进程的最大请求数 FcgidMaxRequestsPerProcess 1000 #php-cgi最大的进程数 FcgidMaxProcesses 5 #最大执行时间 FcgidIOTimeout 120 FcgidIdleTimeout 120 #php-cgi的路径 FcgidWrapper "D:/PHP/php-cgi.exe" .php AddType application/x-httpd-php .php </IfModule>
修改DocumentRoot 路径的配置为:
<Directory "D:/WWW"> Options Indexes FollowSymLinks ExecCGI Order allow,deny Allow from all AllowOverride All </Directory>
推荐阅读
-
Apache下php的几种工作方式
-
简单介绍下 PHP5 中引入的 MYSQLI的用途_PHP教程
-
php连接mssql数据库的几种方式
-
memcached - linux下安装php的memcache扩展
-
Windows下全新安装Apache2,PHP5,MYSQL5,Zend(1)_PHP教程
-
本地连接 受限制或无连接 php下保存远程图片到本地的办法
-
windows8.1下Apache+Php+MySQL配置步骤_PHP
-
公司接了一个PHP的项目,准备选一套开源的Framework,牛人给推荐一下,该如何解决
-
linux下apache+mysql+php开发环境纯源代码编译搭建
-
Win200下PHP服务器的简单配置_PHP