Magento2 v2.4.5-p1执行setup upgrade命令时出现preg_match错误
解决Magento 2.4.5-p1安装时
bin/magento s:up的preg_match编译错误 你的问题出在app/etc/di.xml里配置的MariaDB版本匹配正则表达式语法错误,导致preg_match()编译失败。
错误原因
你当前配置的正则^10\.[2-10]\.中,[2-10]是无效的正则字符类写法。正则字符类的范围只能定义单个字符的区间(比如[2-9]),而10是两个字符,无法被识别为有效范围,因此触发编译错误。
解决方案
修改app/etc/di.xml中的对应配置项,将正则替换为能正确匹配10.2到10.10版本的写法:
写法一(枚举所有次要版本)
<item name="MariaDB-(10.2-10.10)" xsi:type="string">^10\.(2|3|4|5|6|7|8|9|10)\.</item>
写法二(更简洁的分组匹配)
<item name="MariaDB-(10.2-10.10)" xsi:type="string">^10\.(2-9|10)\.</item>
后续操作
- 保存修改后的
di.xml文件 - 清除Magento缓存:
bin/magento cache:clean bin/magento cache:flush - 重新运行安装命令:
bin/magento setup:upgrade
内容的提问来源于stack exchange,提问作者Abdul Shakoor Kakar
相关产品推荐
相关产品推荐

