Ric*_*ges 7 bitbucket azure laravel artisan bitbucket-pipelines
我在BitBucket中设置了一个管道,以自动将我项目的主分支部署到Azure Web App实例.
该应用程序部署文件并按composer update
预期运行(虽然它确实警告它以root身份运行),但php artisan migrate --force
返回:
Illuminate\Database\QueryException:SQLSTATE [HY000] [1045]拒绝访问用户'forge'@'127.0.0.1'(使用密码:NO)(SQL:select*from information_schema.tables where table_schema = forge and table_name = migrations)
我已经创建了该.env
文件,当我php artisan migrate
在shell中运行时,它成功运行并创建了表.
由于部署脚本触发了命令,因此'forge'是database.php
我图中的默认用户.env
.
有没有明显的东西我错过了导致这个问题,或者我应该以某种方式将其设置为不以root身份运行?我可以替换数据库细节,database.php
但我觉得这是错误的.
编辑
.env内容(某些数据替换为********):
APP_NAME=Laravel
APP_ENV=local
APP_KEY=********
APP_DEBUG=true
APP_URL=********
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=********
DB_DATABASE=********
DB_USERNAME=********
DB_PASSWORD=********
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
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}"
Run Code Online (Sandbox Code Playgroud)
编辑2
我意识到我还没有发布我的bitbucket-pipelines.yml
文件:
image: php:7.2-fpm
pipelines:
branches:
master:
- step:
script:
- apt-get update && apt-get install -qy git curl libmcrypt-dev mysql-client && apt-get install -qy unzip git
- yes | pecl install mcrypt-1.0.1
- docker-php-ext-install pdo_mysql
- curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
- composer update
- php artisan migrate --force
- php artisan serve --port=80 &
- sleep 5
- curl -vk http://localhost:80
deployment: staging
services:
- mysql
definitions:
services:
mysql:
image: mysql:5.7
environment:
MYSQL_DATABASE: '******'
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
MYSQL_USER: '******'
MYSQL_PASSWORD: '******'
MYSQL_PORT: '******'
Run Code Online (Sandbox Code Playgroud)
我也有一个.env.pipelines
文件:
APP_ENV=local
APP_KEY=******
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_DATABASE=******
DB_USERNAME=******
DB_PASSWORD=******
Run Code Online (Sandbox Code Playgroud)
这个错误主要是由于文件修改后造成的.env
:
Illuminate\Database\QueryException : SQLSTATE[HY000] [1045] 用户 'forge'@'127.0.0.1' 的访问被拒绝(使用密码:NO)(SQL:从 information_schema.tables 中选择 *,其中 table_schema = forge 且 table_name = 迁移)
每当我们更改文件中的DB_DATABASE
,DB_USERNAME
和 时,我们都需要清除缓存。DB_PASSWORD
.env
编辑完成后.env
,必须清除缓存:php artisan config:cache
注意:如果数据库没有设置密码,请清除它DB_PASSWORD
,空格也必须删除(以前我也遇到过这个问题,将空格视为密码)
归档时间: |
|
查看次数: |
381 次 |
最近记录: |