Я пытаюсь запустить в 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
Как установить phpmailer через композитор в файле Docker? ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1738145377
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
Подробнее здесь: [url]https://stackoverflow.com/questions/79395242/how-to-install-phpmailer-through-composer-in-docker-file[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия