标签 magento 下的文章

Magento - 站点的css文件不能正确加载 - 404 not found

现象:访问新建的带模板数据的magento2站点,样式表CSS等文件返回“404找不到”的错误信息,如 site-domain/pub/static/version1590556106/frontend/Zc/jo/en_US/css/bootstrap.css,但 site-domain/pub/static/frontend/Zc/jo/en_US/css/bootstrap.css 是可访问到的。

尝试:查看当前magento是在宝塔环境下运行的,使用magento文件包配置文件 nginx.conf.sample 的 rewrite规则,也是一样的404结果。但我们可以通过执行 bin/magento config:show dev/static/sign 0 的命令来禁用“静态文件标识”(static content signing),之后重新生成站点静态内容,网页就会引用 site-domain/pub/static/frontend/Zc/jo/en_US/css/bootstrap.css 的URL,不带“version数字”的了。

参考:

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发出电子邮件。