我第一次尝试在我的本地机器上安装opencart。我正在使用 xampp 1.7.4 PHP 5.3.4 和 Windows7 是我的操作系统。我尝试遵循此处描述的所有步骤。但是,在我按下“继续”按钮时给出数据库名称、数据库用户名和密码后,我收到以下错误消息:
变量“sql_mode”不能设置为“NO_AUTO_VALUE_ON_ZERO”的值
我尝试使用此错误消息搜索它,但没有找到任何东西。请帮我.....
更改以下文件中的代码行:
安装/cli_install.php
搜索$db->query("SET @@session.sql_mode = 'MYSQL40'");
并替换为$db->query("SET @@session.sql_mode = ''");
安装/模型/安装/install.php
搜索$db->query("SET @@session.sql_mode = 'MYSQL40'");
并替换为
$db->query("SET @@session.sql_mode = ''");
Opencart 安装修复
导航到以下目录中的 install.php 文件 /install/model/install.php 编辑文件并删除此文本:
$db->query("SET @@session.sql_mode = 'MYSQL40'");
从 opencart.sql 中删除以下行
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"
您可以在安装文件夹中找到 opencart.sql 文件
如果正在使用不同版本的 mysql,则会出现上述错误。
问题是“sql_code=MYSQL40”自 5.7.22 以来已在 MySQL 上被弃用(https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_mysql40)
我的解决方案类似于@Yogesh Sanger。我没有将 sql_code 值设置为空字符串,而是删除了该行$db->query("SET @@session.sql_mode = 'MYSQL40'");
对于那些使用 Unix 的人,这里有一个删除罪魁祸首的命令
sed -i '/MYSQL40/d' <OpenCart Directory>/install/cli_install.php
sed -i '/MYSQL40/d' <OpenCart Directory>/install/model/install/install.php
因为此时谷歌上有 5 个关于这个的结果....我没有找到SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO
我有类似的问题。我的问题是错误 1231,无法 SET SQL_MODE=MYSQL40 。类似的东西。
我是这样解决的:
转到 system/database/mysql.php 找到第 50 行或
trigger_error('Error: ' . mysql_error($this->link) . '<br />Error No: ' . mysql_errno($this->link) . '<br />' . $sql);
exit();
评论//exit();
这样,代码将继续,购物车将能够完成配置。
我希望它对某人有所帮助。
PS:我在我的网站上发布了这个:w3bdeveloper.com