[英]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/memcached
或sudo apt-get install php56/memcached
。
然后运行composer update
。
如果在Mac上安装composer时遇到问题,则必须启用rootless
安装。 可以在这里找到更多信息:
https://donatstudios.com/OS-X-Mavericks-Memcached-PHP-Extension-Installation
要采取的步骤的要点是:
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.