为了账号安全,请及时绑定邮箱和手机立即绑定

Lamp 环境中的 PHP Artisan 迁移错误

Lamp 环境中的 PHP Artisan 迁移错误

PHP
慕仙森 2023-07-15 15:39:51
我在MAC上,我的XAMPP是XAMPP-VM,并使用lampp创建一个文件夹。在我的XAMPP中,我的服务器是:localhost:8080我有一个错误,它说Illuminate\Database\QueryException] SQLSTATE[HY000] [2002] 没有这样的文件或目录(SQL:从 information_schema.tables 中选择 *,其中 table_schema = laravel 且 table_name = 迁移)我尝试了很多解决方案,但没有一个对我有用。我不确定“DB_SOCKET”是什么,以及该文件的路径在 XAMPP 中的位置。.env    APP_NAME=Laravel    APP_ENV=local    APP_KEY=base64:zS3EUWDenTnhNu0CpN1TQdVSM0ArEgtFI1zpIwes1qQ=    APP_DEBUG=true    APP_URL=http://localhost    LOG_CHANNEL=stack    DB_CONNECTION=mysql    DB_HOST=localhost    DB_PORT=3306    DB_DATABASE=demo    DB_USERNAME=root    DB_PASSWORD=    DB_SOCKET=/Applications/lampp/tmp/mysql/mysql.sock    BROADCAST_DRIVER=log    CACHE_DRIVER=file    QUEUE_CONNECTION=sync    SESSION_DRIVER=file    SESSION_LIFETIME=120    REDIS_HOST=127.0.0.1    REDIS_PASSWORD=null    REDIS_PORT=6379    MAIL_MAILER=smtp    MAIL_HOST=smtp.mailtrap.io    MAIL_PORT=2525    MAIL_USERNAME=null    MAIL_PASSWORD=null    MAIL_ENCRYPTION=null    MAIL_FROM_ADDRESS=null    MAIL_FROM_NAME="${APP_NAME}"    AWS_ACCESS_KEY_ID=    AWS_SECRET_ACCESS_KEY=    AWS_DEFAULT_REGION=us-east-1    AWS_BUCKET=    PUSHER_APP_ID=    PUSHER_APP_KEY=    PUSHER_APP_SECRET=    PUSHER_APP_CLUSTER=mt1    MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"    MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"数据库.php'mysql' => [            'driver' => 'mysql',            'url' => env('DATABASE_URL'),            'host' => env('DB_HOST', '127.0.0.1'),            'port' => env('DB_PORT', '3306'),            'database' => env('DB_DATABASE', 'forge'),            'username' => env('DB_USERNAME', 'forge'),            'password' => env('DB_PASSWORD', ''),            'unix_socket' => env('DB_SOCKET', ''),            'charset' => 'utf8mb4',            'collation' => 'utf8mb4_unicode_ci',            'prefix' => '',            'prefix_indexes' => true,            'strict' => false,            'engine' => null,            'options' => extension_loaded('pdo_mysql') ? array_filter([            ]) : [],        ],
查看完整描述

2 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

更新 - XAMPP VM 解决方案

我之前描述的糟糕解决方案在不同的 XAMPP 安装中对我有用。由于您使用的是XAMPP-VM,它实际上创建了一个 Debian VM,具有不同的 MySQL 默认设置(可能是 VM 开箱即用的 MariaDB)。因此,来自本地计算机的访问将被禁止,默认情况下 PhpMyAdmin 也应受到限制,并且必须进行配置才能从虚拟机外部进行访问。

当 XAMPP VM 启动时,它会为 VM 分配一个 IP(如下图所示):

//img1.sycdn.imooc.com//64b24de30001e8f003070275.jpg

这是应该在 .env 数据库配置中使用的 IP(我的情况DB_HOST=192.168.64.2)。但为了能够连接到 VM 中的 MariaDB,需要从 XAMPP 的 VM 窗口打开终端。进入后,输入mysqlMariaDB,然后输入以下内容:

  • 创建由“admin”标识的用户“admin”@“%”;

  • 授予 上的所有权限TO 'admin'@'%' 并授予选项;

  • 同花顺特权;

这将允许您使用具有虚拟机外部所有权限的管理员用户从 Laravel 的应用程序访问 MySQL。.env 文件应如下所示:

DB_CONNECTION=mysql

DB_HOST=192.168.64.2

DB_PORT=3306

DB_DATABASE=demo // this schema would have to be created first

DB_USERNAME=admin

DB_PASSWORD=admin

现在移民应该对你有好处。


查看完整回答
反对 回复 2023-07-15
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

如果您使用的是Mac

在终端写入

作曲家全局需要“laravel/installer”(输入)

纳米.bash_profile(输入)

按 i 按钮,这样你就可以写了

导出 PATH="$PATH:$HOME/.composer/vender/bin"

按 alt+command 并输入按 x 按钮退出

然后打开你的XAMPP

单击常规

点击打开终端

单击终端

密码(输入)

cd 空间..(输入)

光盘选择/

cd lampp(即使您使用的是 xampp)

cd 文档

cd ur laravel 文件夹名称

php 工匠迁移

查看完整回答
反对 回复 2023-07-15
  • 2 回答
  • 0 关注
  • 96 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信