php+apache在win7上的配置中遇到的问题与收获

本文详细记录了一位初学者在使用PHP搭建基于Apache的数据库平台时遇到的问题及解决方案,包括PHP版本选择、配置文件配置、DLL文件加载等关键步骤。通过对比不同版本的PHP与Apache配置,作者最终解决了PHP与MySQL连接失败的问题,分享了在配置过程中遇到的陷阱和解决方法,强调了实践与灵活调整的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

咳……先说两句题外话,这是鄙人的第一篇技术博客…嗯嗯,希望开个好头,把这个习惯坚持下去,不断进步,不断成长!

话说最近寒假在家像玩一玩php这东西,下个学期数据库课程设计,不能再像上个学期那样敷衍了事了…正好学着搭建一个基于apache的数据库平台,为以后写些脚本与android的xml做做准备……


一开始下载的是php 5.3.9,还有apache 2.2,装上以后解压了apache的安装包然后安装。配置DocumentRoot与Directory的目录,自己是D:/PHPweb(也就是默认的文档目录,相当于apache以后作为服务器默认找文件都从这个里面),

本机:http:localhost测试有效!


1.接着弄php 5.3.9,第一个问题来了:按书上说的,自己的php.ini-dist没有,php.ini.recommended也没有,囧……只有php.ini-development,在网上查了查,应该就是这个了,进行配置,注意,这里的配置参考了以下文章

http://hi.baidu.com/%C4%DD%C4%DDruly/blog/item/bb8e5b27527f8f509358074d.html

文中有几个拼写错误,慢慢看,改正过来了就无伤大雅。

配置完了以后,发现问题来了:重启apache时说找不到"D:/php/php5apache2_2.dll"这个文件,回头查看,真没有!


这是怎么回事?天空软件站的软件有问题?那就网上看看这个配置dll有下的没……

一搜,才知道自己连 php的版本都下的有问题…无奈,又在360上下了一个php 5.4的版本(上面说是测试版本,可能不稳定,汗一个尴尬

有关php对应的版本问题见文章:

http://www.footya.com/?action=show&id=109


2.好了,这回你行了吧:重启apache报错!这麻烦了,问题肯定出在apache的配置文件上,回头查看

发现配置的时候:

PHPIniDir "D:/php"

这个语句似乎是非法的,删了就可一重启apache,不删就有问题,但是不知为何,网上很多的文章都说这一局必须要有……(这个是什么原因自己还是没有弄明白,请各位前辈与牛人指点一二委屈

删了以后,按照教程上的再从新配置,这回没问题了……


3.虽说apache和php 能够协同工作了,mysql的平台还没有搭好,(有关mysql就不多讲),测试连接mysql的时候又有错误:

PHP配置完成,PHP.ini文件里面的extension=php_mysql.dll前面的分号也已经去掉

用代码测试

<?php
echo "hahahahaha , ok!!<br>";
echo "<br>";
$connet_test = mysql_connect("localhost","root","root");
if($connet_test){
echo "连接成功";
}else{
echo mysql_error();
echo "连接失败";
}
?>

可是连接数据库的时候还是显示这个错误

Fatal error: Call to undefined function mysql_connect() on line 4

这是什么原因呢?


4.网上各种办法都尝试过了,看了前人对此问题的探讨集中在两点:1.配置文件位置问题;2.配置文件内容问题

按网上一种解决思路:

libmysql.dll(请到自己的mysql目录中找)

和php.ini放倒windows/system32中……我满怀期望,可是结果还是——

报错!

我又试着把php.ini从windows/system中删了发现apache又能够重新工作,分析问题并且上网查阅资料:发现apache在加载php.ini时并非那么智能:它很单纯的只知道到windows目录中找……



最终还是在soso中的一个高人的回答将我一棍打醒!

http://wenwen.soso.com/z/q172187585.htm?w=connect&spi=1&sr=4&w8=connect&qf=10&rn=21

“你用
<?
phpinfo();
?>

看看loaded php.ini这个选项用的是哪一个php.ini
还有你的php目录下的ext目录里必须要有php_mysql.dll才行,如果没装的话装一个
如果用安装包的话是不需要自己编辑php.ini文件的”


重头将windows下的php.ini文件配置以后,大功告成!!!!!!飙泪啊!花了我整整一个上午的时间,终于把这该死的问题解决了!


咳咳,做程序员啊还是要随时保持冷静,如果这种都不能解决,还是要回头审视下自己的心态,确实,太浮躁了。

再有就是,这样的体会要随时写下来,说不定哪天可以借鉴这种解决问题的思路与方法,经历是宝贵的,还有就是!前往不要盲目迷信书上的知识啊,多看看不同角度的技术文章,不同人的角度综合起来,看到的事物才是最全面滴!


后记:问了大二一个比较牛逼的phper学长,以下两篇文章可作为参考:

1.有关php.ini的查找顺序问题

参见http://hi.baidu.com/cntjdavid/blog/item/ec592f4e2d4e9400b3de0549.html

(虽然说后来有参照此文章配置了变量php.ini,但是若是不放在windows下面依然有问题,蛋疼……)


2.php手册

http://cn.php.net/manual/




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值