当前位置: 首页 > 知识库问答 >
问题:

php-fpm docker中的Composer:1.8.4

仉嘉泽
2023-03-14
FROM php:7.3.3-fpm-alpine as base

WORKDIR /var/www

# Override Docker configuration: listen on Unix socket instead of TCP
RUN sed -i "s|listen = 9000|listen = /var/run/php/fpm.sock\nlisten.mode = 0666|" /usr/local/etc/php-fpm.d/zz-docker.conf

# Install dependencies
RUN set -xe \
    && apk add --no-cache bash icu-dev \
    && docker-php-ext-install pdo pdo_mysql intl pcntl

CMD ["php-fpm"]

FROM composer:1.8.4 as composer

RUN rm -rf /var/www && mkdir /var/www
WORKDIR /var/www

COPY composer.* /var/www/

ARG APP_ENV=dev

RUN set -xe \
    && if [ "$APP_ENV" = "prod" ]; then export ARGS="--no-dev"; fi \
    && composer install --prefer-dist --no-scripts --no-progress --no-suggesthere

问题是COPY composer.*/var/www/似乎无法正常工作,因为它抛出错误:

  • Composer安装--prefer-dist--no-scripts--no-progress--no-suggest--no-interaction--no-dev Composer在/var/www中找不到Composer.json文件

它似乎要么是作曲家的图像缺少了什么,或者我跳过了一些步骤,可以请您帮助,我都是新的docker和PHP。

共有1个答案

吕英才
2023-03-14

中的问题

WORKDIR /var/www

WORKDIR命令用于在任何给定时间定义Docker容器的工作目录。该命令在DockerFile中指定。

任何RUN、CMD、ADD、COPY或ENTRYPOINT命令都将在指定的工作目录中执行。

 类似资料:
  • 这篇文章是对 PHP自动加载功能 的一个总结,内容涉及 PHP自动加载功能 、PHP命名空间、PSR0/PSR4标准 等内容。 一、PHP 自动加载功能 PHP 自动加载功能的由来 在 PHP 开发过程中,如果希望从外部引入一个 Class ,通常会使用 include 和 require 方法,去把定义这个 Class 的文件包含进来。这个在小规模开发的时候,没什么大问题。但在大型的开发项目中,

  • 前言 上一篇文章中,我们讨论了 PHP自动加载功能 、PHP命名空间、PSR0/PSR4标准,有了这些知识,其实我们就可以按照 PSR4标准 写出可以自动加载的程序了。然而我们为什么要自己写呢?尤其是有 Composer 这神一样的包管理器的情况下? Composer自动加载概论 简介 Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。

  • 问题内容: 我在只能访问HTTP或袜子代理的网络上使用composer。我有http_proxy和https_proxy环境变量。当compose尝试访问HTTPS URL时,我得到以下信息: 据我所知,连接到https网站的唯一方法是使用连接动词。如何在此代理后面使用作曲家? 问题答案: 如果您使用的是Linux或Unix(包括OS X),则应将其放在会影响环境的位置: 您可以将其放入全局范围内

  • 我有一个作曲家。包含内容的json: 尝试通过以下命令安装composer时, 我收到以下错误消息: 无法将您的需求解析为可安装的软件包集。 完整的错误日志: 我是新来的。我错过了什么?

  • 如何让composer使用我安装的较新版本的php?我已经下载并在所有本地服务器上使用了PHP5.4,但当我下载composer时,它指向我的mac电脑的默认设置#/usr/local/bin/env版本,即5.3.15。我试图编辑composer可执行文件并更改使用的php,但它破坏了可执行文件。 我试图使用作曲家来安装Laravel,因为它下载了错误的版本。 这就是我的composer可执行文

  •   上一篇文章我们讲到了Composer自动加载功能的启动与初始化,经过启动与初始化,自动加载核心类对象已经获得了顶级命名空间与相应目录的映射,换句话说,如果有命名空间’AppConsoleKernel,我们已经知道了App对应的目录,接下来我们就要解决下面的就是ConsoleKernel这一段。 Composer自动加载源码分析——注册   我们先回顾一下自动加载引导类: ```php pu