We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 44405
    • 10 Posts
    Все привет
    Клиент из админки наклонировал несколько сотен тысяч ненужных ресурсов
    Теперь, возможно, из за этого, когда мы меняем содержимое ресурса или шаблона на сайте - отображается его старая версия, без изменений
    Подозреваем что это из за кэша
    Вручную из админки обновить кэш не получается, при выборе в меню САЙТ - ОБНОВИТЬ САЙТ консоль зависает

    Как это можно сделать скриптом или еще каким-либо способом?
    Если скриптом с какой-то функцией модикс - то как он должен выглядеть полностью, с подключенными библиотеками и где он должен размещаться при вызове? Доступа к shell на этом хостинге нет.

    Жду ответа, спасибо
      • 35150 ☆ A M B ☆
      • 191 Posts
      Теперь, возможно, из за этого, когда мы меняем содержимое ресурса или шаблона на сайте - отображается его старая версия, без изменений

      Посмотрите в настройках, у вас manager_html5_cache включен или выключен? Подобную проблему я видел, когда он включен. Выключаем, значит.

      А чтобы общий кэш очистить, достаточно удалить всё из папки core/cache/ через FTP (или SSH).
        Extras :: pThumb • Resizer • imageSlim • setPlaceholders
        • 44405
        • 10 Posts
        Спасибо за совет, мы им воспользовались и у нас исчезли все ресурсы, и сайт не работает.
        Что может быть и куда смотреть?
          • 35150 ☆ A M B ☆
          • 191 Posts
          Вы удалили core/cache/*, да? Т.е. папка core/cache еще есть, но она пуста.
          Значит, проблема была не в кэше.

          Дальше надо проверить связь с БД. Откройте core/config/config.inc.php и посмотрите строки 5–12. Попробуйте вручную связаться с БД (с помощью phpMyAdmin например). Сервер, логин, все работает?

          А насчет "сайт не работает", можно больше подробностей? Какая ошибка выводится вообще, или на что ругается?
            Extras :: pThumb • Resizer • imageSlim • setPlaceholders
            • 44405
            • 10 Posts
            Мы удалили core/cache и сайт после этого перестал работать, а именно при заходе на него выдавать ошибку 500,
            при этом админка сайта открывается ну после удаления кэша вкладка ресурсы пустая.
            Всё это произошло после очистки папки core/cache.
            Сервер базы данных работает без изменений, так как остальные сайты открываются.
            Буду благодарен за совет .
              • 35150 ☆ A M B ☆
              • 191 Posts
              Скорее всего наличие кэшированных ресурсов по большей мере маскировало другие, уже существующие проблемы. Ведь что-то было не так и до очистки кэша.

              PHP вообще имеет право создавать файлы в core/cache? Если он работает в виде модуля Apache, то скорее всего нужны права 0777. Если fcgi (лучше) то 0755.

              А что у вас в логе PHP ошибок?

              Рекомендую обратиться и к этим форумам, там русскоязычной активности больше чем здесь:
              http://community.modx-cms.ru/
              http://modx.im/
                Extras :: pThumb • Resizer • imageSlim • setPlaceholders
                • 43165
                • 13 Posts
                после очистки папки кэша - исчезнуть ваши ресурсы никак не могли. Присоединяюсь к мнению выше , скорее всего проблема с подключением к БД или с доступами. Судя по постам , я бы порекомендовал обратиться к специалисту , чтобы не нарубить дров.
                  • 44405
                  • 10 Posts
                  В лог файле образуются следующие ошибки:

                  [Thu Jul 11 16:29:23 2013] [error] [client 109.188.124.241] PHP Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 512 bytes) in /home/u319395/your-whitecat.ru/www/core/model/modx/modcachemanager.class.php on line 93
                  [Thu Jul 11 16:29:29 2013] [error] [client 109.188.124.241] PHP Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 32 bytes) in /home/u319395/your-whitecat.ru/www/core/model/modx/modcachemanager.class.php on line 92


                  собственно это причина по которой сайт не открывается.
                    • 35150 ☆ A M B ☆
                    • 191 Posts
                    Ага.

                    А у вас какая версия MODX? Если 2.2.7 или 2.2.8, то попробуйте отключить настройку cache_alias_map. Если админка более менее работает, то найдете ее в Настройках системы в разделе Core / Кэширование. Значение также можно менять непосредственно в БД если что.

                    Поскольку у вас несколько сотен тысяч ресурсов, то MODX требует значительно больше памяти чем 64МБ, чтобы сгенерировать этот cache alias map. Выключите его, и требование к памяти снизится на порядок.

                    А если у вас более старая версия, то либо обновить, либо залезть в БД и поудалить тех несчастных наклонированных ресурсов.
                      Extras :: pThumb • Resizer • imageSlim • setPlaceholders
                      • 44405
                      • 10 Posts
                      у нас предыдущая версия 2.2.6

                      хочется удалить, но есть такая проблема - я так понимаю, весь мусор у меня содержится в таблицах modx_site_content (367,812 записей) и modx_site_tmplvar_contentvalues (1,093,939 записей), связанных друг с другом через id контента.

                      Я решил удалить из базы весь контент (таблица modx_site_content), помеченный как удаленный и TV из второй таблицы (modx_site_tmplvar_contentvalues), привязанные к нему, правильно?

                      сделал тестовый запрос, который показал, что удаленный контент составляет всего 20 тыс записей из 267 тыс (поле deleted = 1)

                      тут какой-то подвох, потому что полезных ресурсов на сайте должно быть около тысячи, не больше, остальные должны быть мусором

                      каким образом вычислить остальные? я думаю насчет поля parent, то есть теоретически если ресурс не помечен как удаленный (deleted = 0), но имеет удаленного родителя (parent) или прародителя, то его тоже не видно, но он сжирает ресурс при генерации кэша, так?

                      каким алгоритмом, sql запросом или скриптом мне аккуратно почистить контент, учитывая эту путаницу?