问题标签 [libmemcached]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - 使用 Django 存储和 S3 在 collectstatic 上出现 MemcachedError
我在 Heroku 上部署了一个简单的 Django 应用程序。当我运行collectstatic
将静态文件上传到 S3 时,出现以下错误:
在 heroku 上设置了以下环境变量:
我已经为此苦苦挣扎了几天。昨天,我意识到其中一个 env 变量有一个拼写错误的重复项。删除拼写错误的 env 变量后,该collectstatic
命令运行良好,文件已上传到 S3。现在我正在使用另一个应用程序并且无法让它工作。
已存在同名的空 S3 存储桶。我已经尝试过用户特定和账户范围的 AWS 凭证,但都没有奏效。
php - 安装 PECL Memcached 错误
我按照以下步骤在我的 Centos 服务器中安装 PECL memcached,总是出错。
第一的。安装 libmemcached
其次,安装PECL memcached
我总是出错
实际上memcached.h
文件在目录中/opt/libmemcached-0.40/libmemcached
。
请指教。
python - 防止 python 和 ffmpeg heroku buildpacks 覆盖 LD_LIBRARY_PATH
我正在将 Django 应用程序部署到 heroku,这需要 ffmpeg。为了实现这一点,我使用heroku-buildpack-multi来安装heroku-buildpack-ffmpeg和heroku-buildpack-python,所有这些都可以正常工作。问题是我的那个应用程序也依赖于django-pylibmc-sasl
, python-memcached
,pylibmc
等。像往常一样,heroku 会感知并自动libmemcached
为我安装。
这里有些地方出了点问题。如果我删除自定义 buildpack 一切运行正常(显然 ffmpeg 除外)。然而,一旦我添加它,虽然我可以运行ffmpeg
,python 失败import pylibmc
(或者更确切地说是import _pylibmc
在模块本身内部)。经过一番摸索后,我决定看一下环境变量,这就是我得到的:
仅启用 Python buildpack:
同时启用 Python 和 ffmpeg 构建包:
看起来一个或两个构建包只是简单地覆盖另一个,或者避免设置已经设置的变量。ffmpeg buildpack 的设置LD_LIBRARY_PATH
方式对我来说似乎很干净,而 Python buildpack 做了一些 我不太明白原因的事情。
解决方案
无论如何,在使用手动覆盖库路径后,heroku config:set LD_LIBRARY_PATH=/app/.heroku/vendor/lib:vendor/ffmpeg/lib
我可以同时使用libmemcached
and ffmpeg
,但感觉不太健壮。如果其中一个 buildpacks 路径设置发生了变化,或者我添加了另一个 buildpack - 那么我将不得不手动编辑库路径变量。
更好的解决方案?
所以,虽然这根本不是一个紧迫的问题,但我只是想知道:
- 有没有更好的方法来解决这个问题?
- 可能我犯了一些导致路径冲突的配置错误吗?
- 这是否应该被视为任一构建包中的错误?
php - 仍未找到 Memcache 类
让 Memcache 在我的服务器上工作时遇到了很多麻烦。
我有:
阿帕奇 2.4
PHP 5.5.11
内存缓存 3.0.8 ts vc11 x86
我已经放置了这条线:
在我正确加载且没有错误的 php.ini 文件中:
如果我从我的 ext 目录中删除 php_memcache.dll 我会得到错误,所以它肯定会找到它并使用正确的 php.ini 文件。
当我运行我的测试页面时,它显示没有 memcache 模块详细信息的 php_info(),并且在该页面的底部我尝试创建一个新的 memcache 对象:
但我得到:
致命错误:第 5 行的 C:\Web Server\Apache24\htdocs\index.php 中找不到类“Memcache”
在过去的两天里,我一直在谷歌搜索并尝试不同的版本等,但没有成功。
我怎样才能让它工作?
更新
如果我使用命令行执行我的测试 php 文件,则不会出现错误,并且可以使用 Memcache 函数。
为什么我使用浏览器时不能正常工作?
mysql - MySql 5.6 和缺少 libmemcached.so
在 debian 上将 Mysql 5.5 更新到 5.6 后,我想开始使用 memchached。在 /usr/lib/mysql/plugin/ 我没有看到 libmemcached.so 插件。我如何安装和使用这个插件?
php - 在 php 中使用带有 memcache 的 setOption 函数
我正在使用memcache扩展来连接和使用 Memcache 服务器。但是现在,我想使用这个库中不存在但存在于 Memcached 中的函数,称为Memcached::setOption
将整个代码从 Memcache 移动到 Memcached 对我来说真的很困难。
有什么方法可以使用 setOption 函数的功能,而无需更改任何地方的代码?
php - 通过 CLI 运行时的 PHP+Memcached 异常
我们最近开始使用 ZF2 提供的 Memcached 缓存适配器。虽然在使用 Web 浏览器 (Apache HTTP Server) 时服务器似乎运行良好,但从 CLI 运行应用程序时我发现了两个不同的异常。Zend\Session\SaveHandler\Cache
将会话写入内存时似乎会发生异常。
第一个异常返回错误代码 47 ( MEMCACHED_SERVER_TEMPORARILY_DISABLED
)。在用尽了许多选项之后,我决定尝试重新编译 Memcached、libmemcached 和 PECL 扩展。这样做之后,我开始得到一个不同的结果代码——26 ( MEMCACHED_ERRNO
)。此代码的结果消息为“SYSTEM ERROR: Broken pipe”。
在缓存适配器中,该internalSetItem($normalizedKey, $value)
方法检查返回的布尔值Memcached::set($key, $value, $expiration)
。Memcached::getResultCode()
如果为false,则发生了故障,ZF2适配器会根据andMemcached::getResultMessage()
方法抛出异常。在此之前,我们根本没有检查结果代码或消息,因此它可能一直都在发生。
我的开发环境规范如下:
- PHP 5.5 和 Memcached 2.2.0 (PECL)
- 内存缓存 1.4.20
- Libmemcached 1.0.18
- Zend 框架 2
编辑: 我已将问题缩小到单个控制器中的单个操作,但我仍然不知道为什么会发生这种情况。我们有一个 ZF2 控制器操作,它基本上循环通过一堆 cron 作业并将它们分叉到自己的进程中。事情是这样的……
- 循环执行 cron 作业
- 运行
pcntl_fork()
以创建新进程 - 跑
exec('/usr/bin/php index.php JOB_NAME')
事实证明,第三步执行没有任何问题。每个作业都按预期运行,但似乎分叉正在父进程中创建 Memcached 问题。这就是我现在的位置。
encoding - How can I reduce memcached key size using base64 encoding?
Here you can read:
64-bit UID's are clever ways to identify a user, but suck when printed out. 18446744073709551616. 20 characters! Using base64 encoding, or even just hexadecimal, you can cut that down by quite a bit Blockquote
but as far I know 18446744073709551616 will result in a bigger string if is encoded using Base64. I know that I´m missing something, cos those memecached people are smart and in the doc they mentioned more than one time that using Base64 encoding could be useul to improve a key before store it into the memcahed. How is that?
python - pip 无法安装 pylibmc
CentOS 6.5 版(最终版)。
使用 Virtualenv 的 Python 2.7.5。
@development-tools 已安装。
这是尝试安装的输出pylibmc
:
任何人都可以帮忙吗?
linux - 在 Debian Wheezy 上使用 SASL 构建 libmemcached
我正在尝试使用in和inlibmemcached-1.0.18
在 Debian Wheezy 上构建。当我运行时,我最终得到以下配置:libsasl2
/usr/lib/x86_64-linux-gnu/libsasl2.so
memcached
/usr/bin/memcached
./configure --with-memcached-sasl --prefix=/opt/libmemcached
make && make install
然而,当我使用结果构建时,libmemcached.so
缺少sasl_*
符号定义。这打破了pylibmc
。这是来自的输出nm -D /opt/libmemcached/lib/libmemcached.so
:
我应该使用哪些选项./configure
来构建libmemcached
SASL 支持?