查看: 6|回复: 0

xiuno 兼容php7.4及以上

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 打卡月天数:6
  • 打卡总奖励:157
  • 最近打卡:2024-11-20 10:22:49

23

主题

1

回帖

40万

积分

管理员

BSAY论坛创始人

积分
400190
QQ
发表于 6 天前 | 显示全部楼层 |阅读模式
默认xiunobbs 4.0.4版本不支持php7.2以上版本,不太方便,所以这里直接修改源码,并自己维护一个版本

1、/xiunophp/xiunophp.min.php 第20行

  1. $get_magic_quotes_gpc = get_magic_quotes_gpc();
  2. 改成
  3. $get_magic_quotes_gpc = 0;
复制代码
2、/xiunophp/xiunophp.php 第20行
  1. $get_magic_quotes_gpc = get_magic_quotes_gpc();
  2. 改成
  3. $get_magic_quotes_gpc = 0;
复制代码
3、/xiunophp/xn_html_safe.func.php 第785行、第938行、第951行
把这三行的
rawtext{}
大括号{}改为中括号[],PHP高版本数组不再支持大括号{}。
实测PHP7.4和PHP8.0可以正常使用。
解决php8.1下http_url_path报错方法:
xiunophp/misc.func.php文件大约1034行
源代码:
  1. // 获取 http: //xxx.com/path/
  2. function http_url_path() {
  3.     $port = _SERVER("SERVER_PORT");
  4.     //$portadd = ($port == 80 ? "" : ":".$port);
  5.     $host = _SERVER("HTTP_HOST");  // host 里包含 port
  6.     $https = strtolower(_SERVER("HTTPS", "off"));
  7.     $proto = strtolower(_SERVER("HTTP_X_FORWARDED_PROTO"));
  8.     $path = substr($_SERVER["PHP_SELF"], 0, strrpos($_SERVER["PHP_SELF"], "/"));
  9.     $http = (($port == 443) || $proto == "https" || ($https && $https != "off")) ? "https" : "http";
  10.     return  "$http: //$host$path/";}
复制代码
更改后:
  1. // 获取 http: //xxx.com/path/
  2. function http_url_path() {
  3.     $port = _SERVER("SERVER_PORT");
  4.     //$portadd = ($port == 80 ? "" : ":".$port);
  5.     $host = _SERVER("HTTP_HOST");  // host 里包含 port
  6.     $https = strtolower(_SERVER("HTTPS", "off"));
  7.     $proto = _SERVER("HTTP_X_FORWARDED_PROTO") ? strtolower(_SERVER("HTTP_X_FORWARDED_PROTO")) : ""; //此处加判断
  8.     $path = substr($_SERVER["PHP_SELF"], 0, strrpos($_SERVER["PHP_SELF"], "/"));
  9.     $http = (($port == 443) || $proto == "https" || ($https && $https != "off")) ? "https" : "http";
  10.     return  "$http: //$host$path/";}
复制代码
转载于奇狐网
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表