【问题标题】:Erros image Docker with PHP and twig使用 PHP 和 twig 的错误镜像 Docker
【发布时间】:2020-07-14 21:08:04
【问题描述】:

我在 docker 上安装 Synfony 和 Twig 时遇到问题。

出现致命错误:未捕获的错误:在 /var/www/html/... 中找不到类“Twig \ Environment”。

这是我的 Dockerfile


FROM php: 7.2-apache

#Install unzip, composer,
RUN curl -sS https://getcomposer.org/installer | php - --install-dir = / usr / local / bin --filename = composer \
    && apt-get update && apt-get install -y git libzip-dev unzip \
    && docker-php-ext-install zip \
    && a2enmod rewrite headers \

COPY src / / var / www / html /
    
#Enable Twig and Symfony
RUN cd / var / www && composer require "twig / twig: ^ 3.0"
RUN composer require "symfony / form"

我的控制器

protected function load (string $ view, $ param = [])
{
    $twig = new \Twig\Environment((new \Twig\Loader\FilesystemLoader ('../app/site/view/')),
        ['debug' => false]
    );
    $ twig->addGlobal ('BASE', BASE);
    echo $twig->render($view . '.twig.php', $params);
}

你知道怎么了吗?

【问题讨论】:

  • 我相信 RUN [command] 以 root 身份运行该命令。这可能会干扰 apache/php-fpm 对该文件夹的访问权限。你的码头工人的东西也包含太多的斜线周围的空间。最后,如果安装不起作用,您的 docker 文件应该会产生输出。如果它确实有效,也许你没有包括供应商/autoload.php?如果你也这样做了,你也许应该扩展该错误消息。
  • 感谢您的回复,并帮助找到了错误,在检查权限时我发现错误是在错误的文件夹中运行。非常感谢。

标签: php docker symfony twig dockerfile


【解决方案1】:

请原谅,我太专注于错误,以至于没有注意到错误。 我在错误的文件夹中运行作曲家

COPY src/ /var/www/html/

RUN cd/var/www && composer require "twig/twig:^3.0"

它在 www 上运行,但应用程序在 www/html 上

对不起……

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    相关资源
    最近更新 更多