在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时没有这样的文件或目录[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 项目在 Ubuntu 16.04 上未运行 php artisan serve 时无法运行

解决laravel环境在Ubuntu下使用php artisan 创建文件后无法在phpstorm中编辑的问题

如何在不使用 artisan 的情况下在远程 ubuntu 服务器上连接 Laravel 7.12 项目的数据库

无法在 laravel 上运行 php artisan 命令

Laravel 5.3 PHP Artisan 不工作 PHP 警告:需要(bootstrap/../vendor/autoload.php)

可以在生产 laravel 网站上运行 php artisan :clear 命令吗? [关闭]