Window下PHP三种运行方式图文详解

2015-01-24信息快讯网

PHP能不能成功的在Apache服务器上运行,就看我们如何去配置PHP的运行方式

PHP能不能成功的在Apache服务器上运行,就看我们如何去配置PHP的运行方式。

PHP运行目前为止主要有三种方式:

a、以模块加载的方式运行,初学者可能不容易理解,其实就是将PHP集成到Apache服务器,以同一个进程运行。

b、以CGI的方式运行,CGI英文叫做公共网关接口,就是Apache在遇到PHP脚本的时候会将PHP程序提交给CGI应用程序(php-cgi.exe)解释,解释之后的结果返回给Apache,然后再相应请求的用户。

c、以FastCGI的方式运行。这种形式是CGI的加强版本,CGI是单进程,多线程的运行方式,程序执行完成之后就会销毁,所以每次都需要加载配置和环境变量fork-and-execute(创建-执行)。而FastCGI则不同,FastCGI 像是一个常驻 (long-live) 型的 CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去 fork 一次。FastCGI进程管理器自身初始化,启动多个CGI解释器进程 (在任务管理器中可见多个php-cgi.exe)并等待来自Web Server的连接。下面我就分边配置这三种运行方式:

1、无论上述哪种方式运行下面的配置通常都会加上,解压PHP安装包到c:/PHP5/,重命名PHP.ini-recommend文件为PHP.ini,分别寻找如下字段编辑,去除前面的分号(注意不要去错分号,好多是注释信息,仔细辨认)。
 
error_reporting = E_ALL //开启报错,便于程序员查错 line 342 
display_errors = On //显示错误 line 373 
extension_dir = "C:/php5/ext" //php的扩展选项文件所在的目录 line 542 
date.timezone = Asia/shanhai //时区配置  line 716 


2、以模块的方式运行,在Apache(C:/Program Files/Apache Software Foundation/Apache2.2/conf)的配置文件里添加如下配置

 
LoadModule php5_module "C:/php5/php5apache2_2.dll" //大约line 127 
PHPinidir "C:/php5/php.ini" 
//修改配置 
DirectoryIndex index.html index.php//追加index.php 
AddType application/x-httpd-php .php //line 408左右添加 


接着我们在apache的根目录下面,默认C:/Program Files/Apache Software Foundation/Apache2.2/htdocs新建php文件index.php,编辑添加如下代码:

 
<?php 
phpinfo(); 
?> 


然后我们在地址栏输入http://localhost/会出现如下界面:注意红色部分和配置的关系

Window下PHP三种运行方式图文详解_信息快讯网

3、cgi的方式运行,需要做如下的配置首先php配置文件
 
cgi.force_redirect = 0 //本来是 1 并且去掉注释符号; 


修改apache的配置,去掉原来的模块配置

 
AddType application/x-httpd-php .php 
LoadModule php5_module "C:/php5/php5apache2_2.dll" 
PHPinidir "C:/php5/php.ini" 


=>加入以下配置
 
AddHandler cgi-script .cgi // line 396 


然后我们在目录C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin新建一个cgi文件test.cgi编写如下代码:

 
#!c:/php5/php-cgi.exe 
<? 
php php phpinfo(); 
?> 


Window下PHP三种运行方式图文详解_信息快讯网

 

如果同时打开多个则会有很多php-cgi.exe,并且在执行完成之后消失:

Window下PHP三种运行方式图文详解_信息快讯网

4、PHP的fastcig方式运行,首先需要去下载fastcgi模块,默认是没有带这个模块的,而cgi是自带的;下载地址http://httpd.apache.org/mod_fcgid/;解压复制其中的mod_fcgid.so和mod_fcgid.pdb,接下来做如下的配置:

 
LoadModule fcgid_module modules/mod_fcgid.so // line 128追加 
FcgidInitialEnv PHPRC "c:/php5" //php配置文件 line 129追加 
AddHandler fcgid-script .php //添加句柄 即后缀 什么样的文件需要fastcgi解释 line 407追加 
FcgidWrapper "c:/php5/php-cgi.exe" .php //解释器路径 line 408 
Options Indexes FollowSymLinks ExecCGI //line 221 追加 ExecCGI 意思是目录允许执行CGI脚本 


是否成功安装,只需要做个PHP文件检查就可以了,我们就用上面的index.php文件:

Window下PHP三种运行方式图文详解_信息快讯网

Window下PHP三种运行方式图文详解_信息快讯网

终于把PHP的运行方式讲完了,初学者一定要亲自试验一下,这篇教程具有一定的难度,要反复思考才能理解其中的意思,涉及到一些专业知识,当然你暂时可以直接使用模块运行方式,等自己对PHP有了一定的理解之后可以再回头看看这篇文章,今天我花了几个小时的时间整理PHP的运行方式,由于作者本人的水平有限,错误之处在所难免!
PHP中如何实现常用邮箱的基本判断
PHP实现变色验证码实例
有关于PHP中常见数据类型的汇总分享
用php简单实现加减乘除计算器
PHP面向对象之旅:深入理解static变量与方法
浅析ThinkPHP中的pathinfo模式和URL重写
PHP运行SVN命令显示某用户的文件更新记录的代码
php输入流php://input使用示例(php发送图片流到服务器)
linux实现php定时执行cron任务详解
thinkphp的CURD和查询方式介绍
浅析echo(),print(),print_r(),return之间的区别
json的键名为数字时的调用方式(示例代码)
php cURL和Rolling cURL并发方式比较
php登陆页的密码处理方式分享
PHP 输出URL的快捷方式示例代码
计算php页面运行时间的函数介绍
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
解析crontab php自动运行的方法
php启用zlib压缩文件的配置方法
控制PHP的输出:缓存并压缩动态页面
基于PHP导出Excel的小经验 完美解决乱码问题
win7+apache+php+mysql环境配置操作详解
浅谈php中mysql与mysqli的区别分析
探讨php中防止SQL注入最好的方法是什么
探讨php define()函数及defined()函数使用详解
linux环境apache多端口配置虚拟主机的方法深入介绍
windows环境下php配置memcache的具体操作步骤
强烈声明: 不要使用(include/require)_once
深入探讨:PHP使用数据库永久连接方式操作MySQL的是与非
深入PHP运行环境配置的详解
PHP运行环境配置与开发环境的配置(图文教程)
基于PHP异步执行的常用方式详解
php生成二维码的几种方式整理及使用实例
基于php在各种web服务器的运行模式详解
PHP运行模式的深入理解
使用php实现下载生成某链接快捷方式的解决方法
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
关于shopex同步ucenter的redirect问题,导致script不运行
©2014-2024 dbsqp.com