liujia 发布的文章

为灶具换电池

中午老妈拖好地,进厨房准备煮菜。“过来睇下,打不着煤气。”老妈叫我。看着电视的我听到,起身走到灶前,拧了一下煤气炉的开关,没声响。我又打了一圈右边的煤气炉开关,也是没声响。打不着火,估计是煤气炉的电池没电了。多数灶具的电池是放在下边的。我看到灶具几乎与灶台同一个平面,从侧边尝试扒开,灶具挺沉的,我手指使不上劲。我把灶具下边的柜门打开,从里边看到灶具是托放在一个开口的大理台上。我伸左手到灶具下边,手掌使力将灶具顶起一个角,然后再用右手将灶具掀起,顺势支起一个夹角。我稍矮一下身,侧头看灶具底边,发现左上角区域有个长方形的框位,估计是电池仓位了。我伸手抠掉电池仓盖,取出一只大号的干电池。一般买电池是一对两个的,如果这个灶具仅用一个电池的话,可能家里还放着另一个电池。我在电视下边的抽屉里翻到一个同样大小但不同牌子的电池。为灶具换好电池,我将灶具放回到原位置,拧动开关,哒……现在有声音了。“可以煮菜了。”我告诉老妈。

huang-dian-chi.jpg

generated/code/Magento cannot be deleted - Directory not empty

现象:运行 bin/magento module:disable Mageplaza_Smtp 命令尝试禁用Magento2模块时,提示出错:

The directory "/var/www/html/generated/code/Magento" cannot be deleted Warning!rmdir(/var/www/html/generated/code/Magento): Directory not empty

尝试:检查发现 /generated 目录及子目录都有文件所有者写权限,删除失败可能是Magento2的定时任务在删除目录的过程中又生成新文件了。可以尝试临时停止Magento2的定时任务或Web进程后再次操作。

批量禁用或启用magento2的模块

需求:不知道哪个模块导致magento2的web进程占用CPU高。

尝试:可以通过禁用、启用模块来尝试诊断。如以下命令会禁用所有非Magento名字头的模块:

php bin/magento module:status | grep -v Magento | grep -v List | grep -v None | grep -v -e '^$'| xargs php bin/magento module:disable

参考:

三个能为magento2配置使用外部smtp发信的模块 - magento-2-smtp - gmailsmtpapp - SMTP Extension

需求:magento2程序所在的主机商主动过滤了TCP 25端口的连接,无法通过本机发出电子邮件。

尝试:可以在尝试在magento2里安装模块,通过外部(如QQ、gmail等邮局)SMTP发信。提供该功能的,有:

  1. magento-2-smtp - https://github.com/mageplaza/magento-2-smtp
  2. gmailsmtpapp - https://github.com/magepal/magento2-gmail-smtp-app
  3. SMTP Extension - https://www.magetop.com/magento-2-smtp-extension.html
  4. enhanced-smtp - https://github.com/kiwicommerce/magento2-enhanced-smtp

个人觉得在magento2.3上安装了第1、第2和第3,前两种安装成功,但可能与当前的magento2模板有冲突,php或httpd进程的CPU占用率很高。第3个安装不成功,第4个没有安装。最后是通过为本机postfix配置使用smtp relay发出电子邮件。