在虚拟空间上安装出现ECSHOP info: Can't Connect MySQL Server错误
2016-07-07 15:20 来源:www.chinab4c.com 作者:ecshop专家
我假设您的ECSHOP版本号为2.15。找到这个文件:/${ecshop}/includes/cls_mysql.php 大概73行左右,把以下语句中的着红色的@去掉,观看错误信息,再来报告一下。 if (PHP_VERSION >= '4.2') { $this->link_id = @mysql_connect($dbhost, $dbuser, $dbpw, true); } else { $this->link_id = @mysql_connect($dbhost, $dbuser, $dbpw); mt_srand((double)microtime() * 1000000); // 随机数函数初始化 } |
回答:
JSLover: 你好,感谢你的关注和回复,ECSHOP是2.15版本的没错。 如你所说之法,得如下结果: 创建配置文件............成功 创建数据库............成功 安装数据............失败 Warning: mysql_connect() [function.mysql-connect]: Access denied for user: 'MYSQL服务器的user@MYSQL服务器的IP' (Using password: YES) in D:\wwwroot路径\eshop\includes\cls_mysql.php on line 75 ECSHOP info: Can't Connect MySQL Server(MYSQL服务器的IP:3306)! |
不客气,还要感谢您的测试。 这么看来,有可能是由于这个参数引起的: $this->link_id = @mysql_connect($dbhost, $dbuser, $dbpw, true); 把这个参数去掉,即改为: $this->link_id = @mysql_connect($dbhost, $dbuser, $dbpw); 再测试一下。 |
最后测试一下了。 找到这个文件:${ecshop}/install/includes/lib_installer.php ,大概383行,有两条语句: $db = new cls_mysql($db_host, $db_user, $db_pass, $db_name); $se = new sql_executor($db, 'utf8', 'ecs_', $prefix); 改成: echo 'installer.install_data()connecting...'; $db = new cls_mysql($db_host, $db_user, $db_pass, $db_name); echo 'installer.install_data()connected...'; echo 'installer.install_data()creating tables...'; $se = new sql_executor($db, 'utf8', 'ecs_', $prefix); echo 'installer.install_data()created tables success...'; echo '<hr />'; |
看来楼上只喜欢高技术性的 |
只要填写好数据库信息之后进行搜索,可以搜索到数据库的话,说明链接正确。 根据提示信息看来,可能是MySQL用户权限不够的原因。如果用原有的数据库直接安装的话,应该是没有问题的。如果要重新建立数据库的话,一些空间分配给的用户权限是不够的。 |
修改之后会在安装页面的顶部出现错误提示: Warning: Cannot modify header information - headers already sent by (output started at D:\Webhosting\Clients\net24hourweb\wwwroot\shop\install\includes\lib_installer.php:1) in D:\Webhosting\Clients\net24hourweb\wwwroot\shop\install\includes\init.php on line 26 结合后来我自己做的一些实验看来,liry朋友说的情况是对的,但Discuz5.5.0或DedeCMS就可以在这种限制下正确安装,这就说明对于MYSQL表的建立是可以应对这种有限制的数据库的情况的。我对于PHP只是纯粹的应用,对代码不了解,所以麻烦大家帮忙解决,这个论坛很温馨,两位研发组的朋友很热心。向JSLover献上300积分,不过没试过能不能转送积分,如果可以马上送,对你热心的帮助表示谢意! |
晕,没找到可以转送积分的操作,郁闷,JSLover你喜欢的话就请开个收费贴,我去购买,如果觉得也没什么所谓积分,就当我没说过,呵呵。 |
您是用什么编辑器修改的呢?修改之后出现这个错误提示,是因为您在修改之后没有保存为UTF8编码或者文件里带有了编码签名引起的。 建议您将修改过的这个文件删除,重新上传原来的吧 谢谢您对我们的支持,我们会尽量帮助您解决在安装使用中遇到的问题~ |
原帖由 风飘尘逸 于 2007-7-29 22:06 发表 感动!替JSLover谢谢您了!有此心意已足矣! |
对于您遇到的这个问题,先以普通的流程和操作方式来完成安装吧。对数据库操作权限这部分我们做得是比较严谨的 |
installer.install_data() connecting...ECSHOP info: Can't Connect MySQL Server(MYSQL服务器IP:3306)! 从这个提示信息来看,是数据库没连上。还没到建表的阶段。这和“是否有无建表权限”已经没关系了。 从您反映的情况来看:既可以搜到已有的数据库,又可以选中指定的数据库,此时已经正常连上数据库两次;而当要建表的时候,这时候数据库却连不上了。 我建议,您查看一下${ecshop}/data/config.php文件,确认以下四项和您输入的值是一致的(观察一下有无特殊字符): // database host $db_host= "localhost:3306"; // database name $db_name= "abc"; // database username $db_user= "abc"; // database password $db_pass= "abc"; 甚至,可以直接在${ecshop}/includes/cls_mysql.php(75行左右)里硬编码您的帐号信息: $this->link_id = @mysql_connect('localhost:3306', 'abc', 'abc', true); // 注意:要用单引号 如果走完这些流程还不行的话,联系一下空间服务商,报告异常。 本人已不在这个行业多时,除了周末,平时不上网,不然的话很乐意亲自为您调试(如果您愿意)。这种非正常的错误,只有一行一行调试才能抓出问题。 您可以在此跟帖,对于给用户造成的每一个困扰,EC都非常重视。 |
最近更新
常用插件
- ecshop选择下单时间插件
ecshop选择下单时间插件主要是根据不同的下单配送要求,在ecshop购物车...
- ecshop二次开发售后维修卡
插件介绍: 本插件是用于专门从事电子,信息,软件等售后服务关键比...
- ecshop快递发货单打印商品
ecshop快递发货单打印商品信息,大家都知道ecshop快递单打印的时候,只能...
- ecshop供应商插件免费下载
ecshop供应商插件免费下载...
- ecshop按分类筛选销售排行
ecshop按分类筛选销售排行...
ecshop热门问答
ecshop热门资料
ecshop编程语言
ecshop配送方式名称
ecshop传统
ecshop筛选
ecshop现实
ecshop平平商城
ecshopcaught
ecshop已确认
ecshop漏洞补丁
ecshop加载
ecshop平台
ecshop运行环境
ecshop快递小助手
ecshop汽车
ecshop1652
ecshop换页
ecshop请教
ecshop薪酬
ecshop动态图片
ecshop内存
ecshop简约数码商城
ecshop容量 申请
ecshop播放
ecshop下载英文
ecshop会员注册页面
ecshopspecified
ecshop影像
ecshop53kf代理
ecshop转换
ecshop购物篮