Общие Вопросы По Настройке Серверов

Добрый день. При установке cs-cart выходит ошибка Параметр mbstring.func_overload в файле php.ini не может быть больше чем "1"

Файл php.ini найти не могу, хостинг на reg.ru, еще месяца два назад ставил на этот же сервер тестовый магазин, а сейчас не получается. Подскажите куда копать.

Добрый день. При установке cs-cart выходит ошибка Параметр mbstring.func_overload в файле php.ini не может быть больше чем "1"

Файл php.ini найти не могу, хостинг на reg.ru, еще месяца два назад ставил на этот же сервер тестовый магазин, а сейчас не получается. Подскажите куда копать.

В саппорт хостинга писать. Это файл настроек сервера, а не движка. С вероятноятью почти 100% к нему нет доступа у пользователя обычного хостинга.

Если же есть, то он находится в корне МАШИНЫ в папке /etc/ - но пользователю хостинга этот файл доступен либо через панель управления либо никак.

Надо переходить на VPS , с CS-Cart по-другому очень грустно будет.

Коллеги, приветствую!

Требуется ли для Cs-Cart выставлять в php.ini значение у переменной register_globals ?

На моём VPS нужно запускать и другие скрипты, а они ругаются, что переменная не определена: Notice: Undefined variable.

Походу, мне нужно выставить register_globals = on

Коллеги, приветствую!
Требуется ли для Cs-Cart выставлять в php.ini значение у переменной register_globals ?
На моём VPS нужно запускать и другие скрипты, а они ругаются, что переменная не определена: Notice: Undefined variable.
Походу, мне нужно выставить register_globals = on


Насколько мне известно, глобальные переменные не используются. В любом случае - работает без них, значит и с ними будет.

Рекомендую не использовать register_globals (off), опция объявлена устаревшей и удалена в современных версиях интерпретатора. Работоспособность CS-Cart, насколько мне известно, со включенной опцией не проверяется. Также, по возможности, не используйте PHP 5.3.x: последний релиз 5.3.29 состоялся 14 августа 2014 года — на данный момент уже более двух лет (PHP Unsupported branches).

Здравствуйте, Глеб! Рад слышать вас!

Мне, наоборот, хотелось бы поставить в ON

Т.к. при текущих настройках к переменным надо обращаться не $text, а $_GET["text"]

Сейчас на обращение по $text php ругается Notice: Undefined variable.

Здравствуйте, Глеб! Рад слышать вас!

Мне, наоборот, хотелось бы поставить в ON

Т.к. при текущих настройках к переменным надо обращаться не $text, а $_GET["text"]

Сейчас на обращение по $text php ругается Notice: Undefined variable.

Опция потенциально опасна, это прямой путь прострелить себе колени. Бывают случаи, что без этого никак, но лучше стараться избегать таких вещей.

Вдруг возник вопрос... Я давным-давно включил для сессий REDIS.

Однако phpinfo.php показывает мне что

			session.save_handler
		
			files
		
			files
	<p> </p>

Это значит я так и не включил? Или это некая глобальная настройка, а CS-CART все равно в Редисе хранит?

Всё верно, это глобальная настройка, определяющее место для хранения сессий. По умолчанию files. Для размещения интернет-магазина на одном сервере нет принципиальной разницы где: в файлах или в Redis. Эта настройка становится актуальной при работе интернет-магазина в кластере из нескольких серверов приложений.

Прошу помощи. Установил cscart_v4.4.1. Дефолтный htaccess. PageSpeed Insights сигналит включить сжатие страницы. Причем с css, js проблем нет - сжимаются. На VDS сервере крутится несколько других сайтов на других движках проблем со сжатием страниц не наблюдается. Подскажите в чем может быть проблема. Сайт http://рольма.рф

Настройки сжатия заданные в htaccess:

# Compress HTML, CSS, JavaScript, Text, XML, fonts
AddOutputFilterByType DEFLATE application/javascript application/x-javascript text/javascript application/json
AddOutputFilterByType DEFLATE application/x-font application/x-font-opentype application/x-font-otf application/x-font-truetype application/x-font-ttf font/opentype font/otf font/ttf application/x-woff application/x-font-woff
AddOutputFilterByType DEFLATE text/css text/html text/plain
# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent

Всё верно, это глобальная настройка, определяющее место для хранения сессий. По умолчанию files. Для размещения интернет-магазина на одном сервере нет принципиальной разницы где: в файлах или в Redis. Эта настройка становится актуальной при работе интернет-магазина в кластере из нескольких серверов приложений.

Тогда возникает вопрос - а как управлять временем жизни сессий? Если сессия хранится в файле, как изначально, там понятно - php.ini , так у меня и было и есть на другом сайте. Мне же надо чтобы корзина незарегистрированного пользователя жила неделю, что получается с Редисом?

- работает ли настройка самого движка, config.php?

- можно ли это как-то проверить?

- если не работает и нельзя, то как в Редисе задать?

- правильно ли я понимаю, что при рестарте всего сервера (не только Апача!) все хранимое в Редисе стирается, то есть - какие бы настройки времени жизни сессий не были установлены , все сессии прибиваются?

Тогда возникает вопрос - а как управлять временем жизни сессий? Если сессия хранится в файле, как изначально, там понятно - php.ini , так у меня и было и есть на другом сайте. Мне же надо чтобы корзина незарегистрированного пользователя жила неделю, что получается с Редисом?

- работает ли настройка самого движка, config.php?

- можно ли это как-то проверить?

- если не работает и нельзя, то как в Редисе задать?

- правильно ли я понимаю, что при рестарте всего сервера (не т

олько Апача!) все хранимое в Редисе стирается, то есть - какие бы настройки времени жизни сессий не были установлены , все сессии прибиваются?

Да, работает. Обратите внимание на $config['cache_redis_global_ttl'] в config.local.php.

$config['cache_redis_global_ttl'] = 0;

Используйте команду TTL при подключении к Redis для просмотра времени жизни ключа. Работа веб-сервера не влияет на хранение данных в Redis. В зависимости от настроек персистентности, ключи в Redis могут быть сохранены на диск или же вовсе никогда не сохраняться и жить в памяти до истечения TTL или остановки процесса.

Да, работает. Обратите внимание на $config['cache_redis_global_ttl'] в config.local.php.

$config['cache_redis_global_ttl'] = 0;

Используйте команду TTL при подключении к Redis для просмотра времени жизни ключа. Работа веб-сервера не влияет на хранение данных в Redis. В зависимости от настроек персистентности, ключи в Redis могут быть сохранены на диск или же вовсе никогда не сохраняться и жить в памяти до истечения TTL или остановки процесса.

Спасибо большое! В одном туплю, причем здесь

$config['cache_redis_global_ttl'] = 0; (это у меня так)

У меня же

$config['cache_backend'] = 'apc';

И только

$config['session_backend'] = 'redis';

?

Да, и с presistence я в меру скудоумия своего тоже вроде понял. Я смотрел настройки (вроде дефолтные стоят) у меня они скидывать на диск каждые 600 секунд если более 10 изменений и т.п.

Я просто проводил эксперимент - клал в корзину товар, ждал сутки и более - товар в корзине. Но если товар в корзину положить и рестартануть сервер целиком со всеми потрохами - то корзина очищается...

Спасибо большое! В одном туплю, причем здесь

$config['cache_redis_global_ttl'] = 0; (это у меня так)

У меня же

$config['cache_backend'] = 'apc';

И только

$config['session_backend'] = 'redis';

?

Забавно, кстати, но cache_redis_global_ttl не участвует в формировании TTL для сессий. Судя по функции write бэкэнда Redis, время жизни ключа определяется суммой $config['ttl'] и SECONDS_IN_HOUR. Получается, минимум один три часа, при отсутствии всякого вмешательства в константу в config.php.

    public function write($sess_id, $data)
    {
        $this->query('hmSet', $this->id($sess_id), $data);
        $this->query('setTimeout', $this->id($sess_id), $this->config['ttl'] + SECONDS_IN_HOUR); // increase alive time to allow garbage collector move session to stored sessions storage
    $this->query('set', $this->id($sess_id, 'online:'), 1);
    $this->query('setTimeout', $this->id($sess_id, 'online:'), $this->config['ttl_online']);

    return true;
}</pre>


Но если товар в корзину положить и рестартануть сервер целиком со всеми потрохами - то корзина очищается...

Как вы сами верно отметили, если не было достаточного количества изменений в ключах, то они не будут сброшены на диск.

TTL посмотрел, все вроде в порядке. Правдо количество ключей какое-то дикое, несколько тысяч... Но вроде все в порядке - первые почти истекли, те что свежее более 3-х суток и т.д., то есть жизнь кипит .... Непонятно почему рестарт сервера стирает корзину.

В логах у меня исправно идет сохранение... Каждые

Смущает вот что, по команде INFO внизу:

avg_ttl=307973892

То есть блин ДЕСЯТЬ ЛЕТ... И ключей

db0:keys=7963,expires=7963

Про сохранение кажись понял:

5266:C 17 Dec 10:41:08.678 * DB saved on disk
5266:C 17 Dec 10:41:08.679 * RDB: 0 MB of memory used by copy-on-write
1213:M 17 Dec 10:41:08.690 * Background saving terminated with success

Означает ли это что процесс был запущен, но сохранять было нечего и ничего не сохранено? Тогда ясно, ибо сохранения у меня в этом случае редкие:

23910:C 17 Dec 06:27:19.950 * RDB: 1 MB of memory used by copy-on-write
1213:M 17 Dec 06:27:20.002 * Background saving terminated with success
1213:M 17 Dec 06:32:21.074 * 10 changes in 300 seconds. Saving...

То есть >0 когда....

$config['ttl']​ - а это вообще нихт детектед в config.php и config.local.php

Смущает вот что, по команде INFO внизу:

avg_ttl=307973892

То есть блин ДЕСЯТЬ ЛЕТ... И ключей

db0:keys=7963,expires=7963

Я крутею. Вроде про это монял... У меня:

maxmemory 512mb

maxmemory-policy allkeys-lru

Как я понял, это означает что редис может отхватить 512Мб, при этом он плюет на TTL если есть доступные из этих 512 и начинает прибивать ключи только если достигнут максимум памяти. Учитывая что у меня посещаемость 300 чел в сутки, а дебаг ключа показывает

serializedlength:2204

то есть 2К, то 512М закончится примерно на 250 000 ключей, что эквивалентно примерно трехлетней посещаемости...

Вывод: урезать максмемори до 50Мб, я прав?

Здравствуйте! Есть доступ на сервер по ssh и ftp доступ к папке, в которой лежит интернет-магазин. Можно ли через ssh сменить ftp-пароль к этой папке ? Какими командами делается ?