标签: laravel-sail

Laravel Sail 和 SQL 驱动程序

我想将 SQL 驱动程序添加到 Docker 文件中,我将文件从vendor/laravel/runtimes/8.0/Dockerfile 复制到根项目并进行修改以添加 SQL Server 驱动程序的依赖项。这是我的根项目中的 Dockerfile:

FROM ubuntu:20.04

LABEL maintainer="Taylor Otwell"

ARG WWWGROUP

WORKDIR /var/www/html

ENV DEBIAN_FRONTEND noninteractive
ENV TZ=UTC

RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone


RUN apt-get update \
    && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python2 \
    && mkdir -p ~/.gnupg \
    && chmod 600 ~/.gnupg \
    && echo "disable-ipv6" >> ~/.gnupg/dirmngr.conf \
    && apt-key adv --homedir ~/.gnupg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E5267A6C …
Run Code Online (Sandbox Code Playgroud)

sql-server docker laravel-sail

1
推荐指数
1
解决办法
4407
查看次数

Laravel Sail 现有项目 - 未知数据库 SQLSTATE[HY000] [1049]

我正在尝试使用 Laravel Sail 在本地处理现有项目。我不断收到 1049 未知数据库错误。我尝试过以下方法:

sail php artisan config:clear
sail php artisan config:cache
Run Code Online (Sandbox Code Playgroud)

我还尝试将 mysql 替换为使用 127.1.1.0 的主机,例如 .env.example 文件,但没有成功。

我也尝试过重建容器,但似乎没有解决问题。

在此输入图像描述

这是我的 .env 文件(当我尝试使用 root 以外的用户时,我收到 1045 错误,指出访问被拒绝,想知道这些是否相关):

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
Run Code Online (Sandbox Code Playgroud)

这是我的 docker-compose.yml 文件:

mysql:
        image: 'mysql:8.0'
        ports:
            - '${FORWARD_DB_PORT:-3306}:3306'
        environment:
            MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
            MYSQL_DATABASE: '${DB_DATABASE}'
            MYSQL_USER: '${DB_USERNAME}'
            MYSQL_PASSWORD: '${DB_PASSWORD}'
            MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
        volumes:
            - 'sailmysql:/var/lib/mysql'
        networks:
            - sail
Run Code Online (Sandbox Code Playgroud)

数据库配置:

'mysql' => [
            'driver' => 'mysql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' …
Run Code Online (Sandbox Code Playgroud)

php docker mysql-8.0 laravel-8 laravel-sail

1
推荐指数
1
解决办法
3440
查看次数

Laravel Sail:致命:用户“sail”的密码身份验证失败

我使用 PostgreSQL 创建了一个 laravel sail 项目,然后尝试连接第 3 方软件(TablePlus 和 Navicat)上的服务器,我收到此错误消息

FATAL:  password authentication failed for user "sail"
Run Code Online (Sandbox Code Playgroud)

这是我的 docker-compose.yml

    pgsql:
        image: 'postgres:13'
        ports:
            - '${FORWARD_DB_PORT:-5432}:5432'
        environment:
            PGPASSWORD: '${DB_PASSWORD:-secret}'
            POSTGRES_DB: '${DB_DATABASE}'
            POSTGRES_USER: '${DB_USERNAME}'
            POSTGRES_PASSWORD: '${DB_PASSWORD:-secret}'
        volumes:
            - 'sailpgsql:/var/lib/postgresql/data'
        networks:
            - sail
        healthcheck:
          test: ["CMD", "pg_isready", "-q", "-d", "${DB_DATABASE}", "-U", "${DB_USERNAME}"]
          retries: 3
          timeout: 5s
Run Code Online (Sandbox Code Playgroud)

这是我的环境

DB_CONNECTION=pgsql
DB_HOST=pgsql
DB_PORT=5432
DB_DATABASE=laravel
DB_USERNAME=sail
DB_PASSWORD=password
Run Code Online (Sandbox Code Playgroud)

这是全新安装,我没有做任何更改。它与 MySQL 一起使用,我错过了什么吗?谢谢..

postgresql laravel docker laravel-sail

1
推荐指数
1
解决办法
3177
查看次数

dockerfile 位于默认的 laravel sail 项目中的哪里

使用 laravel sail 文档构建 laravel 项目。正如 docker-compose.yml 文件中提到的,它提到了dockerfile: Dockerfile。但它并不位于根文件夹中,那么它在哪里呢?

# For more information: https://laravel.com/docs/sail
version: '3'
services:
    laravel.test:
        build:
            context: ./vendor/laravel/sail/runtimes/8.1
            **dockerfile: Dockerfile**
            args:
                WWWGROUP: '${WWWGROUP}'
        image: sail-8.1/app
        extra_hosts:
            - 'host.docker.internal:host-gateway'
        ports:
            - '${APP_PORT:-80}:80'
        environment:
            WWWUSER: '${WWWUSER}'
            LARAVEL_SAIL: 1
            XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
            XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
        volumes:
            - '.:/var/www/html'
        networks:
            - sail
        depends_on:
            - mysql
            - redis
            - meilisearch
            - selenium
Run Code Online (Sandbox Code Playgroud)

php laravel docker dockerfile laravel-sail

1
推荐指数
2
解决办法
5892
查看次数

Sail - 从命令行启动 Xdebug 会话

所以 Sails 的最新版本使得使用 Xdebug 变得非常容易。基本上只需SAIL_XDEBUG_MODE.env文件中定义,在 PhpStorm 中配置路径映射,激活监听,一切就完成了 - 它可以在浏览器中完美运行。

现在,如果我想在使用命令行时激活 Xdebug,我该怎么做?就像使用 artisan 命令进行播种时一样,或者更好的是使用创建的自定义 artisan 命令来运行脚本来更新某些数据时......我找不到任何要添加到我的参数中的参数来sail artisan myOwnCommand告诉 Xdebug 它必须激活。

我正在使用 WSL2 在 Windows 11 上工作。

先谢谢了!

xdebug laravel laravel-sail laravel-9

1
推荐指数
1
解决办法
1038
查看次数

从Homestead迁移到Sail后无法访问mysql数据库

我正在尝试将 Laravel 8 项目从 Homestead 迁移到 Sail。Sail 似乎设置正确,因为我可以在本地访问我的项目网站。但我无法进入 mysql 来查看数据库:

\n
\xe2\x9e\x9c  myproject git:(master) \xe2\x9c\x97 sail mysql\nERROR 1045 (28000): Access denied for user 'myproject'@'localhost' (using password: YES)\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试过重新启动 Docker,并重新启动终端并运行,sail build --no-cache && sail up但没有成功。

\n

这是我的文件的相关部分.env

\n
DB_CONNECTION=mysql\nDB_HOST=localhost\nDB_PORT=3306\nDB_DATABASE=myproject\nDB_USERNAME=myproject\nDB_PASSWORD=secret\n
Run Code Online (Sandbox Code Playgroud)\n

这是docker-compose.yml文件:

\n
# For more information: https://laravel.com/docs/sail\nversion: '3'\nservices:\n    laravel.test:\n        build:\n            context: ./vendor/laravel/sail/runtimes/8.1\n            dockerfile: Dockerfile\n            args:\n                WWWGROUP: '${WWWGROUP}'\n        image: sail-8.1/app\n        extra_hosts:\n            - 'host.docker.internal:host-gateway'\n        ports:\n            - '${APP_PORT:-80}:80'\n            - '${HMR_PORT:-8080}:8080'\n        environment:\n            WWWUSER: '${WWWUSER}'\n            LARAVEL_SAIL: 1\n            XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'\n …
Run Code Online (Sandbox Code Playgroud)

mysql laravel docker laravel-sail

1
推荐指数
1
解决办法
4334
查看次数

Laravel 9 Sail 错误服务“laravel.test”未运行容器

我从 GitHub 克隆了一个存储库,这是一个已经有 Sail 的 Laravel 项目。\n然后为了安装 Composer 依赖项,我运行了:

\n
docker run --rm \\\n    -u "$(id -u):$(id -g)" \\\n    -v "$(pwd):/var/www/html" \\\n    -w /var/www/html \\\n    laravelsail/php81-composer:latest \\\n    composer install --ignore-platform-reqs\n
Run Code Online (Sandbox Code Playgroud)\n

之后,我运行了sail up。\n所有图像均已拉取并构建。

\n

现在我可以通过浏览器访问该项目及其路径,甚至可以使用sail mysql命令。但问题是,当我运行sail artisan命令时,会显示此消息:\n service "laravel.test" is not running container #1

\n

我使用的是 Windows,并且wsl2ubuntu 20也是默认的 Linux 发行版。

\n

提示:在另一个新项目中,我对 Sail 没有任何问题。

\n

我之前做了这些事情,但没有解决问题:

\n
    \n
  • 添加APP_SERVICE=laravel.test.env.
  • \n
  • 跑步composer update
  • \n …

laravel docker laravel-sail

1
推荐指数
1
解决办法
4222
查看次数

如何将“Phpmyadmin”添加到 laravel sail (docker + laravel) - 自动:答案

  • 这是你的 docker-compose 文件

  • 要添加“Phpmyadmin”,您只需执行以下命令,我将在“answer”中保留这些命令

    欲了解更多信息: https: //laravel.com/docs/sail

      version: "3"
      services:
          laravel.test:
              build:
                  context: ./vendor/laravel/sail/runtimes/8.0
                  dockerfile: Dockerfile
                  args:
                      WWWGROUP: "${WWWGROUP}"
              image: sail-8.0/app
              ports:
                  - "${APP_PORT:-80}:80"
              environment:
                  WWWUSER: "${WWWUSER}"
                  LARAVEL_SAIL: 1
              volumes:
                  - ".:/var/www/html"
              networks:
                  - sail
              depends_on:
                  - mysql
          mysql:
              image: "mysql:8.0"
              ports:
                  - "${FORWARD_DB_PORT:-3306}:3306"
              environment:
                  MYSQL_ROOT_PASSWORD: "${DB_PASSWORD}"
                  MYSQL_DATABASE: "${DB_DATABASE}"
                  MYSQL_USER: "${DB_USERNAME}"
                  MYSQL_PASSWORD: "${DB_PASSWORD}"
                  MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
              volumes:
                  - "sailmysql:/var/lib/mysql"
              networks:
                  - sail
              healthcheck:
                  test: ["CMD", "mysqladmin", "ping", "-p${DB_PASSWORD}"]
                  retries: 3
                  timeout: 5s
    
      networks:
          sail:
              driver: bridge
      volumes:
          sailmysql:
              driver: local
    
    Run Code Online (Sandbox Code Playgroud)
  • 我希望我有所帮助,因为我意识到这方面的信息不多(至少不清楚)......

mysql phpmyadmin laravel docker laravel-sail

0
推荐指数
1
解决办法
1505
查看次数

Xdebug:在套接字 10 上发送 179 字节时出现问题:管道损坏

我在 Mac 上使用 PhpStorm。我正在尝试在远程 Ubuntu 服务器上的 Sail 容器内调试 Laravel 应用程序。

我从 Sail 容器内的 Xdebug 看到的错误是:

[17] Log opened at 2021-09-26 21:24:59.590599
[17] [Step Debug] INFO: Checking remote connect back address.
[17] [Step Debug] INFO: Checking header 'HTTP_X_FORWARDED_FOR'.
[17] [Step Debug] INFO: Client host discovered through HTTP header, connecting to 89.164.145.129:9003.
[17] [Step Debug] WARN: Could not connect to client host discovered through HTTP headers, connecting to configured address/port: host.docker.internal:9003. :-|
[17] [Step Debug] INFO: Connected to debugging client: XXX.XXX.XXX.XXX:9003 (from …
Run Code Online (Sandbox Code Playgroud)

xdebug phpstorm laravel docker laravel-sail

0
推荐指数
1
解决办法
2347
查看次数