php怎么安装?php安装 图文教程 msi zip

PHP:手工安装或者使用安装程序安装。(以php5.2.17为例)

Windows 下的PHP,可以在http://windows.php.NET/download/ 下载。

打开该页面,我们会看到

php怎么安装?php安装 图文教程 msi zip

前面的VC6和VC9是什么意思呢?从该网页的侧边栏英文注释我们可以知道答案。

  1. Which version do I choose?
  2. If you are using PHP with Apache 1 or Apache2 from apache.org you need to use the VC6 versions of PHP
  3. If you are using PHP with IIS you should use the VC9 versions of PHP
  4. VC6 Versions are compiled with the legacy Visual Studio 6 compiler
  5. VC9 Versions are compiled with the Visual Studio 2008 compiler and have improvements in performance and stability.

在这里我们选择和Apache相关联的vc6,而V6版本中又分为.zip版和Installer(msi)版本,这2个是什么意思呢?

Installer版本表示图形化安装程序安装.zip表示是手动安装

Installer版本 不包含任何外部的 PHP 扩展(PHP_*.dll),例如MySQL的扩展,没有这个扩展,php就无法与mysql连接。

如果需要,可以在 Windows ZIP 包和 PECL 中找到。

注:虽然 Windows 安装程序是让 PHP 工作的最容易的方法,但是它有很多限制。

例如,它不支持自动安装 PHP 扩展。使用安装程序安装 PHP 不是最好的方式。

警告:请注意,这种安装方式安装的 PHP 不是安全的。如果需要一个安全的 PHP 设置,最好使用手动方式安装,并手动设置好每个选项。

手工安装

虽然目前有很多多合一的安装包,而且也发布了一个 Microsoft Windows 的 PHP 安装程序,但是仍然建议用户花些时间自己手动安装 PHP。

因为这样才可以更加了解这套系统,并能够在需要的时候更方便的安装 PHP 扩展dll文件。

下面详细介绍php的安装和Apache加载php。

把解压的 php 重命名为 php5. 并复制到C 盘目录下. 即安装路径为 c:/php5

1,找到php 目录下的 php.ini.recommended ( 或者php.ini-dist) 文件, 重命名为 php.ini,必须只能复制到系统盘的windows 目录下( 以c:/windows 为例). 因为这是php 规定的。从最后的phpinfo.php 文件可以看到这个。

我复制到原目录下 后,结果导致无法连接到数据库。出现如下错误:

Fatal error : Call to undefined function mysql_connect() in D:/public_html/testMysql.php on line 6

我们从 phpinfo.php 中看到 Configuration File Path 的值是 C:/WINDOWS 。这是 PHP 规定的,但是经我测试,没有将 php.ini 放到 windws 下,导致 Loaded Configuration File 的值是 none ,正常情况下是 C:/WINDOWS/php.ini

2,再把php 目录下的php5ts.dll,libmysql.dll 复制到目录 c:/windows/system32 下.

注意:CGI 和 CLI 可执行文件以及 web 服务器模块都需要 php5ts.dll 。

要让 php5ts.dll 能正确被搜索到,有下面三个选择:①复制该文件到 Windows 系统目录,②复制该文件到 web 服务器的目录,③把 PHP 目录(例如 d:/PHP )添加到 PATH 环境变量中。为了将来更好的维护,建议使用最后一个选择,将 PHP 目录添加到 PATH 环境变量中,因为这样更便于将来升级 PHP 。但我之前用的是第一个选择。

编辑php.ini 文件

打开c:/windows/php.ini 文件

1 设置扩展路径

查找 extension_dir 有这么一行

extension_dir = "./"

将此行改成

extension_dir = "C:/php5/ext"

其中C:/php5 是你安装php 的路径. 路径不正确将无法加载dll

(注意:有些php 版本是 ;extension_dir = "./" 要把前面的分号去掉)

2 分别查找

;extension=php_mbstring.dll

;extension=php_gd2.dll

;extension=php_mysql.dll

把上面3 项前面的分号去掉, 这样php 就可以加载这些dll 了,从哪里加载,从上面extension_dir="C:/php5/ext" 所指定路径中加载。

如果没有加载 php_gd2.dll php 将不能处理图像. 没有加载php_mysql.dll php 将不支持mysql 函数库

php_mbstring.dll 在后面使用phpmyadmin 时支持宽字符

当然,还有另外一种加载方法:把php5/ext 目录下的php_gd2.dll,php_mysql.dll,php_mbstring.dll 文件复制到c:/windows/system32 下

这2 种方法经过我的测试,都是可以的。( 大家以后以后要加载一些dll, 比如说php_mysqli.dll, 也就懂得怎么加载了,2 种方法都是可以的)

3 设置会话保存路径

查找session.save_path 有这么一行

;session.save_path = "N;/path"

在此行后加入一行( 注意是加入一行, 不是加到后面 )

session.save_path = "C:/WINDOWS/Temp"

保存到你的临时目录下, 这里完全可以保存到windows 临时目录Temp 下

4,还有比较值得注意的是 short_open_tag . 有一些php 版本默认是Off 的.

也就是说 php 不能使用短标记如 必须使用由于短标记使用方便, 并且很多程序也是用短短标记来写, 如discuz 等,如果不把 short_open_tag 改成On 将出现的症状将很难判断是上面原因, 这里建议修改

查找

short_open_tag = Off

改为

short_open_tag = On

5 是否显示错误 display_errors

出于安全性考虑,display_errors 有些版本也默认为 Off.

就是说在调试时, 如果php 代码有误, 就只出现一个空白页. 而不会显示出错原因和出错行数.

这样调试起来将非常不便, 建议根据自己需要修改

查找

display_errors = Off ( 注意不是 ; - display_errors = Off [Security])

改成

display_errors = On

6,显示NOTICE 敬告提示

第五步虽然打开了出错提示, 但出错报告还受到 error_reporting 的控制.

php5 默认关闭NOTICE 敬告提示, 如果是在本地调试, 建议打开NOTICE 敬告提示.

查找

error_reporting = E_ALL & ~E_NOTICE

改成

error_reporting = E_ALL

另外提示一下, 在程序中也可以通过error_reporting() 控制错误报告输出, 具体怎么用大家参考下手册.

7,register_globals

出于安全性考虑它默认也是Off

当register_globals=Off 的时候, 下一个程序接收的时候应该用$_POST['user_name'] 和$_POST['user_pass'] )

当register_globals=On 的时候, 下一个程序可以直接使用$user_name 和$user_pass 来接受值.

更详细的说明请参考

http://www.phpfans.net/bbs/archiver/?tid-234.htm

建议根据自己需要修改 . 这里不建议修改, 毕竟存在安全隐患.

8,php5 时差问题,时间相差八小时

为什么呢?PHP5 系列版本新增了时区设置, 默认为格林威治时间, 与中国所在的东8 区正好相差8 个小时

查找date.timezone 有这么一行

;date.timezone =

将; 去掉, 改成

date.timezone = PRC

其中PRC :People's Republic of China 中华人民共和国,

更详细解决方法请参考本论坛的

http://www.phpfans.net/bbs/archiver/?tid-60.html

配置Apache 让Apache 加载配置好的PHP

1 打开apache配置文件http.conf

2 修改网站根目录(个人意愿)

查找DocumentRoot 有这么一行

DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"

这就是你网站的根目录, 你可以修改, 也可以用默认的. 如果改, 还要修改下面这项, 否则可能会出现 403 错误

查找 This should be changed to whatever you set DocumentRoot to

在它下面两行有

把上面两项的 C:/Program Files/Apache Group/Apache2/htdocs 改成你想要的目录

3,查找 DirectoryIndex index.html

修改成

DirectoryIndex index.html index.html.var index.php

这样index.php 可以充当默认页面了

4,Apache 中模块化安装php

查找 # LoadModule foo_module modules/mod_foo.so

在此行后加入一行

LoadModule php5_module C:/php5/php5apache2_2.dll

(其中C:/php5/php5apache2_2.dll 是你安装php 的相应路径.

注意不要把php5apache2_2.dll,php5apache2.dll 和php5apache.dll 混淆.php5apache.dll 只适用于apache 版本1 的.

PHP5 压缩包里的php5apache2.dll 只适用于apache2.0.* 版本, 如果是2.2.* 以上版本, 必须使用php5apache2_2.dll. 否则就可能会出现

"Cannot load C:/php/php5apache2.dll into server: The specified module could not be found."

或者:

"The requested operation has failed"

的情况. 关于这个问题的解决方法可以参考本论坛的

http://www.phpfans.net/bbs/viewt ... &extra=page%3D1

不过php5apache2_2.dll 出来之后也就没有多少参考价值了)

5,查找 AddType application/x-gzip .gz .tgz

在此行后加入一行

AddType application/x-httpd-php .php

这样apache 就可以解释php 文件了

到这里配置基本完成了

######## 重启apache #########

在网站根目录下创建一个 phpinfo.php 文件

<?php phpinfo();?>

在浏览器打开

http://localhost/phpinfo.php

如果出现php信息,则说明php 已经配置好了.