phpcms v9登录失败怎么办

来源:undefined 2024-12-28 10:36:58 1047

phpcms v9登录失败?phpcmsv9全站 https ssl后会员登录失败解决方法

立即学习PHP免费学习笔记(深入)”;

很多朋友在使用phpcmsv9的时候遇到了这样一个问题,在将全站https化后,会员中心无法正常登录,具体是没有返回值,提示登录失败,主要是原来是系统在初始化phpsso时,无法将数据通过443传输到对应的方法,通过排查问题,可以看到在client.class.php中,系统默认使用的端口是80,所以我们只需要按以下方法修改就可以解决在https后会员无法登录的问题:

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

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

立即学习PHP免费学习笔记(深入)”;

中361行修改如下:

1

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

登录后复制

立即学习PHP免费学习笔记(深入)”;

第386行将:

1

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

登录后复制

立即学习PHP免费学习笔记(深入)”;

替换为

立即学习PHP免费学习笔记(深入)”;

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

$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中文网,大量的免费PHPCMS教程,欢迎在线学习!

以上就是phpcms v9登录失败怎么办的详细内容,更多请关注php中文网其它相关文章!

最新文章