从 magento 1.x 升级到 magento 2.x - Data Migration Tool
需求:从现有的 magento 1.9.3.6 升级到当前的 magento 2.4.3-p1 。仅要商品、客户和订单数据,模块和模板可不要。
尝试:使用 magento 官方提供的 Data Migration Tool 来迁移数据。大概是先安装新版本的magento2,然后安装Data Migration Tool,再按照操作说明来迁移数据。大概可满足需求。
参考:
需求:从现有的 magento 1.9.3.6 升级到当前的 magento 2.4.3-p1 。仅要商品、客户和订单数据,模块和模板可不要。
尝试:使用 magento 官方提供的 Data Migration Tool 来迁移数据。大概是先安装新版本的magento2,然后安装Data Migration Tool,再按照操作说明来迁移数据。大概可满足需求。
参考:
现象:magento2站点,测试时发现提交订单最后一步时报错,如:Details are available in Magento log file. Report ID: webapi-61c539eec7d0c 详细的日志如:
[2021-12-24 03:11:39] main.CRITICAL: Report ID: webapi-61c53a6b7b804; Message: Validate class not found from basename 'Magento\Framework\Validator\EmailAddress' {"exception":"[object] (Exception(code: 0): Report ID: webapi-61c53a6b7b804; Message: Validate class not found from basename 'Magento\Framework\Validator\EmailAddress' at /www/wwwroot/web1/vendor/magento/framework/Webapi/ErrorProcessor.php:208, Zend_Validate_Exception(code: 0): Validate class not found from basename 'Magento\Framework\Validator\EmailAddress' at /www/wwwroot/web1/vendor/magento/zendframework1/library/Zend/Validate.php:244)"} []
[2021-12-24 03:11:42] main.CRITICAL: Report ID: webapi-61c53a6eb6cea; Message: Validate class not found from basename 'Magento\Framework\Validator\EmailAddress' {"exception":"[object] (Exception(code: 0): Report ID: webapi-61c53a6eb6cea; Message: Validate class not found from basename 'Magento\Framework\Validator\EmailAddress' at /www/wwwroot/web1/vendor/magento/framework/Webapi/ErrorProcessor.php:208, Zend_Validate_Exception(code: 0): Validate class not found from basename 'Magento\Framework\Validator\EmailAddress' at /www/wwwroot/web1/vendor/magento/zendframework1/library/Zend/Validate.php:244)"} []
[2021-12-24 03:11:43] main.ERROR: Braintree\Configuration::merchantId needs to be set (or accessToken needs to be passed to Braintree\Gateway). [] []
尝试:在宝塔面板的站点管理,网站目录的属性中,不勾选 “防跨站攻击(open_basedir)” 的功能。
问题:有个VPS,站点在某些时间段可能被爬虫频繁访问导致mysql服务自动退出,隔天就要人工启动mysql服务,恢复站点可访问状态。
尝试:可以写个定时执行的任务,检测mysql服务是否运行,如没有运行,就启动之。
如脚本 /root/mysqlmon.sh 的内容:
#!/bin/bash
# Check if MySQL is running
/sbin/service mysqld status > /dev/null 2>&1
# Restart the MySQL service if it's not running.
if [ $? != 0 ]; then
echo -e "MySQL Service was down. Restarting now...\n"
/sbin/service mysqld restart
else
echo -e "MySQL Service is running already. Nothing to do here.\n"
fi
定时任务内容(每隔15分钟检查服务状态):*/15 * * * * /root/mysqlmon.sh > /dev/null 2>&1
在centos7中,可查看 /var/log/cron 日志内容,查看任务执行的历史记录。
参考:https://devanswers.co/how-to-auto-restart-a-crashed-mysql-service-with-cron/
关键是在 Proxmox 上配置好网络,如以下是 Bridge 的 /etc/network/interfaces 文件配置内容:
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
iface eno1 inet manual
iface eno2 inet manual
auto vmbr0
iface vmbr0 inet static
address 144.172.126.2/24
gateway 144.172.126.1
bridge-ports eno1
bridge-stp off
bridge-fd 0
也可以通过 proxmox 的 web 配置界面来设置,如:
问题:想用 Windows Mixed Reality 的VR头盔玩赛车游戏《尘埃拉力赛2.0》,但在Steam里选择“在Steam虚拟现实模式下启动 DiRT Rally 2.0”后,VR头无游戏图像,仅是一个SteamVR的背景图而已。
尝试:网上说,要先从Steam里启动SteamVR的程序,再从SteamVR Home里启动《尘埃拉力赛2.0》的游戏。
个人体验:头晕。我试车,一个道都没开完,觉得头上满是又热、又辣的汗,如同涂了风油精。我尝试张大嘴来喘气,但这更加剧了我想呕吐的感觉,不得不中途摘掉VR头,退出了游戏,太晕人了。
参考: