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

Que faire si la connexion échoue dans phpcms v9

藏色散人
藏色散人original
2020-02-04 10:11:002411parcourir

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 );

La ligne 386 remplace :

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

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);

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!

Déclaration:
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