Troubleshooting PHP/MySQL/CMS
Переношу отсюда - https://lulzette.ru/mediawiki/index.php?title=Tech_Support_Shared_Hosting Полезные команды для фикса популярных CMS и LNAMP стека
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/ правим:
- after_connect_d7.php:
$connection->queryExecute("SET innodb_strict_mode=0");
- after_connect.php:
$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
Other CMS
Wordpress
главная доступна, 404 на подстраницах
В 99% случаев возникает из-за отсутствия стандартных директив в .htaccess сайта. Следует добавить их: CMS Стандартные файлы
MODX
Логи в core/error
В случае проблем переименуй кеш - core/cache
Общее
При переносе сайта из-за листингов wget'а на сайта могут быть различные спецэффекты. Не забывай их удалять.
find . -name '.listing' -delete
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
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
Проблемы с переносом баз
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'
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;
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;
клиент
Красивый шелл:
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/