セットアップ: アパッチ; PHP 5.2.9; libevent (memcached の場合は必須) バージョン 1.3; memcached サーバー バージョン 1.2.2 (1.4.5、1.4.0 を試し、現在は 1.2.2 にダウングレード、違いなし); memcached php pecl モジュール バージョン 2.2.6。
問題:
未解決の問題と同様に、memcacheに値を保存できず、非常に奇妙な PHP エラーが発生します
これらのスレッドはどれも問題を解決しておらず、質問の作成者はいずれも与えられた推奨事項に従いませんでした。私はそれらすべてに従いましたが、それでも機能しません。
Memcache
PHP経由で接続している場合、コードはエラーを表示しませんが、コマンド( などgetVersion
)を実行しようとするとすぐに、次の応答が返されます。
Notice: memcache_get_version() [function.memcache-get-version]: Server 127.0.0.1 (tcp 11211) failed with: Failed reading line from stream (0) in /var/www/html/memcache.php on line 11
試した解決策:
コマンド ライン経由での memcache への接続が機能していません。コマンドを入力すると、接続が閉じます。
[/usr/local/src]$ telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
stats
Connection closed by foreign host.
$ memcached -S
memcached が SASL サポートを無効にしてコンパイルされていることを確認しようとしました。応答: 「このサーバーは SASL をサポートするように構築されていません。」
また、コメントの一つに
次のように、ASCII プロトコルをサポートせずに memcached を実行している可能性があります。
$ memcached -B binary
この場合、
-B
引数を完全に削除すると、PHP と telnet が機能するはずです。
memcache の開始行は次のとおりです。
memcached -d -m 1024 -u root -l 127.0.0.1 -p 11211
その中に B 引数はありません。
何か案は?