php artisan migrate 没有这样的文件或目录
Posted
技术标签:
【中文标题】php artisan migrate 没有这样的文件或目录【英文标题】:Php artisan migrate no such file or directory 【发布时间】:2017-09-26 22:08:16 【问题描述】:我创建了一个 make:migration 尝试运行迁移时出现以下错误
没有这样的文件或目录(SQL:select * from information_schema.tables 其中 table_schema = 宅基地和 table_name = 迁移)。
在我的 env 文件中,我的 db 名称是 homestead,在我的 db 中,我有一个名为 migrations 的表。不太清楚为什么我会收到此错误。
【问题讨论】:
【参考方案1】:这对我有用。我正在使用 Homestead vagrant box,还有一堆其他的 Vagrant box 和 Docker 镜像用于各种项目,所以我的 Homestead box 的 IP 不是 127.0.0.1,而是 192.168.10.10。在我将 int .env 文件中的 IP 地址更新为
之前,我得到了SQLSTATE[HY000] [2002]
的变体
DB_CONNECTION=mysql
DB_HOST=192.168.10.10
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
和我的config/database.php
一起
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '192.168.10.10'),
'port' => env('DB_PORT', '3306'),
...
更改后我还运行了php artisan cache:clear
和php artisan config:clear
。之后运行
php artisan migrate
返回
Migration table created successfully.
希望它可以帮助某人。
您可以在Homestead/Homestead.yaml
文件中查看您的 Homestead 机器的 IP。
【讨论】:
我有一个非常相似的设置,这也适用于我,但我不知道为什么.. 你的(和我的)宅基地在具有 IP 的虚拟机上运行是正确的192.168.10.10,但 mysql 服务器和 php 正在该虚拟机内运行。因此,要从该虚拟机中访问数据库,您应该使用 localhost,对吗?同样的原因,您在虚拟机中使用端口 3306 而不是 33060,这是您从主机访问数据库的端口。 我在 laradock 中使用 docker,不得不将 .env 更改为 DB_HOST=mysql【参考方案2】:1) 运行命令:
作曲家转储自动加载
2) 回滚命令:
php 工匠迁移:回滚
然后创建您的迁移:
php artisan make:migration create_users_table
【讨论】:
【参考方案3】:the documentation 中写道:
如果你使用 Homestead 虚拟机,你应该从 within your virtual machine 运行这个 [php artisan migrate] 命令。
Then,
您可以通过从 Homestead 目录发出
vagrant ssh
终端命令来 SSH 到您的虚拟机。
所以请使用vagrant ssh
,或者如果您设置function in the documentation,请使用homestead ssh
登录 vagrant/homstead 虚拟机后,导航到您的代码位置。就我而言,我必须做cd Code/my-project-name
。这取决于您如何在 Homestead.yaml 文件中设置宅基地。
现在您位于项目文件夹中,运行 php artisan migrate
如果这仍然不起作用,请确保在您的 .env
文件中添加 DB_PORT is 3306
.
【讨论】:
以上是关于php artisan migrate 没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章
在ubuntu上运行php artisan migrate时没有这样的文件或目录[重复]
在 Mac 上设置 Laravel php artisan migrate 错误:没有这样的文件或目录 [重复]
在 Mac 上设置 Laravel php artisan migrate 错误:没有这样的文件或目录 [重复]
Laravel - php artisan migrate 不起作用