問題タブ [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.

0 投票する
1 に答える
493 参照

python - Python および ffmpeg heroku ビルドパックが LD_LIBRARY_PATH を上書きしないようにする

Django アプリを heroku にデプロイしていますが、これには ffmpeg が必要です。これを達成するために、heroku-buildpack-multiを使用して heroku -buildpack-ffmpegheroku-buildpack-python の両方をインストールしていますが、すべて正常に動作します。django-pylibmc-sasl問題は、アプリも、、、などpython-memcachedに依存していることですpylibmc。いつものように、heroku が感知して自動的にインストールlibmemcachedしてくれます。

ここで、少し問題が発生します。カスタム ビルドパックを削除すると、すべて正常に動作します (明らかに ffmpeg を除く)。ただし、追加するとすぐに、実行できますがffmpeg、pythonは失敗しますimport pylibmc(またはimport _pylibmc、モジュール自体の内部で)。頭を悩ませた後、環境変数を確認することにしました。得られたものは次のとおりです。

Python ビルドパックのみを有効にした場合:

Python と ffmpeg ビルドパックの両方が有効になっている場合:

ビルドパックの一方または両方が単純に他方を上書きするか、変数が既に設定されている場合は設定を回避しているようです。ffmpeg ビルドパックは、私にはコーシャに見えるように設定されているようですがLD_LIBRARY_PATH、Python ビルドパックは、理由がよくわからないいくつかのことを行います。

解決

とにかく、 を使用してライブラリ パスを手動でオーバーライドした後、とのheroku config:set LD_LIBRARY_PATH=/app/.heroku/vendor/lib:vendor/ffmpeg/lib両方を使用できますが、堅牢すぎるとは感じません。ビルドパック パス設定の 1 つで何かが変更された場合、または別のビルドパックを追加した場合は、ライブラリ パス変数を手動で編集する必要があります。libmemcachedffmpeg

より良い解決策?

ですから、これは緊急の質問ではありませんが、私が知りたいのは次のとおりです。

  • この問題を解決するより良い方法はありますか?
  • パスの競合につながる構成エラーが発生した可能性がありますか?
  • これはいずれかのビルドパックのバグと見なす必要がありますか?
0 投票する
1 に答える
549 参照

php - Memcache クラスがまだ見つかりません

サーバーで Memcache を動作させるのに多くの問題があります。

私は持っている:

アパッチ2.4

PHP 5.5.11

Memcache 3.0.8 ts vc11 x86

私は行を配置しました:

エラーなしで正しくロードされている私のphp.iniファイルでは:

ext ディレクトリから php_memcache.dll を削除するとエラーが発生するため、間違いなくそれを見つけて正しい php.ini ファイルを使用しています。

テストページを実行すると、memcache モジュールの詳細が表示されない php_info() が表示され、そのページの下部に新しい memcache オブジェクトを作成しようとします。

しかし、私は得る:

致命的なエラー: クラス 'Memcache' が C:\Web Server\Apache24\htdocs\index.php の 5 行目に見つかりません

過去2日間、グーグルでさまざまなバージョンなどを試してみましたが、成功はありませんでした。

どうすればこれを機能させることができますか?


アップデート

コマンド ラインを使用してテスト php ファイルを実行すると、エラーは発生せず、Memcache 関数を使用できます。

ブラウザを使用すると正しく動作しないのはなぜですか??

0 投票する
2 に答える
252 参照

mysql - MySql 5.6 と libmemcached.so の欠落

Debian で Mysql 5.5 を 5.6 に更新した後、memchached の使用を開始したいと考えています。/usr/lib/mysql/plugin/ に libmemcached.so プラグインが表示されません。このプラグインをインストールして使用するにはどうすればよいですか?

0 投票する
0 に答える
188 参照

php - PHPでmemcacheでsetOption関数を使用する

Memcacheサーバーに接続して遊んでいるために、memcache拡張機能を使用しています。しかし今、このライブラリには存在しないが、 Memcached::setOptionという Memcached に存在する関数を使用したいと考えています。

コード全体を Memcache から Memcached に移動するのは非常に困難です。

どこでもコードを変更せずに setOption 関数の機能を使用できる方法はありますか?

0 投票する
0 に答える
456 参照

php - CLI 経由で実行する場合の PHP+Memcached 例外

最近、ZF2 が提供する Memcached キャッシュ アダプターの使用を開始しました。Web ブラウザー (Apache HTTP サーバー) を使用すると、サーバーは完全に実行されているように見えますが、CLI からアプリケーションを実行すると、2 つの異なる例外が見られました。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 アダプターは メソッドとメソッドに基づいて例外をスローしMemcached::getResultMessage()ます。これ以前は、単に結果コードやメッセージをチェックしていなかったため、ずっと発生していた可能性があります。

私の開発環境の仕様は次のとおりです。

  • PHP 5.5 と Memcached 2.2.0 (PECL)
  • Memcached 1.4.20
  • libmemcached 1.0.18
  • Zend フレームワーク 2

編集: 問題を単一のコントローラーの単一のアクションに絞り込みましたが、なぜこれが起こっているのかについてはまだ途方に暮れています。基本的に一連の cron ジョブをループし、独自のプロセスでフォークする ZF2 コントローラー アクションがあります。こんなふうになります...

  1. cron ジョブをループする
  2. 実行pcntl_fork()して新しいプロセスを作成する
  3. 走るexec('/usr/bin/php index.php JOB_NAME')

結局のところ、3 番目のステップは問題なく実行されます。各ジョブは期待どおりに実行されていますが、フォークによって親プロセスの Memcached に問題が発生しているようです。それが私が今いる場所です。

0 投票する
4 に答える
4136 参照

python - ピップはpylibmcをインストールできません

CentOS リリース 6.5 (最終版)。

Virtualenv を使用する Python 2.7.5。

@development-tools がインストールされました。

これは、インストールを試みた結果pylibmcです。

誰でも助けることができますか?

0 投票する
1 に答える
366 参照

linux - Debian Wheezy で SASL を使用して libmemcached をビルドする

inとinを使用libmemcached-1.0.18して Debian Wheezyを構築しようとしています。実行すると、次の構成になります。libsasl2/usr/lib/x86_64-linux-gnu/libsasl2.somemcached/usr/bin/memcached./configure --with-memcached-sasl --prefix=/opt/libmemcached

それでも、make && make install結果でビルドすると、シンボル定義libmemcached.soが欠落しています。sasl_*これは壊れpylibmcます。からの出力は次のnm -D /opt/libmemcached/lib/libmemcached.soとおりです。

SASL サポートを使用し./configureてビルドするには、どのオプションを使用すればよいですか?libmemcached