FAQ - prinsss/blessing-skin-server GitHub Wiki

提问之前请先看看你的问题是否在以下列表中:

提示:善用浏览器的 Ctrl + F 页内查找功能。

🌚👉 问题目录 ToC 👈🌚

配置文件 .env 在哪?

请仔细阅读 Wiki - 如何填写 .env 配置文件?

目录下没有 setup 这个文件夹啊,怎么访问?

这是因为 Blessing Skin v3 使用了 URL 重写来实现路由功能(即俗称的伪静态),具体请自行搜索。

提示「根目录下没有 vendor 文件夹」?

嗯,有两种解决方法:

  1. 自己使用 composer 安装依赖库
  2. 给我认认真真地再看一遍 Wiki - 快速安装向导 - 下载安装包

500 Internal Server Error

如果服务器报错 500,且页面上没有任何 Blessing Skin 字样:

请查看 /storage/logs 目录下是否有日志文件,如果没有,说明是你文件权限设置错误。

解决方法:

请在皮肤站根目录下运行 chown -R www ./。(www 换成您的服务器上相应的用户,如 apache 等)

如果有,就不会只显示 500 错误了,除非你自行修改了文件。

404 Not Found

如果你可以访问首页,其他页面都是 404,请检查你的 URL 重写(伪静态)规则是否生效

如果你是安装在子目录,请继续往下看。

如果所有页面(包括 /index.php)都是 404,请检查你自己的 Web 服务器配置。

Deprecated $HTTP_RAW_POST_DATA

如果你的站点出现了如下错误(一般只会发生在你点了某个按钮之后):

Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. in Unknown on line 0

error screenshot

这是你 PHP 设置出了问题,需要修改 php.ini 文件。 如果你是虚拟主机,那么抱歉爱莫能助出门左拐请。

基本上你把这个报错拿去翻译一下,就可以很清晰地知道如何操作了。我这里再复述一遍:

  1. 打开 php.ini 文件……你问我这个文件在哪?随便去哪里下载个 PHP 探针(搜索引擎是你的好朋友),打开 phpinfo() 就可以看到你目前的 php.ini 配置文件所在目录了;
  2. 搜索 always_populate_raw_post_data 字样;
  3. 找到了吗?把 = 等于符号右边的数字设置为 -1(如果已经是 -1 了,请把行首的分号 ; 删掉);
  4. 如果你用的是 Nginx,请重启 php-fpm,Apache 用户一般不用做什么;
  5. 只要命运的齿轮没有出差错,你不会再看到类似的报错了。

Maximum function nesting level of '100' reached

如果出现了类似这样的错误信息:

PHP Fatal error: Maximum function nesting level of '100' reached, aborting! in /opt/app-root/src/vendor/composer/ClassLoader.php on line 344, referer: http://domain.com/setup/info

请修改 PHP 配置,关闭 XDebug 或修改其设置(具体操作请自行搜索)。

getdate(): It is not safe to rely on the system's timezone settings

如果出现了类似这样的错误信息:

Warning: getdate(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.

请打开你的 php.ini 文件(不知道在哪的话请看上上条),找到 date.timezone 项的值并设置为 Asia/Shanghai

如果 date.timezone 这一项的最前面有一个半角分号 ; 的话,请务必去掉。

只有图片无法显示,其他都正常

请参考:Issue #46 - 图片无法显示

如何将皮肤站安装在子目录?

你只需要修改站点的重写规则。

  • Nginx
location /子目录名/ {
    try_files $uri $uri/ /index.php?$query_string;
}

location ~ /子目录名/\. { deny all; }
location /子目录名/storage { deny all; }
  • Apache

修改 .htaccess 中的 RewriteBase /RewriteBase /子目录名

如果 RewriteBase / 这一句被注释了,请取消其注释(删去最前面的 # 符号)再编辑。

我的 nginx.conf 配置文件在哪?

问你自己啊,我怎么知道。

实在不会就去用 Apache,简单方便。

如何对接 Authme/CrazyLogin/Discuz?

请去插件市场下载数据对接插件。

上传的皮肤跑哪里去了?

皮肤文件都被重命名为文件的 SHA256 Hash 并保存至 /storage/textures 文件夹下。你可以直接使用图片查看软件打开它们。

那我要怎么直接访问皮肤文件?

皮肤站提供了各种 API 让你能够获取指定的皮肤文件。当然如果你只是想要在游戏内显示皮肤的话,直接给 Mod 提供一个 JSON Profile 的地址即可,其他操作 Mod 会替你自动完成:Wiki - 如何配置皮肤 Mod?

# 获取玩家的皮肤/披风
example.com/{skin|cape}/{username}.png
# 指定获取玩家的 Steve/Alex 模型的皮肤
example.com/skin/{username}-{steve|alex}.png
# 通过材质 ID 获取皮肤
example.com/raw/{tid}.png
# 通过材质 Hash 获取皮肤
example.com/textures/{hash}

游戏中不显示皮肤?

请阅读 Wiki - 游戏中不显示皮肤的可能原因

如何上传 鞘翅/翅膀/Elytra 的材质?

鞘翅的材质是画在披风上的,自己设置一个带鞘翅材质的披风就可以了。

Snipaste_2018-02-22_11-27-15.png

具体请参考 Minecraft Wiki:

如何在皮肤库中查看一个披风是否带有鞘翅材质?

在皮肤库材质详情页的「详细信息」中,点击 Hash 右侧的链接查看披风原图即可。

Snipaste_2018-02-22_11-32-00.png

忘了密码咋办

  1. 使用皮肤站自带的「找回密码功能」
  2. 使用一个「新密码」注册一个新用户,然后在数据库 users 表中用新注册用户的 password 字段内容替换掉你原来那个用户的 password 字段。替换完成后你就可以使用「新密码」登录你原来的账户了。
  3. 注意,第二条在对接 CrazyLogin 时无效

手贱开了邮箱验证咋办?

  1. 删除 plugins 目录下的 register-email-validation 文件夹
  2. 清空或按需修改数据库 options 表中的 plugins_enabled 的值

如何开启皮肤库评论区?

在【站点配置 > 评论代码】中填入你的评论代码即可。

你问我评论代码是什么?敬请搜索「第三方评论系统」。

如何设置第二个超级管理员?

去皮肤站数据库 users 表那个用户记录的 permission 字段设置为 2

Permission 字段说明

0  正常
-1 封禁
1  管理员
2  超级管理员

如何同时对接论坛和登录插件?

皮肤站对接至论坛,登录插件也对接至论坛即可。


如果你看完了上面的 FAQ,并确定这些都不是你出现的状况,你可以向开发者报告问题了。

报告之前,请先阅读一遍:报告问题的正确姿势

不提供详细信息的单纯的抱怨将不会被理会 :) 感谢你的配合