ЧТМ:Отладка
Перейти к навигации
Перейти к поиску
Терминал
[править код]Обновление БД через браузер: https://thirdworldcup.ru/mw-config/
- Обновление БД через терминал
- сначала
cd ~/thirdworldcup.ru/public_html - потом
php8.5 maintenance/run.php update
- Скрипт обновления статистики участников
php8.5 maintenance/run.php initSiteStats --update --active
- Очистка БД от текста безвозвратно удалённых страниц
php8.5 maintenance/run.php purgeOldText --purge
- Сброс системного кэша локализации
php8.5 maintenance/run.php rebuildLocalisationCache --force
Подстраницы
[править код]- /Технические права
- /Конфиг
- /AbuseFilter
- /Группы участников
- /Перенос на основной домен
- /Кэширование
- /Дампы
- /APCu
Служебные
[править код]Разработка расширений
[править код]Проверки
[править код]Дебаггеры
[править код]// ==========================================
// СУПЕР-АГРЕССИВНЫЙ ПЕРЕХВАТЧИК ФАТАЛОВ (УДАЛИТЬ ПОСЛЕ ОТЛАДКИ)
// ==========================================
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
register_shutdown_function(function() {
$error = error_get_last();
if ($error !== null && in_array($error['type'], [E_ERROR, E_PARSE, E_CORE_ERROR, E_COMPILE_ERROR])) {
echo "<pre style='background:#fee7e6; color:#b12222; padding:20px; border:2px solid #d33; font-size:14px; font-family:monospace; position:fixed; top:0; left:0; width:100%; height:100%; z-index:99999; overflow:auto;'>";
echo "<b>🔥 ОБНАРУЖЕНА КРИТИЧЕСКАЯ ОШИБКА ПРИ СТАРТЕ:</b>\n\n";
echo "<b>Файл:</b> " . htmlspecialchars($error['file']) . " (строка " . $error['line'] . ")\n";
echo "<b>Сообщение:</b> " . htmlspecialchars($error['message']) . "\n";
echo "\n<b>Стек вызовов (если доступен):</b>\n";
debug_print_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
echo "</pre>";
die();
}
});
Если и предыдущий не поможет, то вот ещё (если Mediawiki упадёт дважды, то он запрашивает напрямую у php):
// ==========================================
// УЛЬТИМАТИВНЫЙ ДЕБАГГЕР (УДАЛИТЬ ПОСЛЕ ОТЛАДКИ)
// ==========================================
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
set_exception_handler(function(Throwable $e) {
echo "<pre style='background:#fee7e6; color:#b12222; padding:20px; border:2px solid #d33; font-size:14px; font-family:monospace; position:fixed; top:0; left:0; width:100%; height:100%; z-index:99999; overflow:auto;'>";
echo "<b>🔥 ПЕРЕХВАЧЕНО ИСКЛЮЧЕНИЕ:</b>\n\n";
echo "Класс: " . get_class($e) . "\n";
echo "Файл: " . $e->getFile() . " (строка " . $e->getLine() . ")\n";
echo "Сообщение: " . $e->getMessage() . "\n\n";
echo "<b>Стек вызовов (Backtrace):</b>\n" . $e->getTraceAsString();
echo "</pre>";
die();
});
set_error_handler(function($errno, $errstr, $errfile, $errline) {
if (!(error_reporting() & $errno)) {
return false;
}
if (in_array($errno, [E_USER_ERROR, E_RECOVERABLE_ERROR])) {
throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
}
return false;
});
Синтаксис через терминал
[править код]Сначала:
cd ~/thirdworldcup.ru/public_html
или
cd ~/test.thirdworldcup.ru/public_html
Потом:
php8.5 -l путь к файлу
Например:
php8.5 -l extensions/PersonalWhitelist/includes/ApiQueryPwGroups.php