laravel - PDOException 错误 - 无法连接到数据库
问题描述
我正在使用 PHP 7.1、MySQL 5.7 和 Laravel 5.7.12。在 Mac 上。
我是 Laravel 的新手。我正在远程服务器(Cloudways 服务器)上构建我的应用程序。我知道大多数人在本地构建他们的项目,然后将他们的应用程序部署到远程服务器上,但我只是在实时远程服务器上构建我的应用程序并且我正在使用 SFTP。
我已经配置了我的 .env 文件以反映我的服务器的连接详细信息。
当我尝试运行 php artisan migrate 时,出现此错误:
Illuminate\Database\QueryException : SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schema.tables where table_schema = ********* and table_name = migrations)
at /Users/newadmin/Documents/Sites/Quipper/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664
660| // If an exception occurs when attempting to run a query, we'll format the error
661| // message to include the bindings with SQL, which will make this exception a
662| // lot more helpful to the developer instead of just the database's errors.
663| catch (Exception $e) {
> 664| throw new QueryException(
665| $query, $this->prepareBindings($bindings), $e
666| );
667| }
668|
Exception trace:
1 PDOException::("SQLSTATE[HY000] [2002] No such file or directory")
/Users/newadmin/Documents/Sites/Quipper/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70
2 PDO::__construct("mysql:host=localhost;dbname=*********", "*********", "**********", [])
/Users/newadmin/Documents/Sites/Quipper/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70
上面我把 ********** 放在了我的数据库名称、用户名和密码所在的位置,我想只是出于安全原因。
我认为值得注意的是第二个异常跟踪它说“mysql:host = localhost;”,当我在我的.env文件中输入我的DB_HOST地址时,这是一个远程服务器地址。所以它不应该说 localhost。这似乎是问题的一部分?
任何帮助将不胜感激!
我已经尝试在我的终端中运行:
php artisan 缓存:清除 php artisan 配置:缓存
那没有用。
解决方案
从日志文件中,查看 PHP 脚本的路径
/用户/新管理员/文档/站点/Quipper
这是在您的本地 Mac 或 MacBook 计算机中,这意味着您需要通过 SSH 连接到您的 Cloudways 服务器,然后运行php artisan migrate
命令
SSH 我的意思是运行类似的东西
ssh cloudways_user@server_IP_ADDRESS
cd Quipper && php artisan migrate
推荐阅读
- java - 考虑在配置 SpringBoot 中定义一个名为“entityManagerFactory”的 bean
- android - 如何将斯坦福 CoreNLP 库导入 Android Studio
- c# - 如何在一个地方暂停多个线程,然后让一个线程做一些事情?C# (Zennoposter)
- python - OpenIE Python Wrapper 遇到 AssertionError
- c++ - 模板参数推导/替换失败,lambda 作为函数指针
- perl - Perl Mojolicious 重命名应用脚本
- javascript - Javascript 隐藏-取消隐藏 HTML 文本框
- reactjs - 使用 react ag 数据网格进行延迟加载
- vue.js - 如何使用nuxt js将字体嵌入到所有页面
- symfony-2.8 - 防止每次刷新实体时更新 createdAt 字段