【问题标题】:Class "Memcached" not found on Heroku在 Heroku 上找不到类“Memcached”
【发布时间】:2018-09-16 00:03:30
【问题描述】:

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

Screenshot of my terminal

【问题讨论】:

标签: php heroku memcached lumen


【解决方案1】:

感谢Heroku Docs on Memcached,我终于解决了这个问题。我引用 Heroku 文档:

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

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

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

就是这样!!

【讨论】:

    猜你喜欢
    • 2015-06-29
    • 1970-01-01
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 2015-06-12
    • 1970-01-01
    • 2017-10-24
    相关资源
    最近更新 更多