咳……先说两句题外话,这是鄙人的第一篇技术博客…嗯嗯,希望开个好头,把这个习惯坚持下去,不断进步,不断成长!
话说最近寒假在家像玩一玩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手册