我们一个项目之前使用的是yfcmf-tp5版本,目前想升级为yfcmf-tp6,主要目的是tp6支持Swoole,想实现在swoole模式下运行,进而提高项目运行效率,但升级开发过程中发现,Swoole模式和插件的配置文件addons.php发生冲突,在Swoole模式下无法正常运行,如果把该配置文件里的几个配置项全部设为空,则能正常运行,但是插件的相关功能就没法使用。研究了很长时间,也没有弄明白是怎么回事,这可能涉及到框架的一些底层原理,希望能帮助解决一下!
18317506563 因为官方不建议多应用下使用swoole,所以一直没有测yfcmf-tp6对swoole的兼容性,我抽时间测下yfcmf-tp6是否能在swoole下完美运行
注释掉基类(extend/think/Addons.php)里初始化视图模型相关代码,可以解决这一冲突
// 初始化视图模型 // $config = ['view_path' => $this->addons_path]; // $config = array_merge(Config::get('view'), $config); // $this->view = View::instance($config);
同时发现Swoole模式下运行,阿里云云存储插件的图片上传功能会报错,使用不了。需要安装Swoole-aliyunoss-addon兼容Swoole模式下阿里云图片上传功能。 https://github.com/Reasno/swoole-aliyunoss-addon
还有Swoole重启后,第一次访问有问题,解决办法: https://www.thinkphp.cn/topic/66303.html
项目使用的tp6多应用, thinkphp官方不建议在多应用下使用think-swoole
ice 感谢回复,期望yfcmf-tp6能在Swoole下完美运行