我正在运行一个 magento 2.4 项目,但当前无法更新 mysql 版本。有什么方法可以跳过该错误吗?
Magento 2 错误 不支持当前版本的 RDBMS。使用的版本:10.1.37-MariaDB。支持的版本:MySQL-8、MySQL-5.7、MariaDB-(10.2-10.4)
如果您陷入困境,还有一个替代解决方案。
编辑文件app/etc/di.xml
您可以在此处指定可接受的 MariaDB 版本 - 目前为 10.2-10.4
允许 MariaDB 10.11 的示例
<item name="MariaDB-(10.2-10.11)" xsi:type="string">^10\.([2-9]|10|11)\.</item>
是的,您可以尝试更改一个文件,但项目运行时可能会出现一些问题。
转到供应商/Magento/Framework/DB/Adapter/SqlVersionProvider.php
更新函数 getVersionString 并替换行
$sqlVersionOutput = $this->fetchSqlVersion($resource);
到
$sqlVersionOutput = '10.2.37-MariaDB';
这是临时解决方案。所以你应该考虑更新mysql版本。
如果您使用的 MariaDB 版本高于 10.9,例如 10.11.3,您必须在 app/etc/di.xml 中扩展正则表达式,如下所示:
<item name="MariaDB-(10.2-10.5)" xsi:type="string">^10\.[2-9]|10|11\.</item>
顺便说一句,我的 Magento 可以与 MariaDB 10.11.3 正常工作
您可以覆盖模块以允许 MariaDB 10.5 到 10.9 支持开发...
作曲家需要重新解决/数据库覆盖:*
(来源:https://github.com/Sental/db-override)
这对我有用。
elfling 的回应有帮助。谢谢