ホームページ > バックエンド開発 > PHPチュートリアル > PHPはmemcacheを操作できません

PHPはmemcacheを操作できません

WBOY
リリース: 2016-06-23 13:38:51
オリジナル
1193 人が閲覧しました

私の phpinfo() は、memcache が利用可能であり、memcached サービスも開始していることを示しています。なぜ php コードはまだ memcache を操作できないのでしょうか?問題の解決方法がわからないので、アドバイスをお願いします。

$memcache = new Memcache();//var_dump($memcache->connect('localhost', 11211));die;if (!$memcache->connect('localhost', 11211))  die('could not connect');$memcache->set('key', 'test');$get_value = $memcache->get('key');echo $get_value;       
ログイン後にコピー

Web ページ上でこの php にアクセスすると、抽象化されたステータスが返されます


ディスカッションに返信 (解決策)

phpinfo() は、memcache が存在し、memcached サービスも開始されていることを示します

Memcache と memcached は異なります。

バックグラウンドプロセスは、サーバーが正常かどうかを確認します

phpinfo() は、memcache が存在し、memcached サービスも開始されていることを示します

Memcache と memcached は異なります。




memcache はクライアント、memcached はサーバー サービスです
memcache が phpinfo() に表示されると述べたのは、php の memcache 拡張機能をインストールしたことを表現するためです。
現在の問題は、拡張機能をインストールしてサービスを開始した後も、PHP が memcache を操作できないことです~

バックグラウンドプロセスでサーバーが正常かどうかを確認します



サーバーが正常であることを確認しました。
Telnet localhost 11211 を使用して memcache に通常どおり接続し、ストレージ操作と読み取り操作を実行できます。

現在の問題は、php が memcache を操作できないことです。

吸収されたステータスは、サーバーではなくクライアントが切断されているはずです
これは主にブラウザーで発生します
php コードのみがこのようになりません
最初に php エラーチェックがオフになっていないことを確認することをお勧めします。エラー表示が開いています

ステータスが吸収されました サーバーが切断されたのではなく、クライアントが切断されたはずです

ブラウザで発生することがほとんどです

PHPコードだけはこのようになりません
確認することをお勧めしますPHP ファースト エラーチェックはオフではなく、エラー表示はオンになります


<?phpini_set('display_errors', 1);$memcache = new Memcache();var_dump($memcache);die();//加上这一行浏览器访问就不是absorted状态if (!$memcache->connect('localhost', 11211))  die('could not connect');$memcache->set('key', 'test');$get_value = $memcache->get('key');echo $get_value;
ログイン後にコピー


5 行目を追加します die(); ブラウザは抽象化された状態ではなく、 object(Memcache)#1 (0) { } を返します
フォローする-up デバッグして問題を見つける 問題は、ここでの $memcache->connect です。このセクションは、localhost を 127.0.0.1 に変更して確認してください。
正常かどうかも確認できます

また、echo $memcache->getVersion(); で正常かどうかも確認できます


localhostに変更しても同様のエラーが発生します

$memcache = new Memcache();

echo $memcache->getVersion();

この場合: 警告: MemcachePool::getversion(): xxx 行 5 の memcache 接続にサーバーが追加されていません
$memcache = を試しますnew Memcache();$memcache->addserver('127.0.0.1', 11211); まだ抽象化されています

$memcache = new Memcache()
$memcache->connect('localhost', 11211); $memcache->getVersion();
接続されていない場合は、エラーが報告されます


memcache の安定版をダウンロードして問題を解決しました

ダウンロード アドレス: http://pecl.php.net/パッケージ/memcache

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート