GamerNoTitle / Minecraft-Server-Status

【已重构,请前往GamerNoTitle/CraftMon】一个用于显示服务器在线信息及其他内容的网站
https://github.com/GamerNoTitle/CraftMon
Mozilla Public License 2.0
63 stars 11 forks source link

使用php7.3.4+Nginx1.15.11时会报错 #2

Open 5ur3z opened 1 year ago

5ur3z commented 1 year ago

Warning: count(): Parameter must be an array or an object that implements Countable in \closeTags.php on line 9 Warning: count(): Parameter must be an array or an object that implements Countable in \closeTags.php on line 10

且无法查询到Fabric服兼容游戏版本、核心、平台、游戏类型

MOTD显示异常: MOTD:Array 清除颜色参数后的 MOTD:Array 颜色参数转为 HTML 的 MOTD:Array

详情:http://s1.mcicp.cn:1085/

GamerNoTitle commented 1 year ago

且无法查询到Fabric服兼容游戏版本、核心、平台、游戏类型

分别提供一下这几个信息

5ur3z commented 1 year ago

可以在这里看到http://s1.mcicp.cn:1085/

5ur3z commented 1 year ago

正常是Fabric 1.19.2 Java

GamerNoTitle commented 1 year ago

warning应该是PHP版本的问题,或者可能是我关了warning显示,反正我用PHP5.4是可以,但是7.4就是会弹WARNING 应该是新版的MC服务器query返回的结果不太一样,具体还没看,反正解析上面是出现了点问题,晚点再看看怎么修,最近比较忙 如果你会修的话欢迎PR :D

5ur3z commented 1 year ago

我不太会修...但不着急(

GamerNoTitle commented 1 year ago

你的那个MOTD是用什么写的?是写在server.properties里面还是用的carpet.conf?我这里解析出来是这样的 image 我换了个API保证能用,但是能显示的东西跟之前的那个比少了点

5ur3z commented 1 year ago

miniMOTD模组,少一点倒是好事我感觉,下面那个在线玩家也有问题,上面显示1/114514明明是有一个人的,下面告诉我无玩家在线

GamerNoTitle commented 1 year ago

MiniMOTD的motd解析不出来 这个我无解 其他的倒没啥问题 改完了我就直接推commit就好了

GamerNoTitle commented 1 year ago

试试dev分支

5ur3z commented 1 year ago

还是刚才那个网站http://s1.mcicp.cn:1085/ 替换后直接报错了( 换成了php5.4.45nts+Nginx

Fatal error: Call to undefined function MinecraftServerStatus\socket_create() in D:\software\phpstudy_pro\WWW\RFNstatus\vendor\funnyitselmo\minecraftserverstatus\src\MinecraftServerStatus.php on line 26

GamerNoTitle commented 1 year ago

在你的这个目录下输入这串命令后再试试 composer require funnyitselmo/minecraftserverstatus

5ur3z commented 1 year ago

emm这个composer需要梯子嘛,我服务器这边连不上,是的话可能得过几天再说了()

[Composer\Downloader\TransportException] The "https://packagist.phpcomposer.com/packages.json" file could not be downloaded: SSL opera tion failed with code 1. OpenSSL Error messages: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version Failed to enable crypto failed to open stream: operation failed

GamerNoTitle commented 1 year ago

最好是挂一个 看你这个提示是SSL问题

5ur3z commented 1 year ago

okok感谢,我过几天再试试

hehetoshang commented 1 year ago

composer需要换一个源

GamerNoTitle commented 1 year ago

composer需要换一个源

欢迎PR 说实话php我都不咋会

hehetoshang commented 1 year ago

https://blog.csdn.net/Mr_Moka/article/details/116407153#:~:text=%E5%9B%BD%E5%86%85%E7%9A%84%E5%8F%AF%E7%94%A8%E7%9A%84%E5%85%B6%E4%BB%96%E9%95%9C%E5%83%8F%E5%9C%B0%E5%9D%80%EF%BC%9A%20%E9%98%BF%E9%87%8C%E4%BA%91%E9%95%9C%E5%83%8F%20https%3A%2F%2Fmirrors.aliyun.com%2Fcomposer%2F%20%E8%85%BE%E8%AE%AF%E4%BA%91%E9%95%9C%E5%83%8F,https%3A%2F%2Fmirrors.cloud.tencent.com%2Fcomposer%2F%20%E5%8D%8E%E4%B8%BA%E4%BA%91%E9%95%9C%E5%83%8F%20https%3A%2F%2Frepo.huaweicloud.com%2Frepository%2Fphp%2F%201

GamerNoTitle commented 1 year ago

这不是用户的操作么。。。

hehetoshang commented 1 year ago

反正我知道这个错误只有高版本有

GamerNoTitle commented 1 year ago

反正我知道这个错误只有高版本有

行吧。。。

hehetoshang commented 1 year ago

还是刚才那个网站http://s1.mcicp.cn:1085/ 替换后直接报错了( 换成了php5.4.45nts+Nginx

Fatal error: Call to undefined function MinecraftServerStatus\socket_create() in D:\software\phpstudy_pro\WWW\RFNstatus\vendor\funnyitselmo\minecraftserverstatus\src\MinecraftServerStatus.php on line 26

https://blog.csdn.net/u011140030/article/details/77483557

hehetoshang commented 1 year ago

https://blog.csdn.net/Forever1715/article/details/89300232

hehetoshang commented 1 year ago

提供两个解决链接

hehetoshang commented 1 year ago

warning应该是PHP版本的问题,或者可能是我关了warning显示,反正我用PHP5.4是可以,但是7.4就是会弹WARNING 应该是新版的MC服务器query返回的结果不太一样,具体还没看,反正解析上面是出现了点问题,晚点再看看怎么修,最近比较忙 如果你会修的话欢迎PR :D

高版本和低版本的这个代码是不一样的,所以你要么在readme.md注明,要么按这个网页修改https://blog.csdn.net/u011140030/article/details/77483557

GamerNoTitle commented 1 year ago

加README.md里面了

GamerNoTitle commented 1 year ago

3Q

hehetoshang commented 1 year ago

image 我在高版本是可以的,所以我认为他没用Query查询。

GamerNoTitle commented 1 year ago

默认是Query,Query不可用就去用ping 是这样的逻辑 高版本没试过 PHP真不熟 这个repo里面的轮子都是别人造的