Я настроил 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"