IIS5.1运行PHP配置问题
IIS搭建PHP环境
对于组建PHP服务器,其多是使用Apache软件来实现的,以Apache组建的服务器可承受每天数百万人的访问量,如果你要组建的是大型服务器,那么Apache是最佳的选择。但对于局域网用户,服务器的访问量不大,而且Apache的安装配置十分的复杂,因此使用IIS来组建PHP服务器就成了首选。而且使用IIS即可以在一台服务器上组建ASP服务器也可以组建PHP服务器。在使用IIS组建PHP服务器之前,我们需要准备几个相关的软件:PHP 442 zip packageMySql-4118-win32Zend Optimizer 2510 For Window其中PHP V442 Zip Package是PHP的程序压缩包,组建PHP服务器所必须的,“MySql-4118-win32”是Windows环境下MySql的安装程序,而“Zend Optimizer 2510 For Window”则是PHP系统的加速软件,目前许多PHP系统都经过Zend Optimizer编译,所以这个软件也是PHP服务器的必备之一。由于PHP的配置相对复杂,因此在这里我们就以“读吧”系统的配置为例,向大家讲解PHP+MySQL服务器的具体架设方法。“读吧”是一套PHP+MySQL的小说站系统,其网站地址为http://aall851vipbiz/forum-5-1html。(1)配置IIS的PHP环境要想IIS支持PHP系统的运行,我们只需要安装和配置PHP程序压缩包,并在IIS中进行相应的设置就可以了。第一步:在C盘下新建一个PHP文件夹,然后将PHP程序压缩包中的文件复制到该文件夹下(如图
小提示:PHP文件夹所在的路径可以自定义,但在本实例以下的步骤中将多次对该路径进行设置,因此在你自定义PHP文件夹路径时在配置PHP的过程中应进行相应的修改。第二步:将“C:\php\dlls”文件夹下所有的DLL文件得复制到“C:\Windows\System32”文件夹下,接着再将“C:\php4tsdll”文件复制到“C:\Windows”文件夹下。第三步:接着将PHP文件夹下的“phpini-dist”文件更名为“phpini”,并将其复制到“C:\Windows”文件夹下。第四步:打开“Internet信息服务器”对话框,依次展开“Internet信息服务”→“本地计算机”→“网站”→“默认网站”,接着在窗口菜单中依次选择“操作”→“属性”,打开“默认网站 属性”对话框。第五步:选择“主目录”选项卡,在该选项卡的“应用程序设置”选项区域中点击“配置”按钮,打开“应用程序配置”对话框(如图2)。
第六步:点击“添加”按钮,在打开对话框的“可执行文件”文本框中输入“C:\php\sapi\php4isapidll”,在“扩展名”文本框中输入“php”。第七步:回到“默认网站 属性”对话框并选择“文档”选项卡,点击“添加”按钮添加一个“indexphp”的默认文档,并将该默认文档设为优先打开(即排在文档列表的最前面)。第八步:到此我们就可以测试一下能否正常运行PHP系统了。在你的IIS根目录下新建一个phpinfophp文件,然后在该文件中添加如下内容:<phpphpinfo();>第九步:打开IE浏览器,在地址栏中输入“http://localhost/phpinfophp”,若你的配置正确,那么在该页面中将显示当前服务器所支持 PHP 的全部信息,可以看到 Server API的模式为:ISAPI(如图
PHP $_SERVER 变量
$_SERVER 是一个包含诸如头信息(header)、路径(path)和脚本位置(script locations)的数组。它是 PHP 中一个超级全局变量,我们可以在 PHP 程序的任何地方直接访问它。
$_SERVER 包含着众多的信息,你可以尝试直接打印它:
print_r($_SERVER);
$_SERVER 数组元素
更多情况下,我们只需要 $_SERVER 数组中的某些元素(数组单元)。$_SERVER 数组包含的元素如下:
页面程序相关
$_SERVER[‘PHP_SELF’]:相对于网站根目录的路径及 PHP 程序名称,与 document root 相关。
$_SERVER[‘HTTP_REFERER’]:链接到当前页面的前一页面的 URL 地址。
$_SERVER[‘SCRIPT_NAME’]:相对于网站根目录的路径及 PHP 程序文件名称 。
$_SERVER[‘REQUEST_URI’]:访问此页面所需的 URI 。
$_SERVER[‘SCRIPT_FILENAME’]:当前运行 PHP 程序的绝对路径及文件名。
$_SERVER[‘PATH_TRANSLATED’]:当前 PHP 程序所在文件系统(不是文档根目录)的基本路径。
$_SERVER[‘QUERY_STRING’]:查询(query)的字符串(URL 中第一个问号 之后的内容但不包括 # 后面的内容)。
$_SERVER[‘argv’]:传递给当前 PHP 程序的参数。
$_SERVER[‘argc’]:命令行模式下,包含传递给程序的命令行参数的个数。
$_SERVER[‘REQUEST_TIME’]:请求开始时的时间戳,从 PHP 510 起有效。
$_SERVER[‘REQUEST_METHOD’]:访问页面时的请求方法,例如:“GET”、“HEAD”,“POST”或“PUT”。
$_SERVER[‘HTTP_ACCEPT’]:当前请求的 Accept: 头信息的内容。
$_SERVER[‘HTTP_ACCEPT_CHARSET’]:当前请求的 Accept-Charset: 头信息的内容。例如:“iso-8859-1,,utf-8”。
$_SERVER[‘HTTP_ACCEPT_ENCODING’]:当前请求的 Accept-Encoding: 头信息的内容。例如:“gzip”。
$_SERVER[‘HTTP_ACCEPT_LANGUAGE’]:当前请求的 Accept-Language: 头信息的内容。例如:“zh-cn”。
$_SERVER[‘HTTP_CONNECTION’]:当前请求的 Connection: 头信息的内容。例如:“Keep-Alive”。
$_SERVER[‘HTTP_HOST’]:当前请求的 Host: 头信息的内容。
$_SERVER[‘HTTPS’]:如果 PHP 程序是通过 HTTPS 协议被访问,则被设为一个非空的值。
$_SERVER[‘PHP_AUTH_DIGEST’]:当作为 Apache 模块运行时,进行 HTTP Digest 认证的过程中,此变量被设置成客户端发送的“Authorization”HTTP 头内容(以便作进一步的认证操作)。
$_SERVER[‘PHP_AUTH_USER’]:当 PHP 运行在 Apache 或 IIS(PHP 5 是 ISAPI)模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。
$_SERVER[‘PHP_AUTH_PW’]:当 PHP 运行在 Apache 或 IIS(PHP 5 是 ISAPI)模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。
$_SERVER[‘AUTH_TYPE’]:当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型。
服务器端相关
$_SERVER[‘DOCUMENT_ROOT’]:当前运行 PHP 程序所在的文档根目录,在服务器配置文件中定义。
$_SERVER[‘GATEWAY_INTERFACE’]:服务器使用的 CGI 规范的版本,例如:“CGI/11”。
$_SERVER[‘SERVER_ADDR’]:当前运行 PHP 程序所在的服务器的 IP 地址。
$_SERVER[‘SERVER_NAME’]:当前运行 PHP 程序所在的服务器的名称。
$_SERVER[‘SERVER_ADMIN’]:Apache 服务器配置文件中的 SERVER_ADMIN 参数。
$_SERVER[‘SERVER_PORT’]:服务器所使用的端口。如果使用 SSL 安全连接,则这个值为用户设置的 HTTP 端口。
$_SERVER[‘SERVER_SIGNATURE’]:包含服务器版本和虚拟主机名的字符串。
$_SERVER[‘SERVER_SOFTWARE’]:服务器标识的字串,在响应请求时的头信息中给出。
$_SERVER[‘SERVER_PROTOCOL’]:请求页面时通信协议的名称和版本,例如:“HTTP/10”。
其他杂项
$_SERVER[‘HTTP_USER_AGENT’]:当前请求的 User-Agent: 头信息的内容,该字符串表明了访问该页面的用户代理的信息。
$_SERVER[‘REMOTE_ADDR’]:正在浏览当前页面用户的 IP 地址。
$_SERVER[‘REMOTE_HOST’]:正在浏览当前页面用户的主机名。
$_SERVER[‘REMOTE_PORT’]:用户连接到服务器时所使用的端口。
注意,如果以命令行方式运行 PHP,上面列出的元素几乎没有有效的(或是没有任何实际意义的)。
PHP $_ENV 变量
$_ENV 是一个包含服务器端环境变量的数组。它是 PHP 中一个超级全局变量,我们可以在 PHP 程序的任何地方直接访问它。
$_ENV 只是被动的接受服务器端的环境变量并把它们转换为数组元素,你可以尝试直接打印它:
print_r($_ENV);
限于篇幅,在此不再列出打印的结果,且不同的服务器上,打印出的结果可能是完全不同的。
$_ENV 数组元素
$_ENV 数组中的元素(数组单元)随服务器环境不同而有较大差异,所以无法像 $_SERVER 那样列出完整的列表。以下是 $_ENV 数组包含的比较通用的元素:
$_SERVER[‘PATH’]:环境变量 PATH 路径。
$_SERVER[‘CLASSPATH’]:系统 CLASSPATH 路径。
$_SERVER[‘LIB’]:系统 LIB 库路径。
$_SERVER[‘INCLUDE’]:系统 Include 路径,注意与 PHP 的包含路径是不一样的。
$_SERVER[‘OS’]:操作系统类型。
$_SERVER[‘LANG’]:系统语言,如 en_US 或 zh_CN。
$_SERVER[‘PWD’]:当前工作目录。
$_SERVER[‘TEMP’]:系统 TEMP 路径。
$_SERVER[‘AP_PARENT_PID’]:当前进程 ID 号。
$_SERVER[‘NUMBER_OF_PROCESSORS’]:系统 CPU 数目。
$_ENV 为空的原因及解决办法
如果打印输出 $_ENV 为空,可以检查一下 phpini 的配置:
variables_order = "EGPCS"
上述配置表示 PHP 接受的外部变量来源及顺序,EGPCS 是 Environment、Get、Post、Cookies 和 Server 的缩写。如果 variables_order 的配置中缺少 E ,则 PHP 无法接受环境变量,那么 $_ENV 也就为空了。
找到php的音频转换工具,基于html5开发的android和ios的app应用上实现语音聊天功能也就理论上打通了。
1 用phonegap封装成android应用,phonegap官网上有详细介绍
2实现js和android原生语言java的通信(google有介绍)
3调用原生语言实现录音功能(mediaRecorder类),录音格式为 amr格式(android本身支持的语言)
4回调js方法,把amr文件地址传给phonegap,利用phonegap读取录音文件并上传到服务器端
5服务器端利用ffmpeg2theora 将amr转为html5支持的音频格式ogg
6接下来读取文件,利用html5的audio 播放ogg文件。
一首先下载软件:
(apache) 我用的是在华军软件园下载的apache_1326-win32-x86-no_src!!
(jdk!) 在首页上面就有连接。
(php4) 不用多说了code-labs上面就有也可以去php的官方网站看看!!
(iasp) 最重要的一个软件了——————————————————————————————————
二安装apache
1、双击apache的安装文件,和普通windows程序安装一样,一路点“next”就可以。
2、安装程序要求你输入你的network domain(网络域名:形如xxxcom);server domain(服务器域名:形wwwxxxcom)和网站管理员的e-mail。有的话就按实填写,个人用户若没有的话可以按格式随便填一下。
3、到了选择安装路径,本人强烈建议你将安装路径改为“c:\”,因为这样可以省去好多的配置麻烦。 4、一路“next”直至“finish”。安装就结束了。
这时,你的apache已经启动了,你可以在ie地址栏里输入:http://localhost/或http://127001看看。在“管理工具”的“服务”项中,也可以找到apache服务的身影了,以后apache就可以作为一项windows2000服务,随着机器的启动而运行了!
------------------------------------------------------------------------------
三配置apache
打开配置文件主要修改的项目是:
(1)、查找documentroot。这个语句指定你的网站路径,也就是你主页放置的目录。你可以使用默认的,也可以自己指定一个,但记住,这句末尾不要加“/”。
(2)、寻找到directoryindex。这就是你站点第一个显示的主页,在indexhtml的后面加入indexhtm indexphp indexphp3 indexcgi indexpl indexasp等等。注意,每种类型之间都要留一空格!
(3)、特别说明一点就是port(端口号),如果没安装iis的话,就保持80不要变,否则,就要改一下(因为iis的web服务占据了80),可以改成81等等,或者干脆改iis的默认端口号!随你高兴。
(4).#bindaddress 改为 bindaddress 127001(用记事本打开/然后点编辑/查找)
其他都是以后深入使用是才要配置的项目了!安装完毕后运行http://localhost/
就可以看见apache的帮助文件了!
-----------------------------------------------------------------------------
四安装xxx(注意这个最主要的了)(关闭apache服务)
(1)、下面安装php首先安装php到c:\php4 (别改路径了!否则以后的配置哼哼)我用的是php的402版,
(2)、接下来就要拷贝msvcrtdll到c:\winnt\system32\下面系统就回提示所文件正在被windows使用了,不要紧正常现象!覆盖任何原有文件。
(3)、把 c:\phpini-dist改名为phpini,拷贝到c:\winnt下,
(4)、好了现在打开apache的配置文件httpdconf增加下面的语句:(随便什么地方都可以,但要单独成行)
scriptalias /php4/ "c:/php4/"
addtype application/x-httpd-php4 php
addtype application/x-httpd-php4 php3
addtype application/x-httpd-php4 php4
action application/x-httpd-php4 "/php4/phpexe"
directoryindex indexhtml
directoryindex indexhtm
directoryindex indexphp
directoryindex indexphp3
directoryindex indexphp4
directoryindex indexasp
(5)、接下来修改phpini文件
找到windows extensions项:增加
extension_dir = c:\php4
extension=php_zlibdll
extension =php_ldapdll
extension =php_zlibdll
extension =php_calendardll
extension =php_exifdll
extension =php_ftpdll
extension =php_mssql70dll (这一项不要加,没有mssql70呀)
extension =php_imapdll
■ok存盘ko■
在你的documentroot的目录下建立testphp文件
<phpinfo();>
ok看见php的测试页面了!!至此php的配置已经完成了!
下面安装jdk也是进行默认安装就可以了!之后在windows的环境变量里面增加path变量值c:\j2sdk\bin(:不同版本的安装路径名不同)
好了下面安装iasp使用默认安装就可以了!在安装过程后软件会提示你进行web server的设置首先选择:
instant asp native servlet surport 选项接下来选择apache server
之后要求你选择apche的版本号和httpdconf的路径选择好后系统自动进行配置如果一切顺利就可以测试了!!
建立testasp
<%responsewrite("hell world!")%>
现在运行http://localhost/testasp,看到helloworld!好了一切搞定有可以使用apache了!!!
------------------------------------------------------------------------
五、上面说到了windows+apache+php+asp的运行环境了今天来说说在这个基础上使apache也可以支持jsp的运行。
1:所需软件resin(resin214)resin http://wwwcaochucom
下面说说怎么安装:
resin在下载后是zip文件只要简单的解压缩到指定的目录就可以了这里我使用的是c:\resin-ee-214 利用命令 c:\resin-ee-214\bin\httpdexe -install(remove)将resin作为win2000的一个service
ok!下面找到win2000的环境变量"控制面板-->系统-->高级-->环境变量“
增加变量"resin_home"变量值"c:\resin-ee-214"如果你已经安装了 jdk那么就不需要设置什么了!没有的话就看看的我的上一篇文章!!!ok向下~~
现在修改apache的设置文件httpdconf假如下面的代码:
loadmodule caucho_module c:/resin-ee-214/libexec/apache-13/mod_cauchodll
addmodule mod_cauchoc
最新的应该是php5
从代码上来说比较难,因为php3的代码还是可以运行在php4的环境中,可能他们会有少许不同的地方。
一般来讲我们是用服务器php版本来确定。
建一个php网页内容如下:
<php echo phpinfo() >
将会打出服务器相关信息,可以看到php的版本号。
虽然这个phpinfo()在php3中可以用,在php4中可以,在php5中也可以用,但是我们不能说phpinfo()是php3,也不能说他是php4或是php5
就像你有一个word文档。是用word2000建的。你可以用word2000打开,也可以word2002打开。也可以用最新的word2007打开,但是你不能说你那个word文档是97,是2000等。
一般讲php是指两样东西,一是php网页文件,一是php服务器
php网页文件就是纯文本的东西,你可以用记事本打开。如果你想要运行的话那么你就需要一个php服务器,如果要自己在电脑上建一个php服务器的话,那么你可以去php的官方站点(http://wwwphpnet/)下载一个php服务器安装文件包。然后安装。
如果你有服务器,而又只是写一个简单的网页,那么当然不用装了,写了放到服务器上,在服务器上运行看一下再修改是一样的。
0条评论