前几天,刚安装的系统
环境:
OS : ubuntu 20.04 server LTS
WEB : nginx/1.18.0
DB : MySQL8.0.25
Flarum : 1.0.4
安装还算顺利,没有报错。因为我在本地,也建了一个环境,用于学习开发插件。
使用中,出现的问题,无法上传用户头像。
进行了的操作或测试:
因为是刚安装的系统,没有公开,所有没有任何注册用户。
而我是管理员,我要上传自己的头像,猜测应该不存在用户权限问题。
因为本地测试是可以上传的,猜测是服务器目录权限问题,对比后,改对应目录为777,无果。
进入管理后台,再次确认权限问题,无果。没有发现上传相关权限。
这个时候,发现了后台管理-外观(我安装了中文插件),有上传功能,上传使用,发现成功!
再次回到用户前端,浏览器F12发现,上传头像API,报了500错。
猜测后端出了严重错误。
唉,自己也是开发,调试一下吧。
进入站点根目录,编辑config.php 开启debug。
再次上传头像,API有了相关具体的错误信息:
无法调用未定义的函数stream_for(),在guzzlehttp/psr7中 (当时,没有截图,只能印象中了)
度娘相关英文,无果。
但找到了一个本站的贴子:https://discuss.flarum.org.cn/d/2209
大概问题,类似,就是版本过高。
于是对比了,本地和服务器的composer安装列表,发现服务器的guzzlehttp/psr7
为2.0.0,而本地为1.8.2。
于是:
composer require guzzlehttp/psr7:1.8.2
再次测试,上传头像功能,成功!
记录一下,反馈一下,希望对后来者有帮助。