laravel项目之发布导致的BUG(环境变量问题)
发布时间 - 2019-02-11 00:00:00 点击率:次
本篇文章给大家带来的内容是关于laravel项目之发布导致的BUG(环境变量问题) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
laravel项目的某一次发布后,项目中连接数据库突然报错,而用同样的数据库账号密码在机器上连接是可以的。
临时解决方案
经过短暂时间的排查,没找到原因,原数据库密码DB_PASSWORD=abcde#142!*,修改数据库密码为DB_PASSWORD=abcde2019后,恢复正常。
排查思路
变更密码后,数据库能正常连接,可见是密码问题,同时同样的密码在项目中访问数据库失败而在机器上可以访问成功,可判断是环境问题导致的密码问题。
在项目中打印数据库连接配置的日志,如下:
Array
(
[driver] => mysql
[host] => xxx
[port] => xxx
[database] => xxx
[username] => xxx
[password] => abcde
[unix_socket] =>
[charset] => utf8mb4
[collation] => utf8mb4_unicode_ci
[prefix] =>
[strict] => 1
[engine] =>
)可见密码配置在env中为DB_PASSWORD=abcde#142!*,但是在PHP代码中读取的数据库密码配置为abcde,可见#后面的内容代码中认为是注释,从而忽略了。
继续查看jenkins发布日志,发现了有一段日志输出:
Package operations: 0 installs, 3 updates, 0 removals - Updating vlucas/phpdotenv (v2.5.2 => v2.6.0): Downloading (connecting...)Downloading (0%) Downloading (15%)Downloading (100%)
发布过程中,有一个依赖包的升级。
查看vlucas/phpdotenv的文档,看到以
下说明:
Comments
You can comment your .env file using the # character. E.g.
# this is a comment VAR="value" # comment VAR=value # comment
解决方案
.env文件中,对密码字段加上双引号,如DB_PASSWORD="abcde#142!*",然后一切恢复正常。
建议.env文件中,环境变量的配置,最好都加上"",避免出现意外的灾难。
# laravel
# php
# 恢复正常
# 而在
# 对你
# 有一定
# 给大家
# 机器上
# 报错
# 中为
# 过程中
# 而用
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
个人摄影网站制作流程,摄影爱好者都去什么网站?
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
Linux系统命令中tree命令详解
如何在IIS中新建站点并解决端口绑定冲突?
详解Oracle修改字段类型方法总结
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理
html5的keygen标签为什么废弃_替代方案说明【解答】
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
使用Dockerfile构建java web环境
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
如何在阿里云虚拟主机上快速搭建个人网站?
JavaScript如何实现路由_前端路由原理是什么
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
在centOS 7安装mysql 5.7的详细教程
Laravel如何配置任务调度?(Cron Job示例)
活动邀请函制作网站有哪些,活动邀请函文案?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
如何在局域网内绑定自建网站域名?
,南京靠谱的征婚网站?
如何快速生成ASP一键建站模板并优化安全性?
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
创业网站制作流程,创业网站可靠吗?
Laravel Docker环境搭建教程_Laravel Sail使用指南
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
微信公众帐号开发教程之图文消息全攻略
如何选择可靠的免备案建站服务器?
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
如何在宝塔面板创建新站点?
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
手机网站制作与建设方案,手机网站如何建设?
JavaScript中的标签模板是什么_它如何扩展字符串功能
网站建设保证美观性,需要考虑的几点问题!
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
焦点电影公司作品,电影焦点结局是什么?
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
详解阿里云nginx服务器多站点的配置
Laravel如何实现模型的全局作用域?(Global Scope示例)
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
南京网站制作费用,南京远驱官方网站?

