有没有人让 memcached 在 Laravel Homestead php7 盒子上工作?
Posted
技术标签:
【中文标题】有没有人让 memcached 在 Laravel Homestead php7 盒子上工作?【英文标题】:Has anyone got memcached to work on Laravel Homestead php7 box? 【发布时间】:2016-01-09 11:03:47 【问题描述】:我在新的 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)”。问题仍然存在于如何让它发挥作用。
【问题讨论】:
现在正在 Forge 上工作,太棒了 当我进行非常基本的测试时,Memcached(以“d”结尾)在 Windows 10 上的 Laravel 5.4 Homestead 上为我工作。但是,某些键/值无法保存,我还没有找出原因。 啊,只有我的基本测试有效,而不是更复杂的案例,因为我误解了标签的工作原理。我不知道我还需要在get
期间指定标签(我仍然不明白为什么)。
【参考方案1】:
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
。
【讨论】:
这是否也需要build-essential
(gcc) 和/或php7-dev
包?
@fideloper :我必须安装 php7.0-dev
和 libmemcached-dev
【参考方案2】:
我有同样的问题,但在 Windows 上使用 XAMPP
。看来memcached
目前仅适用于 PHP 5+。
Windows 用户的问题是找到正确的 .dll 文件名为
php_memcache.dll
(x86/x64 平台)。
我花了几个小时寻找解决方案,但没有找到。如何使用memcached
的非常新鲜的描述在这里:
HOW TO: Install Memcache on XAMPP (Windows 7/8/10)
我们还需要等待 PHP7+ 的实现。
【讨论】:
以上是关于有没有人让 memcached 在 Laravel Homestead php7 盒子上工作?的主要内容,如果未能解决你的问题,请参考以下文章
有没有人让 OQTANE 在 AWS 应用程序负载均衡器后面工作