liujia 发布的文章

magento - ValidationSchemaException 出错 - esconfig.xsd - 因为cPanel环境升级xml版本导致

现象:magento首页或单页内容显示正常,但在产品分类页提示出错,如:

Exception #0 (Magento\Framework\Config\Dom\ValidationSchemaException): Processed schema file: public_html/vendor/magento/module-elasticsearch/etc/esconfig.xsd
complex type 'mixedDataType': The content model is not determinist.
Line: 18

#1 Magento\Framework\Config\Dom->_initDom() called at [vendor/magento/framework/Config/Dom.php:116]
#2 Magento\Framework\Config\Dom->__construct() called at [vendor/magento/framework/Config/Reader/Filesystem.php:196]
#3 Magento\Framework\Config\Reader\Filesystem->_createConfigMerger() called at [vendor/magento/framework/Config/Reader/Filesystem.php:151]
#4 Magento\Framework\Config\Reader\Filesystem->_readFiles() called at [vendor/magento/framework/Config/Reader/Filesystem.php:132]

尝试:将文件 vendor/magento/module-elasticsearch/etc/esconfig.xsd 中的这行内容删除或注释掉:<xs:element type="xs:string" name="default" minOccurs="1" maxOccurs="1" />

原因可能是cPanel环境中,升级了xml,导致软件不兼容。

参考:

debian 12.2系统里安装 iredmail-enterprise-1.0-beta1-linux-amd64 的两个问题

尝试在debian 12.2系统里安装 iredmail-enterprise-1.0-beta1-linux-amd64。发现有两个问题:

  1. web安装程序报错。搜索得,ntp 包对应的服务名是 ntpsec ,不是ntp 。 服务配置文件是:/lib/systemd/system/ntpsec.service
    TASK [ntp] Install ntp/chrony server to sync local time.
    ok: ntp

    TASK [ntp] Enable and restart ntp/chrony service.
    failed: ntp
    [ERROR] task error: failed in restarting service ntp: exit status 5, Failed to restart ntp.service: Unit ntp.service not found.

  2. 通过web/admin 管理添加的用户,外网发信到这个用户会报错:said: 550 5.1.1 mailto:liu@iredmail.anqun.org: Recipient address rejected: User unknown (in reply to RCPT TO command) 这个用户是能登录到 roundcube。从服务器的shell里,也能通过命令行成功发信。作为对比,用web/iredadmin添加的用户,正常。删除之前报错的域,重新使用iredadmin添加回同一个域和用户,能从外网收信。尝试的解决方法是手动补上缺失的 forwardings 表内容:
    INSERT INTO forwardings (address, forwarding, domain, dest_domain, is_forwarding)
    VALUES ('liu@iredmail.anqun.org', 'liu@iredmail.anqun.org','iredmail.anqun.org', 'iredmail.anqun.org', 1);

参考:

在grml debian 的 livecd overlay 文件系统里启动 mariadb-server

问题:在 grml 的急救系统里无法启动 mariadb-server,报错:/usr/sbin/mariadbd $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=killed, signal=ABRT)

尝试:在 mysqld 的配置内容中,增加一行 innodb_flush_method = fsync

参考:

magesuite 13.0 默认演示页脚链接菜单在移动设备端不会自动折叠显示

问题:安装 magesuite 13.0 后,默认模板演示的站点,页脚链接菜单在移动设备端不会自动折叠显示。但官方的演示站可以自动折叠。

尝试:对比两个站点,知magesuite官方演示站的页脚链接block有标题,magento2官方的没有。照着magesuite的,在站点后台的 content --> block --> Footer Links 里添加相应的html代码就可以了。

如:

                <h4 class="cs-footer__section-title" data-role="title">
                    <span role="heading" aria-level="2">Products</span>
                </h4>
                <div class="cs-footer__section-content" data-role="content">
        <ul class="cs-footer-links">
            <li class="cs-footer-links__item">{{widget type="Magento\Cms\Block\Widget\Page\Link" template="widget/link/link_inline.phtml" page_id="3"}}</li>
            <li class="cs-footer-links__item">{{widget type="Magento\Cms\Block\Widget\Page\Link" template="widget/link/link_inline.phtml" page_id="3"}}</li>
            <li class="cs-footer-links__item">{{widget type="Magento\Cms\Block\Widget\Page\Link" template="widget/link/link_inline.phtml" page_id="3"}}</li>
            <li class="cs-footer-links__item">{{widget type="Magento\Cms\Block\Widget\Page\Link" anchor_text="Custom Link 4" template="widget/link/link_inline.phtml" page_id="3"}}</li>
            <li class="cs-footer-links__item">{{widget type="Magento\Cms\Block\Widget\Page\Link" anchor_text="Custom Link 5" template="widget/link/link_inline.phtml" page_id="3"}}</li>
            <li class="cs-footer-links__item">{{widget type="Magento\Cms\Block\Widget\Page\Link" anchor_text="Custom Link 6" template="widget/link/link_inline.phtml" page_id="3"}}</li>
        </ul>
       </div>

参考:

两个站点在Chrome元素台里看到的区别

iredmail - 批量创建邮箱账户 - 从csv文件生成mysql数据库查询文件

需求:如需从给定的,其中包含邮箱地址和密码的 csv 文件中创建邮箱账户,怎么操作?

尝试:如下例,

#!/bin/bash

rm -f ./users.sql

awk -F',' '!seen[$1]++ { print }' users.csv > output.csv

while IFS=, read -r email password; do
bash /root/iRedMail-1.6.7/tools/create_mail_user_SQL.sh "${email}" "${password}" >> ./users.sql
done < ./output.csv

mysql --force vmail < ./users.sql

echo "创建完成。"

参考:https://docs.iredmail.org/sql.create.mail.user.html