La connexion à phpcms v9 a échoué ? Solution à l'échec de connexion des membres du site complet phpcmsv9 après https ssl
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 :
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!