我注意到我在heroku上设置的应用程序仅在刷新浏览器时显示随机请求的会话变量。我把它归结为应用程序在5个dynos上运行。
我按照以下教程使用memcachedcloud解决了这个问题。
https://devcenter.heroku.com/articles/php-sessions#storing-sessions-in-memcached
问题仍然存在。我正在使用PHP slim框架,我还需要进一步的配置吗?我似乎无法在苗条的文档中找到任何东西。
编辑:
我无法生成所需的composer.lock文件,因为它在运行时。
composer update
我收到错误
The requested PHP extension ext-memcached * is missing from your system.
但事实上已经安装好了。我可以看到打字版本。
memcached -h
但输入
时不存在composer show --platform
答案 0 :(得分:0)
根据您正在运行的平台,您必须确保该作曲家更新。即使你安装了memcached,它也必须与你的PHP版本相匹配。然后,安装完成后,运行composer update
例如:
如果你有PHP5.6.15,请使用brew install php56/memcached
或sudo apt-get install php56/memcached
获取memcached。
然后运行composer update
。
如果您在Mac上安装composer时遇到问题,则必须启用rootless
安装。更多信息可以在这里找到:
https://donatstudios.com/OS-X-Mavericks-Memcached-PHP-Extension-Installation
要采取的步骤的要点是:
csrutil disable
并重新启动这应该在从Homebrew安装memcached
之前完成。
希望这有帮助。
答案 1 :(得分:0)
我有一个类似的问题,我得到的相同" ext-memcached *缺失"运行ext-memcached
时无法看到composer show --platform
错误。
我注意到当我最初安装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
它最终出现在作曲家列表中,我能够毫无错误地更新作曲家。