php运行方式

一篇文章:

Window下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/会出现如下界面:注意红色部分和配置的关系

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(); 
?>

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

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文件:

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文件:

参考:http://www.jb51.net/article/38329.htm

时间: 2024-10-06 23:53:27

php运行方式的相关文章

Python的两种运行方式

从2015年5月19日注册博客园,立志于要通过写博客的方式,记录自己编程的点点滴滴,由于自己太懒,一直拖到现在,“拖延症”是病得改,今天终于写自己第一篇博客了,有点小激动! Python是由Guido van Rossum于1989年底发明的,1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承.之所以选中Python(大蟒蛇的意思)作为程序的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者.国外人就是任性,

python程序的打开运行方式

python程序的运行方式大致可以分为两种,一种是直接通过python解释器直接解释型运行,另外一种是先把python程序编译为二进制文件再运行. .源代码 -python源代码的文件以"py" 为扩展名,由python程序解释,不需要编译; .字节代码 -python源文件经编译后生成的扩展名为"pyc"的文件; -编译方法- import py_compile py_compile.compile("hello.py") .优化代码 -经过优

Yarn源码分析之如何确定作业运行方式Uber or Non-Uber?

在MRAppMaster中,当MapReduce作业初始化时,它会通过作业状态机JobImpl中InitTransition的transition()方法,进行MapReduce作业初始化相关操作,而这其中就包括: 1.调用createSplits()方法,创建分片,并获取任务分片元数据信息TaskSplitMetaInfo数组taskSplitMetaInfo: 2.确定Map Task数目numMapTasks:分片元数据信息数组的长度,即有多少分片就有多少numMapTasks: 3.确定

将以管理员方式运行cmd运行方式放到win7任务栏

首先在桌面空白地方(没有桌面图标位置),点击鼠标右键,选择新建--快捷方式,如下图: 弹出创建快捷方式窗口,输入cmd.exe的路径及文件名,下图是天缘的Windows 7安装到C盘对应的cmd可执行文件地址C:\Windows\System32\cmd.exe,如果是其它驱动器相应修改,设置好点击下一步. 这里设置快捷方式的名称,比如cmd,或者采用默认的也可以,设置完成后,点击完成.如下图: 桌面上会生成一个cmd的快捷方式,如下图,我们再在cmd图标上,点击鼠标右键,选择属性. 如下图,选

使用TensorFlow创建第变量定义和运行方式

import tensorflow as tf# 熟悉tensorflow的变量定义和运行方式v1 = tf.Variable(2) #定义变量并给变量赋值v2 = tf.Variable(48) c1 = tf.constant(16) #定义常量并赋值c2 = tf.constant(3)addv = v1 + v2 sess = tf.Session() #注意tensorflow在运行时需要创建一个session, 所有的运算需要在session中执行 tf.initialize_all

大开测试:性能-线程和进程运行方式有何不同(连载9)

7.9  线程和进程运行方式有何不同 1.问题提出 线程和进程运行方式有何不同?它们的运行机制是什么?内存的占用情况如何? 2.问题解答 可以通过依次选择[Vuser]>[Run-Time Settings...]项,在弹出的运行时设置对话框中,在[Multithreading]项中选择按进程(Run Vuser as process)或者线程(Run Vuser as thread)运行方式,如图7-21所示. Vusers支持多线程环境.多线程环境的主要优势是每个负载生成器能运行多个Vuse

pig的各种运行模式与运行方式详解

一.pig的运行模式: Pig 有两种运行模式: Local 模式和 MapReduce 模式.当 Pig 在 Local 模式运行的时候, Pig 将只访问本地一台主机:当 Pig 在 MapReduce 模式运行的时候, Pig 将访问一个 Hadoop 集群和 HDFS 的安装位置.这时, Pig 将自动地对这个集群进行分配和回收.因为 Pig 系统可以自动地对 MapReduce 程序进行优化,所以当用户使用 Pig Latin 语言进行编程的时候,不必关心程序运行的效率, Pig 系统

Windows下图文详解PHP三种运行方式(php_mod、cgi、fastcgi)

PHP能不能成功的在Apache服务器上运行,就看我们如何去配置PHP的运行方式.PHP运行目前为止主要有三种方式: a.以模块加载的方式运行,初学者可能不容易理解,其实就是将PHP集成到Apache服务器,以同一个进程运行. b.以CGI的方式运行,CGI英文叫做公共网关接口,就是Apache在遇到PHP脚本的时候会将PHP程序提交给CGI应用程序(php-cgi.exe)解释,解释之后的结果返回给Apache,然后再返回给相应的请求用户. c.以FastCGI的方式运行.这种形式是CGI的加

Python3_打开和运行方式

蹬蹬蹬--第一次写博客,如有错误欢迎指正. Python很火,前几天也是因为需要装了一下,但是并没有用它,今天打开准备刚准备试下,才发现自己对这个软件一无所知,百度了一些资料发现并不能用才知道python3以后的版本的语法跟Python2差很多,这是催使我写博客的原因. 首先是Python的打开和运行,Windows系统下的三种运行方式: 1.用DOS命令行窗口   2.使用Python自带的IDLE   3.使用脚本运行.py 1.用DOS命令行窗口 先是在搜索框搜索Python,得到下图,并