教程

本文完整教程地址:https://www.kancloud.cn/yuesir/magento , 希望对 Magento 新手和老手都能有所帮助或者启发。

Magento 从 0 到 1, 记录自己在安装 Magento 环境中遇到的问题,希望对其他人有所帮助。

安装完数据库后,需要更改 core_config_data 表中对应的记录中的 value 为自己本地配置的域名,不然访问首页会发生跳转。更改了数据库后再编译一次应该就不会出现访问首页跳转的情况了。

  1. select * from core_config_data where value like '%yourdomain%';

‘require.js’ 相关错误

修改 vendor\magento\framework\View\Element\Template\File\Validator.php 文件中的 isPathInDirectories 方法,将原来的

  1. Exception #0 (Magento\Framework\Exception\ValidatorException): Invalid template file: 'vendor/magento/module-backend/view/adminhtml/templates/page/js/require_js.phtml' in module: 'Magento_Backend' block's name: 'require.js'
  1. $realPath = $this->fileDriver->getRealPath($path);

修改为

  1. $realPath = str_replace('\\', '/', $this->fileDriver->getRealPath($path));

显示 isActive() 相关错误或者后台无法显示

删除 generated\metadata 目录中的 globals.php 文件即可

如何隐藏掉 index.php 后缀,不然可能会造成后台一直跳转到 /admi/admin/index…. 这个 URL 导致后台报 404 错误

在 nginx 对应的配置文件中 location / {} 配置中新增以下配置

  1. try_files $uri $uri/ /index.php?$args;

, 以便隐藏掉 index.php 后缀,然后重启 nginx 服务即可。

提示 … module is already loaded 之类的模块重复声明或者定义的问题,

可以重点看看是否重复加载了有相同功能的扩展, 比如 mysqli 和 php_pdo_mysql 扩展

报 redis 相关的错误,可能是 redis 在编译过程中时间太长导致超时,配置 redis 的超时时间为 0 即可。

  • image.png

    重新安装 Magento 卡在了 51% 的地方,报错信息如下:

    1. Module 'Magento_Theme':
    2. [ERROR] InvalidArgumentException: Wrong file in magento2\vendor\magento\framework\Image\Adapter\Gd2.php:64 Stack trace:
    3. #0 C:\wamp64\www\magento2\vendor\magento\framework\Image.php(55): Magento\Framework\Image\Adapter\Gd2->open('m...')
    4. #1 C:\wamp64\www\magento2\vendor\magento\framework\Image.php(36):
    修改 vendor\magento\framework\Image\Adapter\Gd2.php 中的 validateURLScheme 方法中的部分代码为
    1. if ($url && isset($url['scheme']) && !in_array($url['scheme'], $allowed_schemes) && !file_exists($filename)) {
    2. return false;
    3. }

如果前端资源提示 404,且 url 中包含有 version 字样,运行下面的命令后再清除缓存

php bin/magento config:set dev/static/sign 0

关闭前后台的 captcha 功能

  1. php bin/magento config:set admin/captcha/enable 0
  1. php bin/magento config:set customer/captcha/enable 0

创建后台账号

  1. php bin/magento admin:user:create --admin-user=adam2 --admin-password=admin123 --admin-email=xiaohe2@163.com --admin-firstname=olei2 --admin-lastname=work

后台提示无法修改支付方式

  1. general/locale/update_payment_user_id

修改 path 值为 general/locale/update_payment_user_id 的 value 值

如何开启 SQL Debug

  1. bin/magento dev:query-log:enable

然后在 var/debug/db.log 即可看到对应的 SQL query
通过

  1. bin/magento dev:query-log:disable

即可关闭对应的 query log

如何启用后台自定义 Admin Url

  1. admin/url/use_custom_path
  1. php bin/magento config:set admin/url/use_custom_path 0

Magento 命令快捷键

Setup upgrade:

php bin/magento s:up

Cache Flush:

php bin/magento c:f

Disable Cache:

php bin/magento c:d

Enable Cache:

php bin/magento c:e

Static Content Deploy:

php bin/magento s:s:d

Di Compile:

php bin/magento s:d:c

Var clean folder:

php bin/magento v:c

Uninstall Magento application:

php bin/magento s:un

Runs cron job scheduled for setup application:

php bin/magento s:c:r

Disables specified modules:

php bin/magento mo:d CompanyName_ModuleName

Enables specified modules:

php bin/magento mo:e CompanyName_ModuleName

Displays status of modules:

php bin/magento mo:s

Uninstalls modules installed by composer (which only installed by composer):

php bin/magento mo:u CompanyName_ModuleName

Cleans cache type(s):

php bin/magento c:c

Disables cache type(s):

php bin/magento c:d

Enables cache type(s):

php bin/magento c:e

Flushes cache storage used by cache type(s):

php bin/magento c:f

Checks cache status:

php bin/magento c:s

Enable Maintenance Mode Using Command Line:

php bin/magento ma:e

Disable Maintenance Mode Using Command Line:

php bin/magento ma:d

Shows allowed Indexers:

php bin/magento i:i

Reindexes Data:

php bin/magento i:rei

Resets indexer status to invalid:

php bin/magento i:res

Sets index mode type:

php bin/magento i:res

Shows status of Indexer:

php bin/magento i:st

Magento 常用命令汇总:
https://www.rohanhapani.com/magento-2-useful-command-list/