Class" Memcached"在Heroku上找不到

时间:2018-04-06 03:07:02

标签: php heroku memcached lumen

当我在Heroku上运行任何工匠命令时,我遇到了这个问题。它是一个Lumen-PHP项目。我添加了" ext-memcached"到composer.json的require部分,但仍然得到相同的结果。

Screenshot of my terminal

1 个答案:

答案 0 :(得分:2)

我终于抓住了这个并感谢Heroku Docs on Memcached。我引用Heroku Docs:

  

php-memcached客户端不是纯PHP客户端,而是使用libmemcached的PECL扩展。因此,您需要通过OS包管理器安装php-memcached。

确保在本地计算机上安装了Memcached。您可以查看我为Mac OSx创建的gist如何执行此操作。无论如何我会在这里张贴。

brew install libevent
brew install autoconf
brew install libmemcached

//go to
cd /Applications/MAMP/bin/php/php{{VERSION}}/bin

//compile memcached
./pecl install memcached

//go back
cd ../

//Add the memcached.so extension to your php.ini file
echo -e "\n[memcached]\nextension=memcached.so" >> conf/php.ini

//start memcached server
memcached -m 24 -p 11211 -d

//restart MAMPP

您需要修改composer.json文件以包含模块:

{
  "require": {
    "php": ">=7.0.0",
    "ext-memcached": "*"
  }
}

通过运行以下命令确保将新要求“冻结”到composer.lock:

composer update

之后,提交您的更改并运行

git push heroku master

多数民众赞成!!