Laravel 5.7. Построение & ldquo; доменного пути & rdquo; средство доступа с помощью запроса доменов, чтобы получить домен и его родительские идентификаторы рекурсивно

Проверьте команду SHELL . По умолчанию оболочка на Linux - это ["/ bin / sh", "-c"]

RUN "source file"      # translates to: RUN /bin/sh -c "source file"

Вы можете изменить оболочку по умолчанию, используя SHELL, которая меняет оболочку, используемую для последующих команд RUN в Dockerfile

SHELL ["/bin/bash", "-c"]

Теперь оболочка по умолчанию изменилась, и вам не нужно явно определять ее в каждой инструкции RUN

RUN "source file"    # now translates to: RUN /bin/bash -c "source file"

. Дополнительная заметка: вы также можете добавить --login который запускает оболочку входа. Это означает, что ~/.bachrc, например, будет прочитан, и вам не нужно явно указывать его перед вашей командой

0
задан Matt Larson 16 January 2019 в 22:05
поделиться

1 ответ

Закончилось решение этой проблемы рекурсивным методом:

public function getDomainPath($domainId)
{
    $domain = Domain::findOrFail($domainId);
    if (is_null($domain->parent_id)) {
        return $domain->domain;
    }
    $path = $this->getDomainPath($domain->parent_id) . '/' . $domain->domain;
    return $path;
}

Затем я вызываю метод в методе доступа и передаю идентификатор самого дочернего домена.

0
ответ дан Matt Larson 16 January 2019 в 22:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: