博客的主题里的追番页面不能正常显示,按照提示逐一排查依旧不能解决,所以直接去看主题的源码,找到了关键代码.
经过测试,我发现是file_get_contents方法的问题,但是没有具体报错不好解决,所以要去找php报错日志看看,然后发现日志没开,开启php-fpm错误日志输出:
--修改
/usr/local/php/etc/php-fpm.conf
--加上
php_admin_value[error_log] = /usr/local/php/var/log/php_errors.log
php_admin_flag[log_errors] = on
--新建错误日志文件
touch /usr/local/php/var/log/php_errors.log && chown www:www /usr/local/php/var/log/php_errors.log
--重启php-fpm
systemctl restart php-fpm
使用 tail -f监控php_errors.log文件,刷新博客报错页面,得到错误输出信息
file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL
搜索引擎一搜,果然有人遇到同样的报错,证书验证的问题,关了就好了.
按照网上的解决方法修改一下代码,顺便修改了下id的默认值为自己的id..
保存更新,刷新下错误页面,解决!
原代码:
$bgm = file_get_contents("https://api.bgm.tv/user/" . $uid . "/collection?cat=playing");
修改:
$arrContextOptions=array(
"ssl"=>array(
"verify_peer"=>false,
"verify_peer_name"=>false,
),
);
$bgm = file_get_contents("https://api.bgm.tv/user/" . $uid . "/collection?cat=playing",false,stream_context_create($arrContextOptions));