PHP:手工安装或者使用安装程序安装。(以php5.2.17为例)
Windows 下的PHP,可以在http://windows.php.NET/download/ 下载。
打开该页面,我们会看到
php怎么安装?php安装 图文教程 msi zip
前面的VC6和VC9是什么意思呢?从该网页的侧边栏英文注释我们可以知道答案。
- Which version do I choose?
- If you are using PHP with Apache 1 or Apache2 from apache.org you need to use the VC6 versions of PHP
- If you are using PHP with IIS you should use the VC9 versions of PHP
- VC6 Versions are compiled with the legacy Visual Studio 6 compiler
- 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 已经配置好了.
新闻热点
疑难解答