标签 magento 下的文章

三个能为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发出电子邮件。

magento - inventory_stock_1 doest exist - 导入数据库时需注意用户权限

现象:在原网站,以mysql的root用户,通过mysqldump导出magento2的数据库文件。将导出的数据库文件导入到cPanel空间的数据库。访问cPanel空间的站点,提示出错:

2 exception(s):
Exception #0 (Zend_Db_Statement_Exception): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'aqtest.inventory_stock_1' doesn't exist, query was: SELECT COUNT(DISTINCT e.entity_id) FROM `catalog_product_entity` AS

尝试:编辑导出的magento2数据库文件,将原

DEFINER=`root`@`localhost`

替换为现数据库用户,如

DEFINER=`aqtest`@`localhost`

,最后重新导入。

参考:https://magento.stackexchange.com/questions/259534/inventory-stock-1-doest-exist-on-magento-2-3

cpanel - 用不同的版本的php命令 - /opt/cpanel/ea-php72/root/usr/bin/php - An exception was raised while creating "Request"

现象:在cPanel环境中执行magento2的命令,如 php bin/magento cache:flush提示出错:

An exception was raised while creating "Request"; no instance returned

尝试:用正确的php版本路径再次执行,如 /opt/cpanel/ea-php72/root/usr/bin/php bin/magento cache:flush

参考:

magento - Invalid Form Key. Please refresh the page 错误 - 增大 max_input_vars 值

问题:新安装的magento2.3,在网站后台添加多个产品属性的新商品时,出错,提示 Invalid Form Key. Please refresh the page。环境是apache2.4和php。

尝试:

1.查看web错误日志,有如:

PHP Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0

2.更改php.ini中的 max_input_vars 的值到两万(默认是1000),如 max_input_vars = 20000

3.重启web服务

参考:https://www.simicart.com/blog/magento-2-invalid-form-key/