Выпишу её сюда для своего удобства, чтобы всегда была под рукой онлайн.
Архивация сайта
Тестовые адреса для некоторых стран
Устранение сбоя «Can't create directory 'generated/code'»
chmod -R -v 777 generated
Удаление кэша
bin/magento cache:clean
или
cd var/log
rm -rf {,.[!.],..?}* ../cache ../page_cache ../view_preprocessed ../../generated/* ../generation ../di ../.cachestates.json
Удаление кэша + автосоздаваемых файлов PHP + конечных браузерных файлов
find var/* -type f -or -type d | grep -v 'session' | xargs rm -rf &&
rm -rf pub/static/* generated/*
Убийство PHP в Windows
taskkill /F /IM php.exe 2>/dev/null
Перезапуск Apache
net stop "Apache2.4" && net start "Apache2.4"
Создание конечных браузерных файлов
bin/magento setup:static-content:deploy -f
Для конкретной локали, области кода и оформительской темы:
bin/magento setup:static-content:deploy -f pt_BR --area frontend --theme Magento/luma
или
rm -rf pub/static/* && bin/magento setup:static-content:deploy -f pt_BR --area frontend --theme Magento/luma
Перезапуск Nginx
net stop Nginx & net start Nginx
или
taskkill /F /IM nginx.exe 2>/dev/null &&
./nginx
Обновление программного кода модулей из внешних репозиториев
composer self-update &&
composer update --prefer-source
Обновление модулей в Magento
Логическое продолжение предыдущей команды: Magento узнаёт об изменениях версий модулей, регистрирует/удаляет их, меняет схему БД.
bin/magento cache:clean && bin/magento setup:upgrade && rm -rf generated var/generation/*
Обновление сайта
rm -rf var/cache var/log && git pull && sudo /etc/init.d/php5-fpm restart
Компиляция кода PHP
bin/magento setup:di:compile
Создание резервной копии базы данных
mysqldump имя_БД > $(date '+%Y-%m-%d-%H-%M').sql
mysqldump \
--default-character-set=utf8 \
--host=<value> \
--password=<value> \
--user=<value> \
<database> | gzip > ~/_backup/$(date '+%Y-%m-%d-%H-%M').sql.gz
Дамп структуры базы данных Magento для сравнения и отладки
mysqldump --no-data <database> | sed 's/ AUTO_INCREMENT=[0-9]*\b//g' > <database>.sql
Дамп настроек Magento для сравнения и отладки
mysqldump \
--complete-insert \
--skip-compact \
--skip-extended-insert \
--where="1 ORDER BY path" \
<database> core_config_data > core_config_data.sql
Восстановление базы данных из резервной копии
mysql -e "DROP DATABASE имя_БД; CREATE DATABASE имя_БД;" && mysql имя_БД < имя_файла.sql
Удаление DEFINER
из дампа базы данных
grep DEFINER имя_файла.sql
sed -i 's/DEFINER=`<name>`@`<host>`//g' имя_файла.sql
Выполнение запланированных задач
bin/magento cron:run --bootstrap=standaloneProcessStarted=1
Перестройка расчётных таблиц
UPDATE indexer_state SET status = 'valid';
bin/magento indexer:reindex
Валидация файлов XML в IntelliJ IDEA
bin/magento dev:urn-catalog:generate ../.idea/01/.idea/misc.xml && \
bin/magento dev:urn-catalog:generate ../.idea/03/.idea/misc.xml && \
bin/magento dev:urn-catalog:generate ../.idea/04/.idea/misc.xml && \
bin/magento dev:urn-catalog:generate ../.idea/05/.idea/misc.xml
Отмена изменений файлов
git checkout -- composer.lock
git checkout -- composer.json
Узнаём, когда файл был удалён
git log -1 -- app/code/Magento/Catalog/Block/Adminhtml/Category/Tab/Attributes.php
Узнаём всю историю изменений файла
git log -- app/code/Magento/Catalog/Block/Adminhtml/Category/Tab/Attributes.php
Узнаём внешний адрес IP своего сервера
wget -qO- http://ipecho.net/plain ; echo
Узнаём значение опции интерпретатора PHP
php -i | grep <option name>
Создание учётной записи администратора с командной строки
chmod u+x bin/magento &&
bin/magento admin:user:create --admin-user="Dmitrii Fediuk" --admin-password="Za1112Uj" --admin-email="admin@mage2.pro" --admin-firstname="Dmitrii" --admin-lastname="Fediuk"
Изменение пароля покупателя
Узнаём папку установки Magento 2
find / -name "CHANGELOG.md" -print 2>/dev/null
Узнаём параметры подключения к базе данных
grep -E "host|dbname|username|password|table_prefix" app/etc/env.php
Узнаём корневой URL магазина
mysql --host=<host> --user=<user> --password=<password> -D <database> -e "SELECT value FROM core_config_data WHERE path IN ('web/secure/base_url', 'web/unsecure/base_url');"
Узнаём корневой URL административной части
grep "frontName" app/etc/env.php
Узнаём расположение главного настроечного файла веб-сервера Apache (httpd.conf)
find / -name "httpd.conf" -print 2>/dev/null
Узнаём используемый веб-сервер
wget -SO- <website url> 2>&1 >/dev/null | grep "Server"
Увеличиваем продолжительность сессий
Быстрая компиляция Less для конкретного модуля
Исправляем настройки доступа к файлам в домашней папке
sudo chown ${USER:=$(/usr/bin/id -run)}:$USER ~
Удаление кэша Composer'a
composer clear-cache
Отключение / включение стороннего модуля
bin/magento module:disable <module name> && bin/magento setup:upgrade
Русификация
Измеряет полноту перевода:
bin/magento dfr:translation:state
Пополняет русскоязычные словари новыми фразами из ядра (эта команда предназначена только для разработчиков):
bin/magento dfr:translation:update
Настройки Magento для разработки
Дополнительные настройки Magento ≥ 2.2 для демонстрации клиентам их сайта на моем сервере
Поиск паролей Composer'a
find / -name "auth.json" -print 2>/dev/null
find ~ -name "auth.json" -print 2>/dev/null
Читаем зашифрованное значение из БД
wget https://files.magerun.net/n98-magerun2.phar
php ./n98-magerun2.phar config:store:get --decrypt <path>
Например, так читаем параметры аутентификации в PayPal:
php ./n98-magerun2.phar config:store:get --decrypt paypal/wpp/api_username
php ./n98-magerun2.phar config:store:get --decrypt paypal/wpp/api_password
php ./n98-magerun2.phar config:store:get --decrypt paypal/wpp/api_signature
magento.stackexchange.com/a/233078
Поиск конфликтующих модулей
bin/magento maintenance:enable
composer require magefan/module-conflict-detector:*
bin/magento setup:upgrade
rm -rf var/di var/generation generated/code && bin/magento setup:di:compile
rm -rf pub/static/* && bin/magento setup:static-content:deploy en_US <additional locales, e.g.: de_DE>
bin/magento maintenance:disable
Определяем операционную систему
cat /etc/*-release
Расшифровка пароля из настроек Magento
\Magento\Framework\App\ObjectManager::getInstance()
->get(\Magento\Framework\Encryption\EncryptorInterface::class)
->decrypt('<value>');
Как в разы уменьшить размер базы данных
Какие модули я использую почти в каждом проекте?
Находим самые большие таблицы
SELECT table_name, table_rows, round(((data_length + index_length) / 1024 / 1024),2) "Size in MB"
FROM information_schema.tables
WHERE "<database name>" = table_schema
ORDER BY (data_length + index_length) DESC;
Сокращаем размер БД в Magento 1
SET FOREIGN_KEY_CHECKS=0;
TRUNCATE dataflow_batch_import;
DELETE FROM index_event;
TRUNCATE index_process_event;
TRUNCATE core_session;
TRUNCATE dataflow_batch_export;
TRUNCATE log_url;
TRUNCATE log_url_info;
TRUNCATE log_visitor;
TRUNCATE log_visitor_info;
TRUNCATE report_compared_product_index;
TRUNCATE report_event;
TRUNCATE report_viewed_product_aggregated_daily;
TRUNCATE report_viewed_product_index;
SET FOREIGN_KEY_CHECKS=1;
Отключаем предустановленный мусор
bin/magento module:disable Dotdigitalgroup_Chat
bin/magento module:disable Dotdigitalgroup_Email
bin/magento module:disable Vertex_AddressValidation
bin/magento module:disable Vertex_Tax
bin/magento module:disable Temando_Shipping
bin/magento module:disable Yotpo_Yotpo
bin/magento module:disable Magento_Signifyd
bin/magento module:disable Magento_NewRelicReporting
DELETE FROM `eav_attribute` WHERE `source_model` LIKE '%Temando%'