iBatis.java
Apache + PHP + MySQL 安装过程中的注意事项
最近要和13一起做一个PHP的宠物展示网站,于是才会想起来去配PHP环境,网上搜搜,按照下面的文章配了一遍,有些收获:
http://tech.163.com/06/0206/11/299AMBLT0009159K.html
以下为配置过程中原文中忽略掉的注意事项。
一、Apache的端口修改
在Apache的配置文件conf/httpd.conf里搜索“Listen ”,后面的数字就是端口了。如果是按照服务模式装的,默认应该是80,按照应用模式装的,那默认是8080,因为我电脑上80跑的IIS,8080跑的RESIN,所以我把Apache改成90了。
二、Apache安装为服务
CMD中进入Apache安装目录下的bin目录,然后执行apache -k install回车即可,其他一些参数如下:
安装为特定的服务名:
apache -k install -n "服务名"
安装一个使用特定配置的服务,安装时指定配置文件:
apache -k install -n "服务名" -f "\my server\conf\my.conf"
移除一个Apache服务
apache -k uninstall -n "服务名"
三、发布目录的配置
Apache的httpd.conf文件里有关DocumentRoot的配置是关于Apache发布目录的,默认是指向Apache安装目录下的htdocs目录,修改后的目录
绝不可
包括空格,我之前把发布目录放在“我的文档”下面的一个文件夹里,结果“我的文档”的实际目录是F:\My Document\,导致路径中有一个空格,访问不了发布目录。
四、Apache加载PHP模块的配置
在配置Apache加载PHP模块时,除了加入
LoadModule php5_module C:/PHP/php5apache2.dll
这一句以外还要记得在下面加入
PHPIniDir "C:/PHP"
这句,否则就必须把php.ini文件复制到Windows目录下。
PS. 其实如果配过IIS+PHP的就很好理解了,PHP相当于一个ISAPI层,无论是IIS还是Apache都是把PHP作为一个ISAPI解析或者当作一个模块加入到自己里面,所以因为IIS没有加载PHP模块的概念,所以IIS+PHP是加载的php5isapi.dll文件作为ISAPI加入。
五、PHP的ext *.dll文件
很多教程要求把什么PHP目录以及PHP/ext目录下下所有*.dll复制到Windows/System32目录下才可使用,这其实是一种偷懒的办法,因为正确的方法应该是如原文中所说的一样,将PHP以及PHP/ext目录加入系统PATH路径中,其实就是让系统能找到这些dll文件放在哪里而已,我很不喜欢把*.dll放到System32目录,还有把php.ini复制到Windows目录下的这种方式,我认为PHP作为一个独立的模块就应该独立的存在。但是切记修改了系统PATH路径后一定要重新启动才能生效,而把*.dll复制到System32目录下由于System32目录本身就在系统PATH路径里,所以无需重新启动电脑,这就是为什么我刚说这种复制DLL文件的方法其实是偷懒。
要指定extension_dir的路径,
"绝不可以"
在目录结尾再加一个“/”,会导致无法访问发布目录,我就犯了这个错,为此还从头重做了一遍。
extension_dir = "./" 默认
extension_dir = "C:/PHP/ext"
正确
extension_dir = "C:/PHP/ext/"
错误
六、测试Apache加载PHP成功与否的代码
以下代码可以将PHP的一些信息用HTML的形式显示出来
1
<?
2
phpinfo
();
3
?>
七、测试PHP连接MySQL成功与否的代码
以下代码可以将MySQL的用户表用HTML的形式显示出来,当然,用户名密码得根据实际情况来改,默认用户名为root,密码为空
1
<?
PHP
2
//
---基本设定------
3
$mysql_server_name
=
"
localhost
"
;
4
$mysql_username
=
"
root
"
;
5
$mysql_password
=
"
"
;
6
$mysql_database
=
"
mysql
"
;
7
//
----------------
8
$sql
=
"
select * from user
"
;
9
$conn
=
mysql_connect
(
$mysql_server_name
,
$mysql_username
,
$mysql_password
);
10
$result
=
mysql_db_query
(
$mysql_database
,
$sql
,
$conn
);
11
$row
=
mysql_fetch_row
(
$result
);
12
13
//
表格开始
14
echo
"
<table border=1 cellspacing=0 cellpading=0>\n
"
;
15
16
//
打印出栏位名称
17
echo
"
<tr>\n
"
;
18
for
(
$i
=
0
;
$i
<
mysql_num_fields
(
$result
);
$i
++
) {
19
echo
"
<td nowrap>
"
.
mysql_field_name
(
$result
,
$i
)
.
"
</td>\n
"
;
20
}
21
echo
"
</tr>\n
"
;
22
23
//
将资料移动回第一笔
24
mysql_data_seek
(
$result
,
0
);
25
26
//
印出资料内容
27
while
(
$row
=
mysql_fetch_row
(
$result
)) {
28
echo
"
<tr>\n
"
;
29
for
(
$i
=
0
;
$i
<
mysql_num_fields
(
$result
);
$i
++
)
30
{
31
echo
"
<td nowrap>$row[$i]</td>\n
"
;
32
}
33
echo
"
</tr>\n
"
;
34
}
35
36
//
表格结束
37
echo
"
</table>\n
"
;
38
39
mysql_free_result
(
$result
);
40
?>
posted on 2008-11-30 23:20
Viva Hu
阅读(394)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
My Links
BlogJava
首页
联系
聚合
管理
Blog Stats
Posts - 4
Stories - 0
Comments - 1
Trackbacks - 0
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
(1)
Network Management(1)
(RSS)
随笔档案
(4)
2008年12月 (1)
2008年11月 (3)
搜索
最新评论
1. re: JSP与Servlet的跳转及得到路径方法整理
发发
--谈谈
阅读排行榜
1. JSP与Servlet的跳转及得到路径方法整理(1836)
2. [From LDH]两种JSP页面include用法的区别(886)
3. 远程重启XP(695)
4. Apache + PHP + MySQL 安装过程中的注意事项(394)
评论排行榜
1. JSP与Servlet的跳转及得到路径方法整理(1)
2. Apache + PHP + MySQL 安装过程中的注意事项(0)
3. [From LDH]两种JSP页面include用法的区别(0)
4. 远程重启XP(0)
Powered by:
BlogJava
Copyright © Viva Hu