0

我有一个通过 docker-compose 文件运行的 laravel 应用程序。这是文件:

version: '3'

    services:

      #PHP and Apache

  site:
    user: 1000:1000
    image: alfasoft/php:7.4.27
    environment:
      - PMA_HOST=db
      - WEBWORK_SMTP_SERVER=mailhog
    volumes:
      - './:/var/www/html'
    ports:
      - 80:80
    depends_on:
      - mysql
      - mailhog

  #MySQL

  mysql:
    image: mysql:5.7.37
    environment:
      - MYSQL_DATABASE=pde
      - MYSQL_ROOT_PASSWORD=[...]
      - MYSQL_PASSWORD=<password>
    volumes:
      - '../../mysql:/var/lib/mysql'
    ports:
      - 3306:3306

  #PHPMyAdmin

  phpmyadmin:
    image: phpmyadmin
    restart: always
    ports:
      - 8080:80
    environment:
      - PMA_ARBITRARY=1

  #Mailhog

  mailhog:
    container_name: mailhog
    user: 1000:1000
    image: mailhog/mailhog
    ports:
      - 1025:1025 # smtp server
      - 8025:8025 # web ui

这是我的 .env 文件中的邮件变量:

MAIL_DRIVER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

现在,Mailhog 工作正常,每当我尝试通过 Laravel 应用程序发送电子邮件时,我都会按预期在 Mailhog UI 上收到它。

但是,如果我尝试运行 aphp artisan migrate:status我会收到此错误:

Swift_TransportException  : Connection could not be established with host mailhog :stream_socket_client(): php_network_getaddresses: getaddrinfo failed: Name or service not known

  at /home/gustavo/Documents/alfasoft/projetos/perguntas-de-especialidade/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php:261
    257|         }
    258|         $streamContext = stream_context_create($options);
    259| 
    260|         set_error_handler(function ($type, $msg) {
  > 261|             throw new Swift_TransportException('Connection could not be established with host '.$this->params['host'].' :'.$msg);
    262|         });
    263|         try {
    264|             $this->stream = stream_socket_client($host.':'.$this->params['port'], $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $streamContext);
    265|         } finally {

  Exception trace:

  1   Swift_Transport_StreamBuffer::{closure}()
      [internal]:0

  2   stream_socket_client()
      /home/gustavo/Documents/alfasoft/projetos/perguntas-de-especialidade/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php:264

  Please use the argument -v to see more details.

当我尝试从 Tinker 的数据库中获取任何内容时,也会发生此错误。有任何想法吗?到目前为止我看到的所有其他 StackOverflow 问题都没有帮助

4

1 回答 1

0

好的,想通了!

对于以后看到这个的任何人。我试图从容器外部运行命令。一切都正确且有效,只是我没有从正确的位置运行命令。

于 2022-02-22T18:17:59.797 回答