繁体   English   中英

Heroku上的memcached php会话

[英]memcached php sessions on heroku

我已经注意到,当我刷新浏览器时,在heroku上安装的应用程序仅在随机请求上显示会话变量。 我将其归因于该应用程序在5 dynos上运行。

我按照以下教程使用memcachedcloud使用memcached解决了此问题。

https://devcenter.heroku.com/articles/php-sessions#storing-sessions-in-memcached

问题仍然存在。 我正在使用PHP苗条框架,对此是否需要其他配置? 我似乎在苗条的文档中找不到任何内容。

编辑:

由于无法运行,因此无法生成所需的composer.lock文件。

composer update

我得到错误

The requested PHP extension ext-memcached * is missing from your system.

但实际上已安装。 我可以通过键入看到版本。

memcached -h

但键入时不存在

composer show --platform

根据您正在运行的平台,您必须确保您的作曲家已更新。 即使您已安装memcached,它也必须与您的PHP版本匹配。 然后,安装后,运行composer update

例如:

如果您拥有PHP5.6.15,请通过brew install php56/memcachedsudo apt-get install php56/memcached

然后运行composer update

如果在Mac上安装composer时遇到问题,则必须启用rootless安装。 可以在这里找到更多信息:

https://donatstudios.com/OS-X-Mavericks-Memcached-PHP-Extension-Installation

要采取的步骤的要点是:

  • 重新启动计算机并按住Command + R进入恢复模式
  • 从实用程序进入终端
  • 运行csrutil disable并重新启动

这应该在从Homebrew安装memcached之前完成。

希望这可以帮助。

我遇到了类似的问题,我遇到了同样的“ ext-memcached *丢失”错误,并且在运行composer show --platform时看不到ext-memcached

我注意到,当我最初安装memcached时,自制软件向我展示了多种选择。 因此,在Mac OSX El Capitan上,我最终安装了与我的PHP版本匹配的版本:

brew install homebrew/php/php55-memcached

然后我必须将其添加到php.ini中:

extension=/usr/local/Cellar/php55-memcached/2.2.0/memcached.so

您可以通过以下方式获取正确的版本路径:

brew info php55-memcached

然后我重新启动了Apache:

sudo apachectl restart

它终于出现在作曲家列表中,并且我能够无错误地更新作曲家。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM