« | September 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | |
| 公告 |
戒除浮躁,读好书,交益友 |
Blog信息 |
blog名称:邢红瑞的blog 日志总数:523 评论数量:1142 留言数量:0 访问次数:9713182 建立时间:2004年12月20日 |

| |
Windows下 Apache2+PHP5+MySQL5的配置  原创空间, 文章收藏, 软件技术, 电脑与网络
邢红瑞 发表于 2005/6/12 11:13:36 |
本来想用resin的php,但是考虑一下还是用原装的吧。PHP 的安装 由于php是一个zip文件(非install版),安装较为简单
解压就行.把解压的 php-hp-5.2.2-Win32 重命名为 php5.并复制到C盘目录下.即安装路径为 c:\php5
找到php目录下的 php.ini.recommended (或者php.ini-dist)文件,重命名为 php.ini,这样安全系数较高,不必复制到系统盘的windows目录下. 也不用把php目录下的php5ts.dll,libmysql.dll复制到目录 c:\windows\system32下.也不用把php5\ext目录下的php_gd2.dll,php_mysql.dll,php_mbstring.dll文件复制到c:\windows\system32下 注意:不要把 php_mysql.dll 和 php_mssql.dll 混淆
如果没有加载 php_gd2.dll, php将不能处理图像.没有加载php_mysql.dll php将不支持mysql函数库,php_mbstring.dll在后面使用phpmyadmin时支持宽字符
配置php并关联MySQL
打开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项前面的分号去掉,这样apache启动时就可以加载这些dll了
注意不要把 ;extension=php_mysql.dl 和 ;extension=php_mssql.dl 混淆
3 设置会话保存路径
查找session.save_path 有这么一行
; session.save_path = "N;/path"
在此行后加入一行(注意是加入一行,不是加到后面)
session.save_path = "C:\WINDOWS\Temp"
保存到你的临时目录下,这里完全可以保存到windows临时目录Temp下
4 还有比较值得注意的是 short_open_tag .有一些php版本默认是Off的.
也就是说 php不能使用短标记如 <? ?> 必须使用<?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 register_globals
出于安全性考虑它默认也是Off
当register_globals=Off的时候,下一个程序接收的时候应该用$_POST['user_name']和$_POST['user_pass'])
当register_globals=On的时候,下一个程序可以直接使用$user_name和$user_pass来接受值.
7 php5时差问题
<?php echo date("Y-m-d H:i:s");?>时间相差八小时
为什么呢?PHP5系列版本新增了时区设置,默认为格林威治时间,与中国所在的东8区正好相差8个小时
查找date.timezone有这么一行
;date.timezone =
将;去掉,改成
date.timezone = PRC
其中PRC:People's Republic of China 中华人民共和国,
Apache整合PHP
1 从开始菜单打开apache配置文档,如图
2 修改网站根目录
查找DocumentRoot有这么一行
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
这就是你网站的根目录,你可以修改,也可以用默认的.如果改,还要修改下面这项,否则可能会出现 403 错误
查找 This should be changed to whatever you set DocumentRoot to
在它下面两行有
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
把上面两项的 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.dllPHPIniDir "c:\php5"
其中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."
或者:
"Apache2.2/php-5.2.2-Win32/php5apache2.dll into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3"
5 查找 AddType application/x-gzip .gz .tgz
在此行后加入一行
AddType application/x-httpd-php .php |
|
|