Версия 2.0.43 AssetsManager

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
ddmitrenko
Сообщения: 82
Зарегистрирован: 2015.02.04, 16:31

Версия 2.0.43 AssetsManager

Сообщение ddmitrenko »

Всем привет. Сегодня поставил версию 2.0.43. В файле \vendor\yiisoft\yii2\web\AssetManager.php в функции инициализации компонента(строка 208) обнаружил, что была убрана проверка на реальное существование пути в переменной basePath .

Код: Выделить всё

public function init()
    {
        parent::init();
        $this->basePath = Yii::getAlias($this->basePath);

        $this->basePath = realpath($this->basePath);
        $this->baseUrl = rtrim(Yii::getAlias($this->baseUrl), '/');
    }
После применения функции realpath к несуществующему пути получаем false и далее сообщение из функции checkBasePathPermission() - The directory does not exist: без указания имени директории. И непонятно, что надо исправлять.
В качестве решения - можно вернуть проверку в инициализацию компонента, как было ранее.
С уважением, Дмитрий.
unknownby
Сообщения: 749
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Версия 2.0.43 AssetsManager

Сообщение unknownby »

А установить basePath в конфигах приложения пробовали?
Из документации:
В любом приложении, вы должны настроить минимум два свойства: id и basePath.
ddmitrenko
Сообщения: 82
Зарегистрирован: 2015.02.04, 16:31

Re: Версия 2.0.43 AssetsManager

Сообщение ddmitrenko »

Как решить свой вопрос я знаю. Вопрос в том, что если установить basePath в несуществующую директорию - не получится вразумительного ответа по данной ошибке.
С уважением, Дмитрий.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Версия 2.0.43 AssetsManager

Сообщение samdark »

Скорее всего, речь про https://github.com/yiisoft/yii2/pull/18381. Там проверку не убрали, а перенесли непосредственно к моменту публикации ассета.
ddmitrenko
Сообщения: 82
Зарегистрирован: 2015.02.04, 16:31

Re: Версия 2.0.43 AssetsManager

Сообщение ddmitrenko »

$this->basePath = realpath($this->basePath); - после этой строки уже нет пути :(
С уважением, Дмитрий.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Версия 2.0.43 AssetsManager

Сообщение ElisDN »

Код: Выделить всё

$path = realpath($this->basePath);

if ($path === false) {
    throw new ...
}

$this->basePath = $path;
Ответить