Часто используемая мной информация в едином месте

Выпишу её сюда для своего удобства, чтобы всегда была под рукой онлайн.

Архивация сайта

Тестовые адреса для некоторых стран

Устранение сбоя «Can’t create directory ‘generated/code’»

chmod -R -v 777 generated

Удаление кэша

bin/magento cache:clean

или

cd var && 
rm -rf cache log 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

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

Дамп структуры базы данных Magento для сравнения и отладки

mysqldump --no-data <database> | sed 's/ AUTO_INCREMENT=[0-9]*\b//g' > <database>.sql

Дамп настроек Magento для сравнения и отладки

mysqldump --complete-insert --skip-compact --skip-extended-insert <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="Dmitry Fedyuk" --admin-password="Za1112Uj" --admin-email="admin@mage2.pro" --admin-firstname="Dmitry" --admin-lastname="Fedyuk"

Узнаём папку установки 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 >= 2.2 для разработки

bin/magento config:set admin/captcha/enable 0
bin/magento config:set admin/security/password_lifetime ''
bin/magento config:set admin/security/session_lifetime 31536000
bin/magento config:set admin/security/use_form_key 0
bin/magento config:set admin/url/custom ''
bin/magento config:set admin/url/use_custom 0
bin/magento config:set catalog/search/engine mysql
bin/magento config:set dev/css/merge_css_files 0
bin/magento config:set dev/css/minify_files 0
bin/magento config:set dev/image/default_adapter GD2
bin/magento config:set dev/js/enable_js_bundling 0
bin/magento config:set dev/js/merge_files 0
bin/magento config:set dev/js/minify_files 0
bin/magento config:set dev/static/sign 0
bin/magento config:set sales_email/creditmemo/copy_to ''
bin/magento config:set sales_email/creditmemo_comment/copy_to ''
bin/magento config:set sales_email/invoice/copy_to ''
bin/magento config:set sales_email/invoice_comment/copy_to ''
bin/magento config:set sales_email/order/copy_to ''
bin/magento config:set sales_email/order_comment/copy_to ''
bin/magento config:set sales_email/shipment/copy_to ''
bin/magento config:set sales_email/shipment_comment/copy_to ''
bin/magento config:set system/full_page_cache/caching_application 1
bin/magento config:set web/cookie/cookie_domain ''
bin/magento config:set web/cookie/cookie_lifetime 9999999
bin/magento config:set web/cookie/cookie_path ''
bin/magento cache:clean
UPDATE `sales_sequence_profile` SET suffix = '-DF<port>';

Authorize.NET разрешает не более 20 символов в идентификаторе транзакции: github.com/beverageuniverse/core/issues/16#issuecomment-539751263

Дополнительные настройки Magento >= 2.2 для демонстрации клиентам их сайта на моем сервере

bin/magento config:set design/head/demonotice 1
bin/magento config:set dev/css/merge_css_files 1
bin/magento config:set dev/css/minify_files 0
bin/magento config:set dev/js/enable_js_bundling 1
bin/magento config:set dev/js/merge_files 1
bin/magento config:set dev/js/minify_files 0
bin/magento config:set dev/static/sign 1
bin/magento cache:clean
UPDATE `sales_sequence_profile` SET suffix = '-DF';

Настройки Magento < 2.2 для разработки

UPDATE `core_config_data` SET value = 0 WHERE path IN (
	'admin/captcha/enable'
	,'admin/security/use_form_key'
	,'admin/url/use_custom'
	,'dev/css/merge_css_files'
	,'dev/css/minify_files'
	,'dev/js/enable_js_bundling'
	,'dev/js/merge_files'
	,'dev/js/minify_files'
	,'dev/static/sign'
);
DELETE FROM `core_config_data` WHERE 'admin/url/custom' = path;
DELETE FROM `core_config_data` WHERE 'web/cookie/cookie_domain' = path;
DELETE FROM `core_config_data` WHERE 'web/cookie/cookie_path' = path;
UPDATE `core_config_data` SET value = '' WHERE 'admin/security/password_lifetime' = path;
UPDATE `core_config_data` SET value = 'GD2' WHERE 'dev/image/default_adapter' = path;
UPDATE `core_config_data` SET value = 'mysql' WHERE 'catalog/search/engine' = path;
UPDATE `core_config_data` SET value = 1 WHERE 'system/full_page_cache/caching_application' = path;
UPDATE `core_config_data` SET value = 31536000 WHERE 'admin/security/session_lifetime' = path;
UPDATE `core_config_data` SET value = NULL WHERE path LIKE 'sales_email/%/copy_to';
UPDATE `sales_sequence_profile` SET suffix = '-DF<port>';

Поиск паролей 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;

Добавил бы еще суда установку М2 из командной строки( иногда подвисает устрановка из браузера)
php bin/magento setup:install --base-url=“http:///” --db-host=“mysql” --db-name=“magento2” --db-user=“magento2” --db-password=“magento2” --admin-firstname=“Magento” --admin-lastname=“User” --admin-email="example@example.com" --admin-user=“MagentoAdmin” --admin-password=“Magento@#123K” --language=“en_US” --currency=“USD” --timezone=“America/Chicago” --use-rewrites=“1”
//
и возможно стоит добавить суда небольшой гайд по “netz98 magerun CLI tools for Magento 2”, штука здорово облeгчает жизнь)