php5 MySQL5 apache2 phpmyadmin ZendOptimizer安装与配置
Posted on 2008-05-05 20:37 ≮海浪轻风≯ 阅读(435) 评论(0) 收藏 举报
http://www.phpnet.cn/bbs/viewthread.php?tid=70 (推荐!)
=======================
搜索到的相关文章:
准备要新买服务器,由于服务器上其他两个站点是ASP+SQL的,所以不得不把服务器装成WIN2003的,再windows环境下配置PHP使我走了很多弯路,在网上找了很多资料,终于让我能够在本机配置好并运行了,针对PHP环境的配置,我记录下了一些东西和方法,希望能传播出去,帮助更多人少走弯路,同时也算是自己的学习笔记了。
第一步,安装相关软件
因为是apache+MySQL+PHP5,所以大家可以在如下地址下载下列软件:
1、php5.2.1(zip)
2、apache2.2.4
3、MySQL5.0.37
4、phpmyadmin2.10.0.2
5、ZendOptimizer-3.2.6
其中,第4、5两项是管理和优化用的工具,Zend Optimizer用优化代码的方法来提高PHP应用程序的执行速度。执行使用Zend Optimizer的PHP程序比不使用的要快40%到100%。而且一些用Zend SafeGuard 加密过的文件,必须装了Zend Optimizer才可以运行。注意:Zend Optimizer 的安装与否并不影响php正常运行,如果你觉得麻烦,这步可以省去。
安装部分,我简要的说说PHP5的安装,其他就不累赘了
PHP的安装
由于php是一个zip文件(非install版),安装较为简单,解压就行.把解压的 php-5.2.1-Win32 重命名为 php5.并复制到C盘目录下.即安装路径为 c:\php5
1 找到php目录下的 php.ini.recommended (或者php.ini-dist)文件,重命名为 php.ini并复制到系统盘的windows目录下(以c:\windows为例).
2 再把php目录下的php5ts.dll,libmysql.dll复制到目录 c:\windows\system32下.
3 把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
打开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项前面的分号去掉,这样apache启动时就可以加载这些dll了
注意不要把 ;extension=php_mysql.dl 和 ;extension=php_mssql.dl 混淆
当然前面我们也把这些dll复制到system32下了.(大家在安装的过程中都注意到如何把一些dll加载入来了,以后要加载一些dll,比如说php_mysqli.dll,也就懂得怎么加载了)
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 register_globals
出于安全性考虑它默认也是Off
当register_globals=Off的时候,下一个程序接收的时候应该用$_POST['user_name']和$_POST['user_pass'])
当register_globals=On的时候,下一个程序可以直接使用$user_name和$user_pass来接受值.
建议根据自己需要修改 .这里不建议修改,毕竟存在安全隐患.
7 php5时差问题
时间相差八小时,为什么呢?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,在它下面两行有:
把上面两项的 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”
关于这个问题的解决方法可以参考这里,不过php5apache2_2.dll出来之后也就没有多少参考价值了)
5 查找 AddType application/x-gzip .gz .tgz
在此行后加入一行 AddType application/x-httpd-php .php
这样apache就可以解释php文件了
到这里配置基本完成了
BTW:关于Apache中如何设置,才能不让用户浏览文件目录列表
去掉Options Indexes选项,查找到这一条后,在前面加个# 就可以了
第三步,测试
1、apache整合PHP
在网站根目录下创建一个 phpinfo.php 文件
phpinfo();
?>
在浏览器打开http://localhost/phpinfo.php
如果出现版本信息,则说明配置成功了
2、php和mysql数据库的关联
在网站根目录下创建一个test.php 文件
//php测试
$host = "localhost";
$user = "root";
$password = "12345";//12345改成你的mysql密码
$link=mysql_connect($host,$user,$password);
if(!$link) echo "
失败!
“;
else echo “
成功!
“;
mysql_close();
?>
在浏览器打开 http://localhost/test.php
如果输出成功,则说明大功告成了.
http://www.kenvi.cn/post/”http://www.kenvi.cn/post/829.html”
浙公网安备 33010602011771号