Я работаю над проектом Yii 1.2 Frameworks.
Я создал URL ресурса, используя приведенный ниже код.
$this->_assetsUrl = Yii::app()->getAssetManager()->publish(Yii::getPathOfAlias('aessessment.assets'));
где aessessment это имя модуля.
Для получения данных об активах я использовал приведенный ниже код.
$stylesheet = file_get_contents($this->module->assetsUrl . '/pdfcss/style.css');
Этот код отлично работает в моей локальной системе, а также на моем сервере разработки.
Для производства у меня есть два сервера с именем вроде study1 а также study2 назначьте балансировщик нагрузки.
Поэтому, если пользователь открывает URL-адрес study.mywebsite.com, балансировщик нагрузки отправляет запрос на сервер study1 или study2.
У меня проблема здесь. file_get_contents дает мне пустой результат здесь.
Я попытался вставить файл CSS в вид, используя URL-адрес активов, используя код ниже.
<link href="<?php echo $this->module->assetsUrl; ?>/gcicss/css/style.css" rel="stylesheet" type="text/css" />
Он также не работает с URL сайта study.mysite.com.
Если бы я попытался с study1.mysite.com или же study2.mysite.com URL то все работает нормально.
но я не могу добиться успеха на URL study.mysite.com.
У меня есть поиск по нескольким ответам онлайн, но я не получаю успеха.
Любая помощь будет высоко ценится.
Заранее спасибо !
Это обычная проблема, когда ресурсы генерируются внутренним сервером и помещаются в его файловую систему.
Самый простой способ это исправить — изменить настройки веб-сервера для папки assets на study.mysite.com. Он должен попытаться найти конкретный файл ресурсов на первом сервере, а в случае сбоя попытаться найти этот файл на втором сервере. Но этот подход плохо масштабируется для 3, 4, 5 и т. Д. На серверах.
Лучше будет опубликовать ресурсы с обоих серверов в одном месте, которое будет доступно для веб-сервера study.mysite.com.
Других решений пока нет …