# 🐛 FIX: Кнопка "Через Nextcloud" → Ошибка подключения к API **Дата:** 2 ноября 2025 **Проблема:** Кнопка "📚 Через Nextcloud" показывала ошибку "Ошибка подключения к API" ## 🔍 Диагностика ### Симптомы: 1. ✅ `nextcloud_open.php` **работал в CLI** (возвращал правильный JSON) 2. ❌ Через веб (curl/браузер) возвращал **HTTP 500 (пустой ответ)** 3. ❌ JavaScript fetch() получал пустой ответ → показывал ошибку ### Причина: **Redis PHP extension** был установлен только для PHP 7.2, а Apache использовал **PHP 7.3**! ```bash # PHP CLI (работало): php -v # PHP 7.2 (имеет redis extension) # Apache (не работало): phpinfo() # PHP 7.3 (НЕТ redis extension!) ``` ## ✅ Решение ### 1. Обнаружили модуль .so: ```bash find /opt/php73 -name "redis.so" # /opt/php73/lib/php/extensions/no-debug-non-zts-20180731/redis.so ``` ### 2. Создали конфиг: ```bash 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: ```bash systemctl restart apache2 ``` ### 4. Проверка: ```bash 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 | ## 🔧 Для проверки в будущем: ```bash # Проверка модулей 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