116 lines
5.0 KiB
Markdown
116 lines
5.0 KiB
Markdown
# 🔧 Инструкция по отладке загрузки файлов
|
||
|
||
## 📋 Что мы создали:
|
||
|
||
### 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`
|
||
|
||
---
|
||
|
||
**Теперь у нас есть полная система мониторинга загрузки файлов!** 🎉
|