Как установить phpmailer через композитор в файле Docker?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как установить phpmailer через композитор в файле Docker?

Сообщение Anonymous »

Я пытаюсь запустить в Docker A PHP -сервер, который должен отправлять электронное письмо с проверкой, и для этого я решил использовать PhpMailer, который мне приходится установить с помощью композитора. Для этого я строю изображение со следующим Dockerfile < /p>
# Use the official PHP image with Apache
FROM php:8.3.14-apache-bookworm

# Install necessary extensions, including pdo_mysql for MySQL support
RUN docker-php-ext-install mysqli pdo_mysql sockets

RUN echo "Acquire::Check-Valid-Until \"false\";\nAcquire::Check-Date \"false\";" | cat > /etc/apt/apt.conf.d/10no--check-valid-until

# Install additional dependencies for PHPMailer
RUN apt-get update && apt-get install -y \
libssl-dev \
curl \
unzip

# Copy the source code into the container
COPY src/ /var/www/html/

# Install PHP dependencies with Composer if a composer.json file is present
WORKDIR /var/www/html

# Assign appropriate permissions
RUN chown -R www-data:www-data /var/www/html \
&& chmod -R 755 /var/www/html

# Create the uploads directory with correct permissions
RUN mkdir -p /var/www/html/uploads \
&& chmod 775 /var/www/html/uploads \
&& chown www-data:www-data /var/www/html/uploads

# Install Composer globally
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# Install PHPMailer via Composer
RUN composer install \
&& composer fund

Я использую в качестве последней установки композитора команды, поскольку в моем локальном SRC у меня есть файл composer.json и composer.lock, который я копирую в/var/www/html. < Br /> Если я создаю контейнер и введен в него, я вижу, что композитор правильно устанавливается, но требуемый каталог поставщиков нет нигде в контейнере (я проверяю его присутствие с местопозощением и находом). /p>
Я попытался пользователю запустить композитор. Я также попытался создать многоэтапное изображение, используя композитор в качестве базового изображения и попытаться установить там зависимости моего проекта, а затем скопировать их на втором этапе, состоящем из изображения PHP, но все изменяется, это всегда приводит к отсутствию отсутствия Справочник поставщика в конечном изображении контейнера.
Это журнал окончательного композитора Commoncer install , сгенерированный с использованием - -progress = plain
#14 [10/10] RUN composer install && composer fund
#14 0.462 Installing dependencies from lock file (including require-dev)
#14 0.463 Verifying lock file contents can be installed on current platform.
#14 0.479 Package operations: 1 install, 0 updates, 0 removals
#14 0.483 - Downloading phpmailer/phpmailer (v6.9.3)
#14 1.415 - Installing phpmailer/phpmailer (v6.9.3): Extracting archive
#14 1.875 Generating autoload files
#14 1.884 1 package you are using is looking for funding.
#14 1.884 Use the `composer fund` command to find out more!
#14 2.617 The following packages were found in your dependencies which publish funding information:
#14 2.617
#14 2.617 phpmailer
#14 2.617 phpmailer
#14 2.617 https://github.com/sponsors/Synchro
#14 2.617
#14 2.617 Please consider following these links and sponsoring the work of package authors!
#14 2.617 Thank you!
#14 DONE 2.7s
WARNING: No output specified with docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load


Подробнее здесь: https://stackoverflow.com/questions/793 ... ocker-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»