在ubuntu上运行php artisan migrate时没有这样的文件或目录[重复]

Posted

技术标签:

【中文标题】在ubuntu上运行php artisan migrate时没有这样的文件或目录[重复]【英文标题】:No such file or directory when run php artisan migrate on ubuntu [duplicate] 【发布时间】:2021-11-12 06:43:07 【问题描述】:

我将我的 laravel 项目从 windows 移动到 ubuntu,我做了所有需要的事情(安装 php、composer ...)然后当我运行 php artisan migrate 来创建我的数据库表时,它说:

In Connection.php line 664:
                                                                             
 SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from informa  
 tion_schema.tables where table_schema = blog and table_name = migrations)     
                                                                               

In Connector.php line 68:
                                                   
 SQLSTATE[HY000] [2002] No such file or directory  

PS:我在 Windows 中为我的数据库使用 WAMP 服务器。

我的 .env 数据库配置:

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=blog
DB_USERNAME=blog
DB_PASSWORD=

【问题讨论】:

你试过访问你的 phpMyAdmin 吗? 【参考方案1】:

您收到该错误是因为 php artisan migrate 正在尝试从您的数据库中检查迁移表以获取迁移详细信息,因此它不会再次迁移旧的迁移文件,但由于您想重新创建表,

运行这个php artisan migrate:fresh 这将清除数据库并重新创建所有表

或运行 php artisan migrate:install 这将创建迁移表, 然后运行php artisan migrate 创建所有其他表

【讨论】:

请在您的答案中添加一些解释,以便其他人可以从中学习 还要检查以确保您已创建数据库blog 不,我没有创建它,当我运行 php artisan migrate:fresh 它还说:SQLSTATE[HY000] [2002] 没有这样的文件或目录(SQL:SHOW FULL TABLES WHER E table_type = '基表') 在运行迁移之前必须先创建数据库 请问有什么特定的命令可以创建我的名为“blog”的数据库吗?【参考方案2】:

您的数据库似乎缺少migrations 表。你可以通过运行来创建它

php artisan migrate:install

之后,您将能够运行迁移。

【讨论】:

它说:连接被拒绝(SQL:创建表migrations(`id` int unsigned not null auto_increment 主键,migration varchar(25 5) not null,batch int not null ) 默认字符集 utf8mb4 collat​​e 'ut f8mb4_unicode_ci') 您确实首先创建了数据库“博客”,对吧?您可以使用phpMyAdmin(如果已安装)来创建它 您还需要在那里创建您的数据库用户,以便访问您的数据库。【参考方案3】: 使用127.0.0.1 for DB_HOST 运行 php artisan config:clear

【讨论】:

当我使用 ip 地址时它说:连接被拒绝而不是这样的文件或目录 总是解释你的答案。我很好奇当您建议将localhost 更改为127.0.0.1 时会发生什么... 请记住,好的解释有助于其他人从您的答案中学习

以上是关于在ubuntu上运行php artisan migrate时没有这样的文件或目录[重复]的主要内容,如果未能解决你的问题,请参考以下文章