Files
crm.clientright.ru/DEBUG_UPLOAD_INSTRUCTIONS.md

116 lines
5.0 KiB
Markdown
Raw Permalink Normal View History

# 🔧 Инструкция по отладке загрузки файлов
## 📋 Что мы создали:
### 1. **Консольное логирование (JavaScript)**
- **Файл**: `debug_upload_console.js`
- **Назначение**: Перехватывает все AJAX запросы, отправку форм, изменения файловых полей
- **Логирует в консоль браузера**: все этапы загрузки файлов
### 2. **Серверное логирование (PHP)**
- **Файл**: `debug_server_logging.php`
- **Назначение**: Детальное логирование всех POST запросов с файлами
- **Лог файл**: `logs/debug_upload_server.log`
### 3. **Отладочный Action для Documents**
- **Файл**: `modules/Documents/actions/SaveDebug.php`
- **Назначение**: Расширенное логирование процесса сохранения документов
### 4. **Монитор в реальном времени**
- **Файл**: `debug_upload_monitor.html`
- **Назначение**: Веб-интерфейс для мониторинга всех логов
### 5. **Просмотрщик логов**
- **Файл**: `debug_upload_log_viewer.php`
- **Назначение**: API для получения содержимого логов
## 🚀 Как использовать:
### Вариант 1: Автоматический мониторинг
1. Откройте `https://crm.clientright.ru/debug_upload_monitor.html`
2. Нажмите "🔄 Авто-обновление" для мониторинга в реальном времени
3. Нажмите "💉 Внедрить JS отладку" - откроется окно CRM с отладкой
4. Попробуйте загрузить файл в CRM
5. Смотрите логи в мониторе
### Вариант 2: Ручная отладка
1. Откройте CRM в браузере
2. Откройте консоль разработчика (F12)
3. Выполните в консоли:
```javascript
// Загружаем скрипт отладки
var script = document.createElement('script');
script.src = '/debug_upload_console.js';
document.head.appendChild(script);
```
4. Попробуйте загрузить файл
5. Смотрите детальные логи в консоли
### Вариант 3: Серверные логи
1. Откройте `https://crm.clientright.ru/debug_upload_log_viewer.php?log=server`
2. Или смотрите файл напрямую: `tail -f logs/debug_upload_server.log`
## 🎯 Доступные команды в консоли:
После загрузки `debug_upload_console.js`:
```javascript
// Показать все формы на странице
debugUpload.logCurrentForms()
// Показать все файловые поля
debugUpload.logFileInputs()
// Тестовая загрузка файла
debugUpload.testUpload('test.txt')
```
## 📊 Что логируется:
### JavaScript (консоль браузера):
-Все AJAX запросы к index.php
- ✅ Отправка форм с файлами
- ✅ Изменения в файловых полях
- ✅ Ответы сервера (успех/ошибка)
- ✅ Размеры и типы файлов
### PHP (серверные логи):
-Все POST запросы с деталями
- ✅ Информация о загружаемых файлах
- ✅ PHP настройки загрузки
- ✅ Ошибки и исключения
- ✅ Этапы обработки документов
## 🔍 Как найти проблему:
1. **Файл не выбирается**: Смотрите в консоли "FILE INPUT CHANGED"
2. **Форма не отправляется**: Смотрите "FORM SUBMISSION"
3. **AJAX не работает**: Смотрите "AJAX REQUEST STARTED"
4. **Сервер не получает файл**: Смотрите `debug_upload_server.log`
5. **Ошибка в PHP**: Смотрите секцию "ERROR" в логах
## 🧪 Тестирование:
1. Откройте консоль в CRM
2. Выполните: `debugUpload.testUpload()`
3. Это создаст тестовый файл и попытается его загрузить
4. Смотрите логи для диагностики
## 📁 Файлы для мониторинга:
- `logs/debug_upload_server.log` - серверная отладка
- `logs/debug.log` - основной лог CRM
- `logs/s3_storage.log` - операции с S3
- `logs/vtigercrm.log` - системный лог vTiger
## 🔧 Отключение отладки:
Для отключения просто удалите или переименуйте файлы:
- `debug_upload_console.js`
- `debug_server_logging.php`
- `modules/Documents/actions/SaveDebug.php`
---
**Теперь у нас есть полная система мониторинга загрузки файлов!** 🎉