【问题标题】:Trying to setup Memcached with Symfony running on NGINX/HHVM尝试使用在 NGINX/HHVM 上运行的 Symfony 设置 Memcached
【发布时间】:2023-03-16 00:33:01
【问题描述】:

我已经安装了 memcached 并按照以下人员的测试工作:

nc -U /var/run/memcached/memcached.sock
stats
STAT pid 16360
STAT uptime 2246
STAT time 1412217254
STAT version 1.4.14 (Ubuntu)
STAT libevent 2.0.21-stable
STAT pointer_size 64
STAT rusage_user 0.032563
//and so on...

我遇到的问题是,当 symfony 加载并调用 session_start() 时,它会抛出一个错误:

致命错误:无法初始化存储模块: 第 147 行 /var/www/project/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php 中的用户(路径:/var/run/memcached/memcached.sock)

我尝试了很多不同的方式来配置 session.save_path 总是会出现相同的错误,只是路径不同:

session.save_path = "/var/run/memcached/memcached.sock"
session.save_path = "unix:/var/run/memcached/memcached.sock"
session.save_path = "unix:///var/run/memcached/memcached.sock"
session.save_path = /var/run/memcached/memcached.sock
session.save_path = unix:/var/run/memcached/memcached.sock
session.save_path = unix:///var/run/memcached/memcached.sock

有人知道我为什么无法开始会话吗?

版本信息:

Ubuntu: 14.04.1
NGINX: 1.4.6
HHVM-nightly: 3.4.0-dev+2014.10.01
memcached: 1.4.14
symfony: 2.5.5

更新 我一直在挖掘并尝试不同的配置。如果我使用配置有以下会话参数的 apache/php5.5.17 运行 symfony,它可以工作:

session.handler_name: memcached
session.save_path = "127..0.0.1:11211"

我也用 nginx/hhvm 尝试过这个配置,但我仍然得到同样的错误。

【问题讨论】:

  • 您使用的是哪个特定版本的 Symfony? (版本标签 # 或提交 ID)
  • 我使用的是 2.5.5 版

标签: php symfony nginx memcached hhvm


【解决方案1】:

这是因为 HHVM 没有内置的 memcache[d] 会话处理程序。它只带有 Redis 和文件。

您可以使用其中一个后端,也可以使用 SessionHandlerInterfacesession_set_save_handler 实现自己的后端

【讨论】:

  • 我找到了另一个链接,其中包含我需要的 memcached 类和服务配置才能使其正常工作。谢谢
  • 你能分享一下你是怎么做到的吗?我面临同样的问题。谢谢
猜你喜欢
  • 2015-06-10
  • 1970-01-01
  • 1970-01-01
  • 2016-01-03
  • 2014-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多