gpt4 book ai didi

php - 由于 Yii 中的负载均衡器, Assets URL 不工作

转载 作者:行者123 更新时间:2023-12-04 18:00:42 24 4
gpt4 key购买 nike

我正在从事 Yii 1.2 框架项目。我使用以下代码创建了一个 Assets URL。

$this->_assetsUrl = Yii::app()->getAssetManager()->publish(Yii::getPathOfAlias('aessessment.assets'));

其中 aessessment 是模块名称。

为了获取 Assets 数据,我使用了以下代码。

$stylesheet = file_get_contents($this->module->assetsUrl . '/pdfcss/style.css');

这段代码在我的本地系统和我的开发服务器上都能完美运行。

对于生产,我管理了两台名为 study1study2 的服务器,并使用负载均衡器。

因此,如果用户打开 URL study.mywebsite.com,则负载均衡器将请求发送到 study1 或 study2 服务器。

我在这里遇到了问题。 file_get_contents 在这里给我一个空的结果。

我尝试使用以下代码使用 Assets URL 将 css 文件插入到 View 中。

<link href="<?php echo $this->module->assetsUrl; ?>/gcicss/css/style.css" rel="stylesheet" type="text/css" />

它也不适用于 study.mysite.com URL。

如果我尝试使用 study1.mysite.comstudy2.mysite.com URL,那么一切正常。

但我无法在 URL study.mysite.com 上获得成功。

我在网上搜索了多个答案,但都没有成功。

非常感谢任何帮助。

提前致谢!

最佳答案

Assets 由后端服务器生成并放入其文件系统时,通常会出现问题。

修复它的最简单方法 - 更改 study.mysite.com 上 Assets 文件夹的网络服务器设置。它应该尝试在第一台服务器上找到具体的 Assets 文件,并在失败的情况下尝试在第二台服务器上找到该文件。但是这种方法在 3、4、5 等服务器上的规模不佳。

最好将两个服务器的资源发布到一个地方,供 study.mysite.com 的网络服务器使用。

我用这个简单模式画了一幅图: enter image description here

关于php - 由于 Yii 中的负载均衡器, Assets URL 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35793001/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com