Maison > Tutoriel CMS > PHPCMS > Que faire si la connexion échoue dans phpcms v9

Que faire si la connexion échoue dans phpcms v9

藏色散人
Libérer: 2020-02-04 10:11:00
original
2495 Les gens l'ont consulté

Que faire si la connexion échoue dans phpcms v9

La connexion à phpcms v9 a échoué ? Solution à l'échec de connexion des membres du site complet phpcmsv9 après https ssl

Que faire si la connexion échoue dans phpcms v9

De nombreux amis ont rencontré ce problème lors de l'utilisation de phpcmsv9. Le problème est qu'après avoir converti l'ensemble du site en https, le centre des membres ne peut pas se connecter normalement. Plus précisément, il n'y a pas de valeur de retour et provoque un échec de connexion. La raison principale est que lorsque le système initialise phpsso, il ne peut pas transmettre les données au correspondant. méthode jusqu'à 443. Lors du dépannage du problème, nous pouvons voir que dans client.class.php, le port par défaut utilisé par le système est 80, il suffit donc de le modifier comme suit pour résoudre le problème des membres incapables de se connecter après https :

Que faire si la connexion échoue dans phpcms v9

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

Ligne 361 à

est modifié comme suit :

$port = !empty($matches['port']) ? $matches['port'] : ( strtolower($matches['scheme'])=='https' ? 443 : 80 );
Copier après la connexion

La ligne 386 remplace :

$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
Copier après la connexion

par

$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);
Copier après la connexion

Site Web PHP chinois, de nombreux Tutoriels PHPCMS gratuits, bienvenue pour apprendre en ligne !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal