PHP が Redis に接続できない場合はどうすればよいですか?

PHPz
リリース: 2023-04-24 14:29:57
オリジナル
1105 人が閲覧しました

開発プロセス中、キャッシュおよびデータ ストレージとして Redis を使用することがよくあります。 PHP はサーバーサイド言語として、Redis 拡張機能も適切にサポートしています。ただし、Redis に接続できないなど、Redis に接続するときに問題が発生することがあります。この記事では、発生する可能性のあるいくつかの原因とその解決方法について説明します。

1. Redis がインストールされているかどうかを確認する

Redis に接続する前に、Redis がサーバーにインストールされ実行されていることを確認する必要があります。次の方法でインストールされているかどうかを確認できます:

  1. Redis サービスがすでに実行されているかどうかを確認します:
ps aux | grep redis-server
ログイン後にコピー

redis-server プロセスが表示された場合は、これは、Redis がすでに実行されていることを意味します。

  1. Redis ポートが開いているかどうかを確認します:

Redis のデフォルトのポートは 6379 です。次のコマンドを実行すると、ポートが開いているかどうかを確認できます。

sudo netstat -lnp | grep 6379
ログイン後にコピー

次の内容が表示された場合は、ポート 6379 が開いていることを意味します:

tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      1668/redis-server
ログイン後にコピー

Redis サービスが実行されていない場合、またはポートが開いていない場合は、Redis サービスを開始できます。次のコマンドを使用して、サービスを実行します。

sudo service redis-server start
ログイン後にコピー

2. Redis 接続パラメータを確認します。

Redis に接続するときは、正しい接続パラメータを渡す必要があります。これらのパラメータには、Redis サーバー アドレス、Redis サーバー ポート、および Redis 認証パスワード (設定されている場合) が含まれます。

Redis への接続時に問題が発生した場合は、まずこれらの接続パラメーターが正しいかどうかを確認する必要があります。次の PHP コードを使用して接続パラメーターを確認できます。

$redis = new Redis();
$result = $redis->connect('127.0.0.1', 6379);
var_dump($result);
ログイン後にコピー

このうち、127.0.0.1 は Redis サーバーのアドレスを表し、6379 は Redis サーバーのポートを表します。認証パスワードを設定する必要がある場合は、次のコードを使用して設定できます:

$redis->auth('your_password');
ログイン後にコピー

3. Redis のアクセス権限を確認します

Redis サーバーが認証パスワードを設定している場合は、 Redis に接続するときにも必要です。検証のために正しいパスワードを渡します。そうしないと、Redis に接続できないという問題が発生します。

次の PHP コードを通じて Redis のアクセス許可を確認できます:

$redis = new Redis();
$result = $redis->connect('127.0.0.1', 6379);
if(!$result){
    die('Could not connect to Redis server: '. $redis->getLastError());
}
$result = $redis->auth('your_password');
if(!$result){
    die('Could not authenticate to Redis server: '. $redis->getLastError());
}
ログイン後にコピー

Redis 認証パスワードが間違っている場合、$result は false を返し、$redis-> を渡すことができることに注意してください。 ;getLastError() エラー情報を取得するメソッド。

4. Redis 拡張機能が読み込まれているかどうかを確認する

PHP を使用して Redis に接続する場合は、Redis 拡張機能をインストールして読み込む必要があります。拡張機能がインストールまたはロードされていない場合、Redis は接続されません。

Redis 拡張機能が読み込まれているかどうかは、次の方法で確認できます。

  1. php -m コマンドを実行して、Redis 拡張機能がリストされているかどうかを確認します。
  2. PHP コードで phpinfo() 関数を使用して、Redis 拡張機能が読み込まれているかどうかを確認します。

Redis 拡張機能が読み込まれていない場合は、次の手順で Redis 拡張機能をインストールできます:

  1. Redis 拡張機能をインストールします:
sudo apt-get install php-redis
ログイン後にコピー
  1. Redis 拡張機能を有効にする:

php.ini に次の内容を追加します:

extension=redis.so
ログイン後にコピー
  1. Web サービスを再起動します:
sudo service apache2 restart
ログイン後にコピー

5. まとめ

上記の方法により、Redis に接続できない問題を解決できます。接続のデバッグ プロセス中に、var_dump() 関数と $redis->getLastError() メソッドを通じて接続の詳細を取得できるため、問題の診断と解決が容易になります。

以上がPHP が Redis に接続できない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!