Php artisan 无法迁移

标签 php mysql laravel server laravel-artisan

您好,我在使用 php artisan migrate 在我的 vps 服务器上进行迁移时遇到问题。 我已经安装了apache2和mysql。 我可以通过 mysql -u root -p 使用密码“pass#$”连接到我的数据库。 这是我的环境。

APP_NAME=Laravel
APP_ENV=local
APP_KEY=**
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=mysql
DB_USERNAME=root
DB_PASSWORD=pass#$

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

我从数据库中获取了这些信息:


+--------------------+
| Database           |
+--------------------+
| information_schema |
| laravel            |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

以及mysql中的这个表信息


+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| engine_cost               |
| event                     |
| func                      |
| general_log               |
| gtid_executed             |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| innodb_index_stats        |
| innodb_table_stats        |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| server_cost               |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+

更重要的是,我首先在我的电脑上创建了我的项目,现在我只能从我的 github 存储库中获取它。 当我访问我的网站 IP 时,我可以看到我所有的网站和 View 。

我尝试将.env文件127.0.0.1更改为本地主机,尝试通过php artisan config:clearphp artisan cache:clear清除配置,但它仍然不起作用。

编辑:我忘了

php artisan migrate

   Illuminate\Database\QueryException  : SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES) (SQL: select * from information_schema.tables where table_schema = mysql and table_name = migrations and table_type = 'BASE TABLE')

  at /home/projects/test/ArduinoWeather/vendor/laravel/framework/src/Illuminate/Database/Connection.php:669
    665|         // If an exception occurs when attempting to run a query, we'll format the error
    666|         // message to include the bindings with SQL, which will make this exception a
    667|         // lot more helpful to the developer instead of just the database's errors.
    668|         catch (Exception $e) {
  > 669|             throw new QueryException(
    670|                 $query, $this->prepareBindings($bindings), $e
    671|             );
    672|         }
    673|

  Exception trace:

  1   PDOException::("SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)")
      /home/projects/test/ArduinoWeather/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70

  2   PDO::__construct("mysql:host=localhost;port=3306;dbname=mysql", "root", "pass", [])
      /home/projects/test/ArduinoWeather/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70

  Please use the argument -v to see more details.

最佳答案

确保您的 mysql 正在端口 3306 上运行,并且您的用户名和密码正确。 然后转到您的项目文件夹并

config/database.php

更改这些:

'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),

而不是使用 .env 使用静态内联用户名和密码,例如:

'usename' => 'root',
'password' => 'your password'

看看它是否有效。

关于Php artisan 无法迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59228878/

相关文章:

php - 检查时间并获取联合时间

mysql - 如何在 MySQL 中组合互斥列

php - 如何从中间件向 Laravel 的 IOC 容器添加对象

javascript - 使用 onload 事件时 Jquery 按钮功能不起作用

php - fast-cgi 连接php-fpm 和nginx 是否是持久(keep-alive)连接?

mysql - 连接上的 WHERE 子句使执行时间增加 4 秒

php - Laravel 仓库模式解释

laravel - 如何禁用 .env 文件读取?

php - PHP 中的广告管理系统?

php - mysql select查询问题