默认xiunobbs 4.0.4版本不支持php7.2以上版本,不太方便,所以这里直接修改源码,并自己维护一个版本
1、/xiunophp/xiunophp.min.php 第20行
- $get_magic_quotes_gpc = get_magic_quotes_gpc();
- 改成
- $get_magic_quotes_gpc = 0;
复制代码 2、/xiunophp/xiunophp.php 第20行- $get_magic_quotes_gpc = get_magic_quotes_gpc();
- 改成
- $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行 源代码: - // 获取 http: //xxx.com/path/
- function http_url_path() {
- $port = _SERVER("SERVER_PORT");
- //$portadd = ($port == 80 ? "" : ":".$port);
- $host = _SERVER("HTTP_HOST"); // host 里包含 port
- $https = strtolower(_SERVER("HTTPS", "off"));
- $proto = strtolower(_SERVER("HTTP_X_FORWARDED_PROTO"));
- $path = substr($_SERVER["PHP_SELF"], 0, strrpos($_SERVER["PHP_SELF"], "/"));
- $http = (($port == 443) || $proto == "https" || ($https && $https != "off")) ? "https" : "http";
- return "$http: //$host$path/";}
复制代码更改后: - // 获取 http: //xxx.com/path/
- function http_url_path() {
- $port = _SERVER("SERVER_PORT");
- //$portadd = ($port == 80 ? "" : ":".$port);
- $host = _SERVER("HTTP_HOST"); // host 里包含 port
- $https = strtolower(_SERVER("HTTPS", "off"));
- $proto = _SERVER("HTTP_X_FORWARDED_PROTO") ? strtolower(_SERVER("HTTP_X_FORWARDED_PROTO")) : ""; //此处加判断
- $path = substr($_SERVER["PHP_SELF"], 0, strrpos($_SERVER["PHP_SELF"], "/"));
- $http = (($port == 443) || $proto == "https" || ($https && $https != "off")) ? "https" : "http";
- return "$http: //$host$path/";}
复制代码转载于奇狐网 |