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