W

Wanderer

+21
Репутация
2
Рейтинг
0
Wanderer Wanderer Обновление InstantCMS 2.2.1 9 лет назад
Решение проблемы
http://instantcms.ru/forum/thread21208-3.html сообщение №45.
0
Wanderer Wanderer Патч (исправление ошибки установки компонентов по FTP) для компонента "Мои патчи" 9 лет назад
Кому не помогло, смотрите http://instantcms.ru/forum/thread21208-3.html сообщение №45.
Скорпион, спасибо за информацию про 2 слэша )
0
Wanderer Wanderer Обновление InstantCMS 2.2.1 9 лет назад
Подтверждаю. При добавлении новой категории вылетает такое сообщение.
При этом запись сохраняется с именем null, которое потом можно отредактировать.
0
Wanderer Wanderer Обновление InstantCMS 2.2.1 9 лет назад
К п.1:
Тестирую сайт на домашнем ПК, проблема воспроизводится при использовании сервера Xlight FTP Server.
На сервере Quick'n Easy FTP Server Lite проблем нет.
Оба сервера бесплатные и portable.

Как решать эту проблему с хостером - пока не знаю. Скорее всего менять алгоритм проверки установленной InstantCMS.
+1
Wanderer Wanderer Обновление InstantCMS 2.2.1 9 лет назад
Для всех, у кого не устанавливаются компоненты по FTP (версия 2.2.1):
Есть 2 проблемы:
1. Непосредственно в FTP сервере, точнее, в ответе сервера на запрос php.ftp_nlist
По неизвестной причине некоторые сервера отдают только список файлов, другие сервера и файлы, и каталоги.
InstantCMS проверяет пути по наличию каталогов system и template по указанному пути. Если ftp_nlist возвращает только файлы, то CMS не будет найдена.

2. В случае указания пути к каталогу с установленной InstantCMS в нижнем поле (Путь папки сайта), InstantCMS также не будет найден. Причина кроется в файле system/controllers/admin/actions/install_ftp.php, а именно: при проверке наличия каталогов дублируется переменная пути, что приводит к невозможности проверки наличия каталогов (проверяемые значения /www/system/, а в переменной $list /system/)
Нужно в 106-ой строке заменить
Код PHP:
  1. if (!in_array($account['path'] . $dir, $list)){
на
Код PHP:
  1. if (!in_array($dir, $list)){
Либо указывать полный путь в адресе сервера.

Ниже часть кода из файла для понимания места возникновения проблемы:
Код PHP:
  1. $list = ftp_nlist($connection, $account['path']);
  2. ............
  3. foreach($check_dirs as $dir){
  4. if (!in_array($account['path'] . $dir, $list)){
  5. cmsUser::addSessionMessage(sprintf(LANG_CP_FTP_BAD_ROOT, $ftp_path), 'error');
  6. return false;
  7. }
0
Wanderer Wanderer Обновление InstantCMS 2.2.0 9 лет назад
Да, к п.1:
Такая проблема воспроизводится при использовании сервера Xlight FTP Server.
На сервере Quick'n Easy FTP Server Lite проблем нет.
Оба сервера бесплатные и portable.
0
Wanderer Wanderer Обновление InstantCMS 2.2.0 9 лет назад
Для всех, у кого не устанавливаются компоненты по FTP (версия 2.2.1):
Есть 2 проблемы:
1. Непосредственно в FTP сервере, точнее, в ответе сервера на запрос php.ftp_nlist
По неизвестной причине некоторые сервера отдают только список файлов, другие сервера и файлы, и каталоги.
InstantCMS проверяет пути по наличию каталогов system и template по указанному пути. Если ftp_nlist возвращает только файлы, то CMS не будет найдена.

2. В случае указания пути к каталогу с установленной InstantCMS в нижнем поле (Путь папки сайта), InstantCMS также не будет найден. Причина кроется в файле system/controllers/admin/actions/install_ftp.php, а именно: при проверке наличия каталогов дублируется переменная пути, что приводит к невозможности проверки наличия каталогов (проверяемые значения /www/system/, а в переменной $list /system/)
Нужно удалить часть кода (зачеркнута). Это 106-ая строка
Либо указывать полный путь в адресе сервера.
Код PHP:
  1. $list = ftp_nlist($connection, $account['path']);
  2. ............
  3. foreach($check_dirs as $dir){
  4. if (!in_array([s]$account['path'] . [/s] $dir, $list)){
  5. cmsUser::addSessionMessage(sprintf(LANG_CP_FTP_BAD_ROOT, $ftp_path), 'error');
  6. return false;
  7. }
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.