深入学习PHP配置

开发 后端
文章这里详细的介绍了PHP配置和Apache 2可采取2种方式来运行PHP程序:通过一个CGI接口来运行(外部调用Php.exe),或者使用PHP的DLL文件在Apache的内部运行。

PHP经过长时间的发展,很多用户都很了解PHP了,这里我发表一下个人理解,和大家讨论讨论。下面我们就介绍一下PHP配置的步骤。虽然可以下载PHP 的源码,但和Apache 2一样,***直接使用二进制发行包。

#T#Apache 2可采取2种方式来运行PHP程序:通过一个CGI接口来运行(外部调用Php.exe),或者使用PHP的DLL文件在Apache的内部运行。后一种方式的速度较快。所以,针对每个版本的PHP,都会提供2个Windows二进制发行包。较小的是.msi包,它会安装CGI可执行程序Php.exe,但其中拿掉了通过Apache DLL来运行PHP脚本所需的模块。较大的.zip包则包含了所有这些东西,你可以从snaps.php.net网站的Win32区域下载它们。文件下载完毕后,把它解压到C:\Php(保留文件夹名称)。除非你有绝对的把握,请同时下载PHP手册,它有多种语言的版本可供选择。

PHP配置

现在来到了最有趣的部分:将Apache和PHP***地配合起来。首先,请将C:\Php\Dlls目录中的所有DLL文件拷贝到Windows的 System目录(%windir%\System)。接着,在Apache的配置文件(Httpd.conf)中查找包含了大量AddType命令那个小节,自己添加下面这一行:

  1. AddType application/x-httpd-php .php 

将C:\Php\Php.ini-recommended拷贝到Windows目录(%windir%),把它重命名为Php.ini,并用文本编辑器打开它。编辑其中对doc_root、extension_dir和session.save_path进行设置的3行,使其和下面展示的一致,注意要把 InstallDir替换成你的Apache 2的安装目录的名称。

  1. doc_root = c:\apache\apache2\htdocs  
  2.  
  3. extension_dir = c:\php\extensions  
  4.  
  5. session.save_path = c:/temp  

在session.save_path中使用正斜杠和反斜杠都是允许的。PHP配置声称这些路径参数需要在***添加一个反斜杠,但这个说法是不正确的。在PHP 4.3中不需要这样做。另外,如果C:\Temp不存在,请自己创建它。

下一步是允许Apache将PHP程序作为模块来运行,这要求你采取2个步骤。首先,将C:\Php\Php4ts.dll拷贝到Windows的系统文件夹(%windir%\System)。在Httpd.conf中找到LoadModule小节,自己添加下面这一行:

  1. LoadModule php4_module “c:/php/php4apache2.dll” 

如果你出于某种原因而需要在CGI模式中运行PHP程序(使用Php.exe),请将上面这一行变成注释,并在Httpd.conf中添加下面这些行:

  1. ScriptAlias /php/ "c:/php/"  
  2.  
  3. Action application/x-httpd-php "/php/php.exe"  

一切都搞定了吗?

保存所做的更改后,你需要亲自去证明两点,才能确保Apache 2/PHP 4成为一对***的搭档:Apache能正常加载吗,它能正确处理PHP页吗?

要知道Apache是否能够正常加载,在你已经打开的命令行窗口中输入以下命令:

  1. apache–k start 

另外,如果Apache正在运行,可用以下命令重新启动它:

  1. apache–k restart 

从命令行启动Apache的好处在于,如果出现一个错误,Apache会立即报告它。你可能遇到的最常见的问题在于,Apache可能由于某种原因而无法加载Php4apache2.dll。如果Apache报告了这个错误,请按前面所述的步骤重新操作一遍,确保一切都没有错误。要知道Apache是否能正确地处理PHP页,请用你的文本编辑器创建一个简单的PHP页,命名为Phptest.php,其中只包含下面这一行:

  1. <? phpinfo(); ?> 

将文件保存到主Web服务器目录(C:\InstallDirectory\Apache\Apache2\Htdocs),用浏览器访问http://localhost/phptest.php。如果一切正常,应该看到一个含有PHP徽标的网页,其中包含大量设置和其他信息。要知道PHP当前是通过CGI来运行,还是在Apache内部运行,可以检查一下环境变量orig_script_name。如果PHP通过CGI来运行,这个变量的值就是/Php/Php.exe。如果Apache将PHP 脚本作为模块来运行,该变量的值应该是/Phptest.php。

虽然在Windows上安装Apache 2和PHP并不是一件容易的事情,但也完全没必要采取摸着石头过河的做法。通过本文的说明,你应该可以快速搭建起这个史上***的、成本最

责任编辑:田树 来源: 博客
相关推荐

2009-11-16 16:31:56

PHP数组删除

2009-11-17 11:14:14

PHP日期函数

2011-05-19 11:03:02

PHPDwoo

2009-11-16 15:40:58

PHP数组函数

2015-09-29 08:57:46

javascript对象

2015-09-29 09:27:04

JavaScript对象

2010-06-29 15:29:22

UML建模流程

2010-09-28 09:22:34

DOM模型Html

2020-03-23 14:15:51

RadonDB安装数据库

2010-08-31 13:06:45

CSS

2010-09-28 14:35:34

DOM遍历

2010-09-06 11:26:18

CSS伪类

2010-08-26 09:58:01

CSS clear

2010-09-07 10:57:34

CSS伪类

2024-01-03 10:15:59

Python函数

2010-09-25 14:38:18

Java内存分配

2023-12-12 13:13:00

内存C++编程语言

2010-08-11 09:29:25

FlexJava数据模型

2019-07-08 20:00:35

Linux内核模块

2010-08-02 12:56:51

Flex Cairng
点赞
收藏

51CTO技术栈公众号