Кеш увімкнено, але var / cache порожній?


16

У мене magento 1.9.0.1 і всі кеші увімкнено, чому var/cacheпорожній? Я можу лише спорожнити кеш із бекенда, але коли це порушено, у мене є проблема.

Де magento записує файли кеша?


Це також може бути проблема з дозволом / користувачем / групою.
Ден Норріс

Відповіді:


15

Можливо, ви використовуєте інше сховище кешу memcached,Redis


так, якщо magent використовувати Redis / memcached як сховище кешу, то це не економить у var / cache folder
Amit Bera

Де тоді це економить?
Чорний

13

Якщо у вас є vardir або навіть var/cachedir, але Magento не може на нього написати, Magento скористається, sys_get_temp_dir()щоб визначити гарне місце для розміщення файлів кешування.

Часто це /tmp/і призводить до /tmp/magento/var/cache(Спасибі fschmengler)


5
в цьому випадку кеш- /tmp/magento/var/cache
репер

чи можете ви подивіться на magento.stackexchange.com/questions/94638/… та відповідь. Сподіваюся, ви зможете дати достатньо інформації
Метелик

це мені дуже допомагає
Аміт Бера

Замість того, щоб писати вдячні коментарі, будь ласка, підкажіть, залиште область коментарів для "справжніх" коментарів та питань, будь ласка :)
Fabian Blechschmidt

я вже робив це в минулому .. тому жодного разу не підносять заявки :)
Аміт Бера

6

Я зіткнувся з цією проблемою, коли magento записує файл кешу в /tmp/magento/var/cacheпапку.

Це дивна проблема, я вирішив цю проблему SELinux, виконавши команду.

$ sudo restorecon -R /var/www/html
$ sudo setsebool -P httpd_unified 1

3

На кого це впливає. Будь-який файл, який закінчується на " .xml", може і буде використаний.
Недостатньо просто перейменувати XML-файл на щось подібне, oldsomething.xmlви повинні зробити щось на зразок того, local.xml.backде файл не закінчується крапкою XML. Залишаючи local.xmlі oldlocal.xmlзавантажуючи обидва файли.

Я не знаю достатньо внутрішньої роботи, щоб знати, чому це так, але я перевірив це, щоб знати, що це правда. Ви можете довести це, ввівши щось, що порушить Magento у перейменованому XML, і Magento припинить роботу.

Може бути, код Magento не дискримінує ім'я файлу, а лише розширення в певному місці?

Мій веб-сайт все ще на Magento 1.6.2.0
Занадто сором'язливий для оновлення (він не зламався), але я поклав частину 1.8 Redis і, здається, працює. Я тестую 1.9.2.0, але ще не готовий до прайм-тайму, оскільки деякі мої розширення більше не працюють.

Спробуйте https://github.com/steverobbins/Magento-Redismanager . Мені подобається, тобі це може сподобатися!


Для вашої інформації Magento завантажує .xmlфайли Mage_Core_Model_Configу функціонуванні loadBase(). Це займає все .xmlз функцією PHP glob()на початку$files = glob($etcDir.DS.'*.xml');
Matthéo Geoffray

0

Вдається вирішити проблему, і це най дивніша річ. Коли я змінюю, local.xmlщоб виправити проблему, я помістив резервну копію старого файлу local_back.xml. Я просто видаляю цей файл і тепер все працює нормально. Не маю ідеї, чому Magento підбирає цей файл. У будь-якому випадку питання було вирішено.


1
Тому що magento завантажує кожен XML-файл, app/etc/як ви можете бачити\Mage_Core_Model_Config::loadBase
Fabian Blechschmidt

у мене є біг-маґенто девлопер
Ашвін Монпара

0

Можливо, хтось не розуміє, що відбувається, або моєї відповіді, як в інших зобов'язаннях Magento збирається завантажити все, що закінчується на ".xml". Тож якщо ви хочете створити резервні копії чи копії, які не використовуються для додавання резервного копіювання чи резервного копіювання, або щось інше, НЕ БУДЕ РОБОТИ!

back_local.xml не працюватиме

Якщо ви хочете копії або резервного копіювання, вам потрібно змінити суфікс імені файлу або іншим словом у форматі "local.xml.backup або взагалі вбити .xml. Я використовую local.xml.backup як копію, поки я я тестую, тому що я можу легко видалити ".backup", щоб використовувати його, якщо хочу. Ви завжди можете використовувати "Зберегти як" в редакторі для різних версій, наприклад .back_today чи .back2 тощо.

Для вашої інформації Magento завантажує .xml файли в Mage_Core_Model_Config у функції loadBase (). Він займає всі .xml з функцією PHP glob () на початку $ files = glob ($ etcDir.DS. '*. Xml'); - Маттео Джеффрей 17 лютого 16 о 14:56

Тож під час тестування різних версій використовуйте наведений вище формат.

Що стосується запам'ятовування APC , вони застаріли і не використовують клавіші, як Redis . З того, що я розумію, немає суттєвої різниці між

    <session_save><![CDATA[db]]></session_save>

[файли], [db], [memcache] або інший кеш, оскільки, здається, це більше ситуація часу відгуку сервера та / або жорстких дисків, які використовуються на сервері. Див. " Зберігання сеансу Magento: що вибрати та навіщо ?"

Коли мій VPS (InMotion) змінився на жорсткі жорсткі диски, все було надзвичайно швидше. Я отримував Міллі-другу передачу!

На моїх власних тестових серверах вдома є одне поле, яке використовує швидкість шпинделя HST 10k і кеш-навантаження кеша, як-от 64 Мб (Позначено для використання на сервері), жорсткий диск дуже швидкий, а інша коробка дуже повільна з жорсткими дисками, які ви отримуєте від коробки OEM.

Також багато 8 процесорних ядер та 32 ГБ оперативної пам’яті допомагає багато. Стільки всього, що пропонується в режимі он-лайн як VPS або навіть виділений сервер - це чіт !!! Вам потрібно заглибитися в деталі або ресурси, які ви отримаєте як "Безлімітний", нічого не означає, якщо сервер насправді має спільний хостинг, переданий як щось інше. І не дозволяйте Картинам вводити вас в оману щодо того, яким може бути насправді їхній заклад. Ви можете отримати щось на зразок Хілларі, отримане за її електронною поштою, просто щось у шафі для ванної кімнати. Гак полягає в тому, що вони часто хочуть контракту на рік і більше, щоб отримати хорошу ціну, і це може зайняти місяць або більше, щоб оптимізувати налаштування, перш ніж ви дізнаєтеся, що ви просто на повільному сервері !!!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.