继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

ZenCart安装发现的一个常见问题

largeQ
关注TA
已关注
手记 960
粉丝 92
获赞 585


近来安装了一个开源的电子商务系统Zencart,该系统以商店立场设计项目,并支持热安装,在用户中反响颇好。该系统用PHP开发,支持MYSQL等数据库。在我的安装过程中,因为PHP无法MYSQL错误折腾了好几天,特此记下,供同遇此问题的朋友们查解。

 

因为我用IIS作WEB服务器,所以按网络上加了ISAPI筛选器,MYSQL下了最新的5.2.0, PHP用了5.2.5,都是最新的。在安装ZenCart项目时,总是被提醒MYSQL未被PHP支持而无法进行下去。经网络查到,很多朋友也碰到此类问题,甚至于有人说过程经测试肯定能解决的方法也在我这儿行不通。什么extension_dir,extension=php_mysql.dll 都按要求改好,并放到系统目录去了,还有的要把所有PHP动态库放到windows\system32去,有的说把PHP的BIN目录下libmysql.dll放到system32目录,有的要把MYSQL的libmysql.dll放到system32目录,MYSQL用命令能联接正常。

我只好自己做一步一步的排查了。首先用命令PHP执行一个简单的PHP脚本:

<?php

         if (mysql_connect('localhost', 'root', 'pass') == false ) {

            echo "error in connect";

          } else {

            if (!mysql_select_db('mysql')) {

              echo "Error in select db";

            } else {

             $result=mysql_query("select user from user");

             while($array1=mysql_fetch_array($result)){

              echo $array1["user"]."\n";

             }             

              mysql_close();

            }

          }

?>

结果发现PHP.exe能正常解释运行。用IE就不行,ISAPI不行?不过PHP+MYSQL+IIS的应用很多都好好的呀!用DEPENDENCIES工具查看,没有看到有用的排查信息。我想DISCUZ等开源项目都这么部署可以成功,肯定是自己的版本有问题。PHP的?还是MYSQL的?我下了PHP 4.4.8, 5.2.4,也下了MYSQL 5.0.51b,因为MYSQL 5.0.X是我在LINUX一直用的版本,比较放心,流行的时间也长了,估计兼容性好一点。结果换用了MYSQL 5.0.51b,并把PHP的libmysl.dll拷贝至system32,所有问题迎刃而解。回头看,有的网上文章说MYSQL的动态库需要复制到系统库目录,有的说PHP的需要复制,大概都是MYSQL和PHP版本不同,有的兼容,有的不兼容,有时用MYSQL的可被PHP支持,有的PHP本身的动态库就能支持MYSQL连接(也是PHP安装支持MYSQL的标准过程),主要看MYSQL的版本能否被支持,PHP的版本能否提供支持。

网上搜索到太多的相关方案,没有一个提供如上的分析结果,不能不说信息爆炸时代的苦恼。太多重复的内容挡住了我搜索真正解决方法的机会。浪费了很多天的时间在此问题上。

网络给予我方便的同时,也强加了某种不方便。

 

©著作权归作者所有:来自51CTO博客作者dannyy1026的原创作品,如需转载,请注明出处,否则将追究法律责任

PHPMYSQLIIS技术小结


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP