配置XTC商城二级域名时出现mysql_connect未定义错误求助
解决方案:新域名访问XTC商城触发
mysql_connect()未定义错误 这个问题有点蹊跷——同一主机下原域名正常,新域名却报Call to undefined function mysql_connect(),但你查的代码明明用的是mysqli_connect()。我帮你拆解几个核心排查方向和解决办法:
先确认新域名的文件路径是否和原域名一致
很多主机商添加新域名时,默认会创建一个新的子目录作为文档根。你登录主机管理面板,检查新域名的根目录设置,确保它指向的是和原域名完全相同的/shop目录。如果新域名指向了其他目录,那执行的根本不是你查看的那份xtc_db_connect.inc.php文件,自然会出现奇怪的错误。对比新旧域名的PHP环境配置
即使是同一主机,不同域名也可能被分配了不同的PHP版本或扩展配置:- 在
/shop目录下创建一个临时文件phpinfo.php,内容写:<?php phpinfo(); ?> - 分别用原域名和新域名访问这个文件,对比两者的PHP版本、已加载扩展列表。重点看是否有
mysqli相关的条目。 - 如果新域名的PHP环境没有启用
mysqli扩展,直接在主机面板(比如cPanel的「Select PHP Version」)里找到mysqli并勾选启用;如果面板里找不到这个选项,联系主机商帮忙开启即可。
- 在
排查代码中是否有域名相关的分支逻辑
检查XTC商城的配置文件(比如application_top.php或者数据库配置文件),看看有没有根据当前访问域名切换数据库连接方式的代码。有些商城系统会针对不同域名加载不同配置,可能新域名对应的配置里,数据库连接函数被错误设置成了mysql_connect而非mysqli_connect。
另外也可以看下xtc_db_connect.inc.php里$link变量的取值来源,确认它没有被错误赋值导致连接函数调用异常。清除缓存并重启PHP服务
如果已经启用了mysqli扩展但报错依旧,先清除商城自带的缓存(如果有的话);部分主机商会缓存PHP配置,这种情况下需要联系主机商重启PHP-FPM或相关服务,让新的扩展配置生效。
内容的提问来源于stack exchange,提问作者Dex
相关产品推荐
相关产品推荐

