我正在升级我的 Symfony 2 项目,它与 lws_memcache Bundle 一起使用。

现在我收到以下错误:



该文件位于 lws_memcache Bundle 的供应商中,因此我无法更改代码。

我的 memcached 服务器的版本是 1.4.14,捆绑包本身是最新的版本。

当我将鼠标悬停在供应商代码中的 Class \MemcachePool 上时,这就是我的 IDE (PHPStorm 8) 显示的内容。



有什么我可以做的吗?

最佳答案

LswMemcacheBundle 包与 memcache 3.0.6 或更高版本兼容。我在使用 php-memcache 2.2.x 时遇到了同样的错误。

尝试将您的 php-memcache 升级到新的 (3.0.8),但首先您需要编辑公式并设置标志 brew edit php56-memcache :

.  20     safe_phpize
.  21
+  22     ENV['MACOSX_DEPLOYMENT_TARGET'] = '10.11'
+  23     ENV['CFLAGS'] = '-fgnu89-inline'
+  24     ENV['LDFLAGS'] = '-fgnu89-inline'
+  25     ENV['CXXFLAGS'] = '-fgnu89-inline'
+  26
.  27     system "./configure", "--prefix=#{prefix}",
.  28                           phpconfig
.  29     system "make"

$ brew uninstall homebrew/php/php56-memcache
$ brew install homebrew/php/php56-memcache --devel

然后重启php-fpm + nginx。

关于php - Symfony 2 : MemcachePool not found,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31450903/

10-13 05:28