Troubleshooting PHP/MySQL/CMS

Переношу отсюда - https://lulzette.ru/mediawiki/index.php?title=Tech_Support_Shared_Hosting Полезные команды для фикса популярных CMS и LNAMP стека

CMS

CMS

Bitrix

bitrix in cp1251

php_value default_charset "cp1251"
php_value mbstring.internal_encoding cp1251
php_value mbstring.func_overload 2

bitrix размер стека и pcre.recursion_limit

Для этого добавил в файл .htaccess в корневой директории вашего аккаунта следующие директивы:
php_value pcre.jit 0
php_value pcre.recursion_limit 100000 - удалил

bitrix mysqli

define("BX_USE_MYSQLI", true); # DBCONN.PHP

...

'className' => '\\Bitrix\\Main\\DB\\MysqliConnection', # .SETTINGS.PHP

bitrix innodb_strict_mode

по пути /bitrix/php_interface/ правим:

$connection->queryExecute("SET innodb_strict_mode=0");

$DB->Query("SET innodb_strict_mode=0");

bitrix запустить индекс в консоли

Добавить в начало файла

$_SERVER["DOCUMENT_ROOT"] = __DIR__;

bitrix pcre limit

php_value pcre.jit 0

bitrix mbstring orig pos

https://admin4web.ru/article/oshibka-mb-orig-strpos/

php_value mbstring.func_overload 2

[Error] Call to undefined function mb_orig_strpos() (0) /public_html/bitrix/modules/security/classes/general/post_filter.php:320 #0: CSecurityXSSDetect::fastStrpos(string, string) /public_html/bitrix/modules/security/classes/general/post_filter.php:190 #1: CSecurityXSSDetect->findInArray(string, array) /public_html/bitrix/modules/security/classes/general/post_filter.php:221 #2: CSecurityXSSDetect->isDangerBody(string) /public_html/bitrix/modules/security/classes/general/post_filter.php:237 #3: CSecurityXSSDetect->getFilteredScriptBody(string) /public_html/bitrix/modules/security/classes/general/post_filter.php:262 #4: CSecurityXSSDetect->getFilteredScript(array) #5: preg_replace_callback(string, array, string) /public_html/bitrix/modules/security/classes/general/post_filter.php:274 #6: CSecurityXSSDetect->filter(string) /public_html/bitrix/modules/security/classes/general/post_filter.php:72 #7: CSecurityXSSDetect->process(string) /public_html/bitrix/modules/security/classes/general/post_filter.php:55 #8: CSecurityXSSDetect::OnEndBufferContent(string) /public_html/bitrix/modules/main/classes/general/module.php:490 #9: ExecuteModuleEventEx(array, array) /public_html/bitrix/modules/main/classes/general/main.php:3192 #10: CAllMain->EndBufferContent(string) /public_html/bitrix/modules/main/classes/general/main.php:3140 #11: CAllMain->EndBufferContentMan() /public_html/bitrix/modules/main/include/epilog_after.php:36 #12: require(string) /public_html/index.php:1
CMS

Other CMS

Wordpress

главная доступна, 404 на подстраницах

В 99% случаев возникает из-за отсутствия стандартных директив в .htaccess сайта. Следует добавить их: CMS Стандартные файлы

MODX

Логи в core/error

В случае проблем переименуй кеш - core/cache

Общее

При переносе сайта из-за листингов wget'а на сайта могут быть различные спецэффекты. Не забывай их удалять.

find . -name '.listing' -delete

CMS

wp-cli

Полный список команд: https://wp-kama.ru/handbook/cli/wp

Проверить версию wp:
wp core version

Инормация по wp-cli:
wp --info

Экспортировать базу:
wp db export databasename


Импортировать базу:
wp db import databasename

Заменить в базе все value1 на value2:
wp search-replace value1 value2

Обновить кэш:
wp cache flush

Получить информацию по опциям из таблицы wp_options базы данных:
wp option get home
wp option get siteurl

MySQL

MySQL

Repair

mysqlcheck -r -u'база_данных' -p'пароль_базы_данных' 'база_данных'

REPAIR TABLE tablename USE_FRM;

Если побилась mysql.user и мускуль из-за этого не поднимается

for i in $(ls *.MYI | awk -F'.' '{print $1}') ; do myisamchk -r -q $i  ;done
MySQL

Проблемы с переносом баз

ERROR 1118 (42000): Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline

sed -i 's#ENGINE=InnoDB#ENGINE=InnoDB ROW_FORMAT=DYNAMIC#g' dump.sql

ERROR 1416 (22003) at line 801: Cannot get geometry object from data you send to the GEOMETRY field

Где-то есть таблица с пустым геометрическим полем. Заполни его какими-нибудь координатами, 0,0,0 например

ERROR 1449 (HY000) at line 4012: The user specified as a definer ('asdf'@'localhost') does not exist

sed -i 's/\/\*!50013 DEFINER=`asdf`@`localhost` SQL SECURITY DEFINER \*\///g' dump.sql

ERROR 1071 (42000) at line 874: Specified key was too long; max key length is 255 bytes

sed -i 's/tinytext/VARCHAR(255)/g'
MySQL

SQL

SQL alter/convert

ALTER TABLE `DATABASE`.`TABLE` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

ALTER DATABASE `DATABASE` DEFAULT CHARSET=utf8 COLLATE utf8_bin;

https://stackoverflow.com/questions/6115612/how-to-convert-an-entire-mysql-database-characterset-and-collation-to-utf-8#6115705

Use the ALTER DATABASE and ALTER TABLE commands.

ALTER DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Or if you're still on MySQL 5.5.2 or older which didn't support 4-byte UTF-8, use utf8 instead of utf8mb4:

ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
MySQL

клиент

Красивый шелл:

prompt='\u at \h in \d> '


Ссылки

проксирование нгинксом, заголовки, балансировка: https://devacademy.ru/comment/5

apache mod_rewrite: https://httpd.apache.org/docs/2.4/rewrite/remapping.html

nginx переменные в ngx_http_core_module: https://nginx.org/en/docs/http/ngx_http_core_module.html#var_remote_addr

все переменные в нгинксе: https://nginx.org/en/docs/varindex.html

(mediawiki) nginx - location и полезности по регуляркам: https://rav.pw/nginx-location/

(mediawiki) полезности по регуляркам: https://www.karashchuk.com/Apache/htaccess_regexp/

легко и понятно про mod_rewrite (и про регулярки): https://hackware.ru/?p=5543

советы по php-fpm http://pektop.net/2013/09/sovety-po-nastrojke-i-optimizacii-nginx-i-php-fpm/

тоже php-fpm https://rtfm.co.ua/nginx-nastrojka-servera-i-php-fpm/

и еще php-fpm https://hcbogdan.com/php/2016/09/16/php-fpm-dynamic/


https://github.com/EliverLara/Juno

https://it-para.site/neprinuzhdionnye-is.html

https://habr.com/ru/company/mailru/blog/490790/


https://wiki.gentoo.org/wiki/Complete_Virtual_Mail_Server/Courier-IMAP_to_Database/ru

https://help.ubuntu.com/community/Courier

https://1cloud.ru/help/linux/nastrojka-exim4

https://skorks.com/2009/09/bash-shortcuts-for-maximum-productivity/

https://vim.rtorr.com/

mail - https://habr.com/ru/post/59417/

DNS - https://habr.com/ru/post/137587/