Joomla翻译插件Falang joomla5版本在 Nginx上的bug 原
升级项目中用到了falang这个多语言组件,本来很顺利的,但当迁移到正式环境后发现页面所有的链接都为空白,点击都跳转到首页。经过单步调试,最后将问题定位在Falang这个组件上面。
现象
在本地windows环境下一切正常。迁移到服务器linux环境下后,所有的页面链接均为空白。
调试
开启调试模式后没有任何的提示信息。只能去到代码手动添加断点,最后定位为route_方法返回为空。进一步debug,发现是falangdriver插件引起的。将该插件关闭,系统链接正常。但由于系统维护多语言网站,必须启用这个插件。只得深入了解这个插件的实现代码。
主要的代码片段如下:
$extensionName = str_replace('\\Joomla\\Component\\','',$namespace); $className = 'Falang\\Component\\'.$extensionName.'\\Site\\Service\\FalangRouter'; $router_file_path = JPATH_PLUGINS . '/system/falangdriver/routers/com_' . strtolower($extensionName) . '/router.php'; if (file_exists($router_file_path)){ require_once $router_file_path; } if (!class_exists($className)) { throw new \RuntimeException('No router available for this application.'); }
发现是Route.php文件不存在,服务器上的文件名是route.php.
解决的方案,将Route改为route问题解决。
后续处理
已经发邮件给Fa lang开发团队。
版权声明:本站内容源自互联网,如有内容侵犯了你的权益,请联系删除相关内容。