ホームページ  >  記事  >  CMS チュートリアル  >  phpcms v9 でログインに失敗した場合の対処方法

phpcms v9 でログインに失敗した場合の対処方法

藏色散人
藏色散人オリジナル
2020-02-04 10:11:002459ブラウズ

phpcms v9 でログインに失敗した場合の対処方法

#phpcms v9 ログインに失敗しましたか? phpcmsv9 フルサイト https ssl メンバーログイン失敗の解決策

phpcms v9 でログインに失敗した場合の対処方法

phpcmsv9 を使用しているときに多くの友人がこの問題に遭遇しました。サイト全体を https に変換した後、メンバーセンターが正常にログインできなくなります。具体的には、戻り値がなくなり、ログイン失敗が表示されます。主な原因は、システムが phpsso を初期化する際に、対応するメソッドにデータを送信できないことです。 443. 問題のトラブルシューティングを行うには、client.class.php で、システムが使用するデフォルトのポートが 80 であることがわかります。そのため、https の後にメンバーがログインできない問題を解決するには、次のように変更するだけで済みます。 :

phpcms v9 でログインに失敗した場合の対処方法

##phpcms/modules/member/classes/client.class.php

# の 361 行目は次のように変更されます:

$port = !empty($matches['port']) ? $matches['port'] : ( strtolower($matches['scheme'])=='https' ? 443 : 80 );

386 行目は次のように置き換えられます:

$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);

付き

$contextOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false
    )
);
 
//如果有签名的证书
//$contextOptions = array(
//    'ssl' => array(
//        'verify_peer' => true, 
//        'cafile' => '/path/to/cacert.pem',
//        //'CN_match' => 'indexroot.net', // 匹配域名
//        'ciphers' => 'HIGH:!SSLv2:!SSLv3',
//        'disable_compression' => true,
//    )
//);
 
$context = stream_context_create($contextOptions);
$fp = stream_socket_client("ssl://{$host}:{$port}", $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $context);

PHP 中国語 Web サイト、多数の無料

PHPCMS チュートリアル

、オンライン学習へようこそ!

以上がphpcms v9 でログインに失敗した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。