【发布时间】:2022-06-14 01:36:20
【问题描述】:
过去几天一直在尝试解决此问题,但无济于事。基本上一直在尝试 dockerize 我的应用程序进行部署,但是每当我进入容器并尝试运行“php artisan”时,我都会收到以下错误:
In Application.php line 745:
Class "Facade\Ignition\IgnitionServiceProvider" not found
修复错误的唯一方法是当我运行composer install --ignore-platform-reqs 时,但不确定每次我在 docker 中是否应该手动执行此操作,此时命令位于 Dockerfile 本身中。有人告诉我这可能是 composer/php 差异问题,但在这里真的迷路了。我试过composer dump-autload,更新,将facade/ignition移到composer.json文件中的"require-dev"之外..没有任何效果。任何帮助,将不胜感激!以下是我的 Dockerfile,如果需要更多信息,请告诉我,因为这是我第一次在这里发帖。
Dockerfile:
ARG PHP_EXTENSIONS="apcu bcmath pdo_mysql redis imagick gd"
FROM thecodingmachine/php:8.1-v4-fpm as php_base
ENV TEMPLATE_PHP_INI=production
#copy our laravel application to html
COPY --chown=docker:docker . /var/www/html
RUN composer install --quiet --no-dev --dev --no-scripts --no-interaction --no-progress --prefer-dist --optimize-autoloader --ignore-platform-reqs
FROM node:14 as node_dependencies
WORKDIR /var/www/html
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=false
#bring in the laravel application from the php_base to our node js container
COPY --from=php_base /var/www/html /var/www/html
RUN npm set progress=false && \
npm config set depth 0 && \
npm install && \
npm run prod && \
rm -rf node_modules
FROM php_base
#bring the finished build back into the php container
COPY --from=node_dependencies --chown=docker:docker /var/www/html /var/www/html
【问题讨论】:
-
能否请您更新 docker 文件中的 composer 命令并尝试使用 composer install --ignore-platform-reqs
-
我做了并且暂时可以工作,但是每次我进入 docker CLI 时我都必须这样做,这是问题所在,我每次进入 docker CLI 时都应该应用撰写更新而不运行它
标签: php laravel docker laravel-facade