- Создан API create_document_with_text.php для создания DOCX/XLSX/PPTX с текстом от AI - Поддержка Markdown форматирования (заголовки, жирный, курсив, списки, код) - Установлен PHPWord для красивого форматирования документов - Исправлены пути сохранения (crm2/CRM_Active_Files/... без /crm/ в начале) - Замена пробелов на подчеркивания в именах папок - Создана документация для AI и разработчиков - Добавлены API для работы с шаблонами Nextcloud
3.2 KiB
3.2 KiB
🐛 FIX: Кнопка "Через Nextcloud" → Ошибка подключения к API
Дата: 2 ноября 2025
Проблема: Кнопка "📚 Через Nextcloud" показывала ошибку "Ошибка подключения к API"
🔍 Диагностика
Симптомы:
- ✅
nextcloud_open.phpработал в CLI (возвращал правильный JSON) - ❌ Через веб (curl/браузер) возвращал HTTP 500 (пустой ответ)
- ❌ JavaScript fetch() получал пустой ответ → показывал ошибку
Причина:
Redis PHP extension был установлен только для PHP 7.2, а Apache использовал PHP 7.3!
# PHP CLI (работало):
php -v # PHP 7.2 (имеет redis extension)
# Apache (не работало):
phpinfo() # PHP 7.3 (НЕТ redis extension!)
✅ Решение
1. Обнаружили модуль .so:
find /opt/php73 -name "redis.so"
# /opt/php73/lib/php/extensions/no-debug-non-zts-20180731/redis.so
2. Создали конфиг:
echo "extension=redis.so" > /opt/php73/mods-available/redis.ini
ln -s /opt/php73/mods-available/redis.ini /opt/php73/conf.d/redis.ini
3. Перезапустили Apache:
systemctl restart apache2
4. Проверка:
curl https://crm.clientright.ru/crm_extensions/file_storage/api/nextcloud_open.php?recordId=395695
# Ответ:
{
"success": true,
"fileId": 115163,
"redirectUrl": "https://office.clientright.ru:8443/apps/files/files/115163?...",
"source": "redis"
}
🎯 Результат
✅ Кнопка "📚 Через Nextcloud" РАБОТАЕТ
✅ FileID получается из Redis (быстро!)
✅ Файлы открываются в OnlyOffice через Nextcloud
📂 Изменённые файлы
/opt/php73/mods-available/redis.ini(создан)/opt/php73/conf.d/redis.ini(symlink создан)nextcloud_open.php(оптимизирован, убрана PROPFIND fallback логика)
🧪 Проверка других кнопок
| Кнопка | Статус | Примечание |
|---|---|---|
| ⚡ Быстро | ✅ Работает | S3 → OnlyOffice Standalone |
| 📚 Через Nextcloud | ✅ Работает | Redis → Nextcloud → OnlyOffice |
| 📁 Папка в Nextcloud | ✅ Работает | Открывает папку проекта |
| 📄 Скачать | ✅ Работает | Прямая ссылка S3 |
🔧 Для проверки в будущем:
# Проверка модулей PHP 7.3:
curl -s "https://crm.clientright.ru/crm_extensions/file_storage/api/test_modules.php"
# Должно показать: {"mysqli":true,"redis":true,"json":true}
Автор: AI Assistant (Claude Sonnet 4.5)
Время исправления: ~2 часа (большая часть на диагностику)
Сложность: ⭐⭐⭐ (3/5) - нетривиальная проблема с разными версиями PHP