有没有人让 memcached 在 Laravel Homestead php7 盒子上工作?

Has anyone got memcached to work on Laravel Homestead php7 box?

我在新的 Homestead php7 盒子上加载了 Laravel/Lumen 并遇到了这个错误:

FatalThrowableError in MemcachedConnector.php line 51:
Fatal error: Class 'Memcached' not found

执行 phpinfo(); 显示没有 memcached 扩展,但 sudo service memcached status 表示 memcached 是 运行。这里似乎有一个用于 memcached 的 php7 分支:https://github.com/php-memcached-dev/php-memcached/tree/php7

任何人都可以指导我如何让它在新的 php7 Homestead VM 中工作吗?

编辑:我刚刚在 homestead install documentation 上看到它说 "Memcached (PHP 5.x Only)"。关于如何让它工作的问题仍然存在。

PHP7 的 php-memcached 工作尚未完成,并非所有测试都通过;我想你可以使用除 JSON 序列化之外的所有东西。

PHP7 不支持 pecl,所以现在您需要手动安装扩展,如下所示:

git clone https://github.com/php-memcached-dev/php-memcached
cd php-memcached
git checkout php7
phpize
./configure
make
sudo make install

您必须确保 phpize 是 PHP7 版本。此外,如果您的 PATH 中的 php 不是 PHP7,那么您的 PATH 中的 php-config 也不是,在这种情况下您必须将 --with-php-config=/absolute/path/to/php7-config 传递给 ./configure.

我有同样的问题,但是在 Windows 使用 XAMPP 时。似乎 memcached 目前仅适用于 PHP 5+。

Windows 用户的问题是找到正确的 .dll 文件命名 php_memcache.dll(x86/x64 个平台)。

我花了几个小时寻找解决方案,但一无所获。非常新鲜的说明如何使用memcached在这里:

我们还需要等待 PHP7+ 实施。