Назад | Перейти на главную страницу

Различные локальные значения и основные значения для настроек сеанса PHP

Я настроил PHP 5.4.16 (cli) (built: Jun 23 2015 21:17:27) на Centos7.0 использовать memcached для обработки сеанса.

[Session]
; Handler used to store/retrieve data.
; http://php.net/session.save-handler
session.save_handler = memcached

session.save_path = "tcp://127.0.0.1:11211"

В соответствии с phpinfo(), местные ценности для session.save_handler & session.save_path отличаются от основных значений.

Основные значения указаны в файле php.ini.

Я не вижу, чтобы эти локальные значения были установлены в .htaccess, в / etc / httpd или в базе кода PHP.

Есть ли где-то еще, откуда они могут поступить, или эти резервные значения могут указывать на проблему с моим memcached конфигурация. Если да, то как это исправить?

Я могу проверить это memcached работает на примере вроде это от Digital Ocean и просмотр данных в сеансе telnet.

<?php

$mem = new Memcached();
$mem->addServer("127.0.0.1", 11211);

$result = $mem->get("blah");

if ($result) {
    echo $result;
} else {
    echo "No matching key found.  I'll add that now!";
    $mem->set("blah", "I am data!  I am held in memcached!") or die("Couldn't save anything to memcached...");
}
?>

Я также пробовал добавить эти строки в файл .htaccess.

php_flag session.save_handler "memcached"
php_flag session.save_path "127.0.0.1:11211"

Но значения оказались обнуленными.

Пакет PHP Centos 7.0 поставляется с дополнительным файлом конфигурации Apache, который по ошибке называется php.ini. Он содержит инструкции, которые отменяют session.save_handler и session.save_path переменные.

$ egrep -rI php_  /etc/httpd/
/etc/httpd/conf.d/php.conf:php_value session.save_handler "files"
/etc/httpd/conf.d/php.conf:php_value session.save_path    "/var/lib/php/session"