Ошибка CRON для memcached

#1 3 февраля 2015 в 13:30
Здравствуйте!

Включил на сайте кеширование memcached, крон выдает ошибку:
  1. PHP Fatal error: Call to a member function get() on a non-object in /public_html/system/core/cachememory.php on line 81
В чем проблема, подскажите?
#2 3 февраля 2015 в 13:39
есть 2 разных PHP, один работает через Web (когда открывается сайт), второй в консоли (php-cli)
и у каждого из них свой отдельный конфиг, в котором должен быть подключен memcached
для запуска по крону используется php-cli
раз появляется такая ошибка, значит memcached у вас не подключен для php-cli
#3 3 февраля 2015 в 13:50
r2, хорошо, спасибо. Напишу об этом хостеру!
#4 5 февраля 2015 в 14:59
Вадим Нарочный, во что ответил хостер:

Здравствуйте.

Для диагностики проблемы создали тестовый скрипт в корне аккаунта, который подключается к memcached заносит данные и выводит их, запуск производится через PHP CLI:

narochnyi@amber:~$ php test.php
Версия сервера: 1.4.13<br/>
Данные сохранены в кеше. (время жизни данных 10 секунд)<br/>
Данные из кеша:<br/>
object(stdClass)#3 (2) {
["str_attr"]=>
string(4) "test"
["int_attr"]=>
int(123)
}

Проблем не наблюдаем, к сожалению, с нашей стороны не производится анализ работы пользовательского кода. Для решения данной проблемы вам необходимо обратиться к разработчику сайта или в поддержку CMS.

Если скрипт корректно выполняется через браузер, то вы можете привести задачу к следующему виду:

/usr/bin/wget -O /dev/null "ваш_сайт/путь/до/скрипта/script.php? параметр1=значение1&параметр2=значение2".

Команда wget отправляет запрос, имитируя работу веб-браузера.


Что нужно сделать, не понял!?
#5 2 сентября 2015 в 15:59
Откройте index.php, найдите там строчку

  1. // Запускаем кеш
  2. cmsCache::getInstance()->start();
и перенесите ее в файл bootstrap.php в самый конец
#6 11 сентября 2015 в 00:06
если у меня аналогичная ошибка, то сдеать надо также?

Но при попытке выполнить указанные команды на сервере вручную, мы видим следующие сообщения об ошибках:
php -f /var/www/admin/www/cron.php > /dev/null
PHP Fatal error: Call to a member function get() on a non-object in /var/www/admin/www/system/core/cachememory.php on line 81

#7 11 сентября 2015 в 00:10
Нет
#8 11 сентября 2015 в 00:11


Нет

lokanaft
а что надо сделать?
#9 26 декабря 2015 в 12:28
Наблюдаю такую же проблему. И из веба, и из командной строки. Причем, ошибка появляется не всегда. Правда, на 2.3 ещё не обновился.

Начиная с версии 2.3 проблема решена.

  1. PHP Fatal error: Call to a member function get() on null in /.../system/core/cachememory.php on line 81
memcache.so подключен в php.ini

ii memcached 1.4.21-1.1 amd64 high-performance memory object caching system
ii php5-memcache 3.0.8-5 amd64 memcache extension module for PHP5

PHP 5.6.14-0+deb8u1 (cli) (built: Oct 4 2015 16:13:10)
Copyright © 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright © 1998-2015 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright © 1999-2015, by Zend Technologies
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.

Похожие темы

[ЕСТЬ РЕШЕНИЕ] Fatal error: session_start()

Релизы 2.X Создана 3 года назад 7 сообщений

Пустая ошибка Cron

Релизы 2.X Создана 1 месяц назад 1 сообщение

CRON PHP Warning

БАЗЫ ДАННЫХ/ SQL / MySQL Создана 17 дней назад 2 сообщения

Очистка upload по cron

Разработка дополнений Создана 4 года назад 68 сообщений

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.