php-Laravel 5.2无法读取env fi

升级到Laravel 5.2后,没有读取我的php artisan tinker文件值。 我遵循了升级说明; 除auth.php外,我的所有配置文件均未更改。 它们在以前的版本5.1.19中都正常工作

php artisan tinker包含以下值

DB_DATABASE=mydb

DB_USERNAME=myuser

php artisan tinker包含

'mysql' => [

'database' => env('DB_DATABASE', 'forge'),

'username' => env('DB_USERNAME', 'forge'),

]

我收到此错误:

PDOException: SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using password: NO)

显然没有拉入我的环境配置。 这正在影响我的每个配置文件,包括第三方(例如bugsnag)。

我也试过

php artisan config:clear

php artisan cache:clear

更新

尝试php artisan tinker

>>> env('DB_DATABASE')

=> null

>>> getenv('DB_DATABASE')

=> false

>>> config('database.connections.mysql.database')

=> "forge"

>>> dd($_ENV)

[]

我尝试安装Laravel 5.2的新副本。 我基本上只复制到我的“ app”文件夹中; 不包括其他作曲家软件包。 仍然有同样的问题。 我在同一台服务器上还有其他运行良好的Laravel 5.2项目。

21个解决方案

60 votes

从官方的Laravel 5.2升级说明中:

如果在部署期间使用env命令,则您   必须确保您仅从内部调用env函数   您的配置文件,而不是从您的其他任何地方   应用。

如果从应用程序内部调用env,则强烈建议   建议您在配置中添加适当的配置值   文件,然后从该位置调用env,允许您进行转换   您的env呼叫至config呼叫。

参考:[https://laravel.com/docs/5.2/upgrade#upgrade-5.2.0]

Gaurav Gupta answered 2019-10-09T03:50:39Z

39 votes

如果您的SITE_NAME="My website"变量中的任何一个包含空格,请确保将它们用双引号引起来。 例如:

SITE_NAME="My website"

测试之前,请不要忘记清除缓存:

php artisan config:cache

php artisan config:clear

benjolly1989 answered 2019-10-09T03:51:18Z

35 votes

哇。 真是的 这是因为我有一个env值,其中带有一个空格,没有用引号引起来

这个

SITE_NAME=My website

改成这个

SITE_NAME="My website"

修复。 我认为这与Laravel 5.2现在将vlucas / phpdotenv从1.1.1升级到2.1.0有关

andrewtweber answered 2019-10-09T03:52:04Z

20 votes

我在config/services.php中遇到了类似的问题,并使用config clear和optimize命令解决了:

php artisan config:clear

php artisan optimize

Deric Lima answered 2019-10-09T03:52:31Z

13 votes

运行这个:

php artisan config:clear

php artisan cache:clear

然后

php artisan config:cache

Ganesh K answered 2019-10-09T03:53:05Z

8 votes

当您发出命令php artisan config:cache时,它将清除所有env变量,并且env()将给出空值,尝试运行以下跟随命令,并在那儿动臂,您的env()再次开始捕捉所有env变量

php artisan config:clear

Shahrukh Anwar answered 2019-10-09T03:53:33Z

8 votes

我在本地环境上遇到了同样的问题,

PHP的工匠配置:清除

PHP的工匠配置:缓存

然后取消php artisan serve命令,然后再次重新启动。

jay_mziray answered 2019-10-09T03:54:20Z

7 votes

简单就是力量:

php artisan config:cache

您将收到:

配置缓存已清除!

配置成功缓存!

Adam Kozlowski answered 2019-10-09T03:55:08Z

6 votes

我在升级说明中错过了这一点:

将环境配置选项添加到.env配置文件中,如下所示:   'env' => env('APP_ENV', 'production')

添加此行可以正确读取本地.env文件。

dKen answered 2019-10-09T03:55:48Z

5 votes

使用以下方法删除缓存:

php artisan config:clear

php artisan config:cache

Diego Santa Cruz Mendezú answered 2019-10-09T03:56:17Z

3 votes

除了@andrewtweber建议的内容外,还要确保KEY =和值之间没有空格,除非它在引号之间

.env文件,例如:

...

SITE_NAME= My website

MAIL_PORT= 587

MAIL_FROM_NAME= websitename

...

至:

...

SITE_NAME="My website"

MAIL_PORT=587

MAIL_FROM_NAME=websitename

...

Waqleh answered 2019-10-09T03:56:53Z

3 votes

我在本地遇到了同样的问题,并且在这里尝试了所有答案,但无济于事。 只有这对我有用php artisan config:clear和restart server。就像魅力一样!

Dexter Bengil answered 2019-10-09T03:57:23Z

3 votes

当:port在本地.env中时,也会发生同样的事情

再次使用双引号可以解决问题

APP_URL="http://localhost:8000"

然后

php artisan config:clear

Stavros answered 2019-10-09T03:58:00Z

2 votes

我使用以下命令解决了此问题,生成了一个新密钥:php artisan key:generate

Angel Prieto answered 2019-10-09T03:58:30Z

2 votes

如果您在本地开发过程中确实调用了config:cache,则可以通过删除bootstrap / cache / config.php文件来撤消此操作。 这对我来说是工作。

Payal Pandav answered 2019-10-09T03:58:59Z

2 votes

对我来说,它按以下顺序工作:

php artisan config:cache

php artisan config:clear

php artisan cache:clear

而且我尝试了所有其他方法而没有运气。

TrOnNe answered 2019-10-09T03:59:34Z

0 votes

如果在控制台上运行此php artisan config:cache命令,则它将所有.env文件内容存储在高速缓存中,在此命令之后,如果将任何内容附加到.env文件中,则在您运行php artisan config:clear命令之前它将不可用

Chandrakant Ganji answered 2019-10-09T04:00:04Z

0 votes

我经历了 原因是apache(用户www-data)由于文件权限而无法读取.env。因此,我更改了文件权限,以确保服务器(Apache)具有对该文件的读取权限。 就这样,繁荣起来,现在一切正常!

gthuo answered 2019-10-09T04:00:33Z

0 votes

我在index.php文件中执行dd / die / dump时犯了错误。 这将导致系统无法重新生成配置。

只需在视图文件中转储即可。 对.env文件的更改会立即更新。

Bing Han answered 2019-10-09T04:01:10Z

0 votes

如果您在本地开发过程中确实调用了config:cache,则可以通过删除bootstrap / cache / config.php文件来撤消此操作。 这对我来说是工作。

@Payal Pandav在上面给出了评论。

我想告诉一个简单的解决方法。 只需在bootstrap / cache /文件夹中编辑config.php文件。 并更改凭据。 这对我有用。 请不要删除此文件,因为它可能在生产环境中包含其他关键数据。

Daya Satheesh answered 2019-10-09T04:01:49Z

0 votes

对我来说,以下工作

PHP的工匠配置:缓存

PHP的工匠配置:清除

PHP的工匠缓存:清除

beatusfk answered 2019-10-09T04:02:29Z

php env 函数不存在,php-Laravel 5.2无法读取env fi相关推荐

  1. php env 函数不存在,PHP编程:探究Laravel使用env函数读取环境变量为null的问题

    <PHP编程:探究Laravel使用env函数读取环境变量为null的问题>要点: 本文介绍了PHP编程:探究Laravel使用env函数读取环境变量为null的问题,希望对您有用.如果有 ...

  2. 修改$_env php,Laravel如何友好的修改.env配置文件详解

    前言 难道每次改 .env 都得通过修改代码来改吗?.env 文件能不能通过在后台配置呢? 其实是很简单就可以实现的,把以下函数加入到你的项目中 示例代码 function modifyEnv(arr ...

  3. Laravel源码解析之ENV配置

    Laravel在启动时会加载项目中的 .env文件.对于应用程序运行的环境来说,不同的环境有不同的配置通常是很有用的. 例如,你可能希望在本地使用测试的 Mysql数据库而在上线后希望项目能够自动切换 ...

  4. vue项目中的 env文件从何而来?什么是 process.env

    start 在 vue 项目中,时常会遇到到这么一行代码 process.env 这东西是什么,怎么用? 今天一篇文章带你了解 process.env 1.使用场景 先别急,先看 vue 项目中的用法 ...

  5. python 读取.env配置文件

    python 读取.env配置文件 目录结构 project/ ├─config │ └─__init__.py | └─base.py | └─conf.py ├─.env ├─.env.examp ...

  6. c语言读取文件函数,C语言文件操作详细分析:读取文件(fread函数使用)

    C语言文件操作详细分析:读取文件(fread函数使用) 这里详细介绍了C语言读取文件的函数fread的使用说明,参照了MSDN的说明,同时加入自己的经验让大家学的更加明白. C语言读取文件函数frea ...

  7. Laravel中的env函数获取不到确定存在的配置

    我的个人博客:逐步前行STEP 今天重启服务器后发现网站有个报错,一看是获取配置出错,于是去检查配置,发现没问题,配置是正确的,于是想着换成getenv函数试试,还是不行,执行一遍composer i ...

  8. oracle的env函数用法,env命令_Linux env 命令用法详解:显示系统中已存在的环境变量...

    env命令用于显示系统中已存在的环境变量,以及在定义的环境中执行指令.该命令只使用"-"作为参数选项时,隐藏了选项"-i"的功能.若没有设置任何选项和参数时,则 ...

  9. php laravel 默认cookie加密 读取怎么办_Laravel+Nginx轻松实现读写分离、负载均衡,网站并发能力提升N倍...

    前言: 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题.对于一个大型的互联网应用,每天百万级甚至上亿的PV无疑对数据库造成了相当高的负载.对于系统的稳定性和扩展性造成了极大的问 ...

  10. imread函数 matlab_【MATLAB图像处理学习】1.读取和显示图片

    CHAPTER2 图像处理的基础函数 [使用的教材:冈萨雷斯 数字图像处理MATLAB(Digital image processing with Matlab] [原书图片下载地址:点这里] 先介绍 ...

最新文章

  1. 【卷积神经网络结构专题】经典网络结构之VGG(附代码实现)
  2. APP功能需求第一版
  3. 地图画指定区域_聊城各地区公司变更跨区域迁移的流程及需要准备的材料有哪些...
  4. linux下无root权限使用yum安装的方法
  5. python祝福祖国代码_国庆节踩空间留言代码_国庆节祝福正在加载中
  6. Python 3 利用 Dlib 和 sklearn 人脸笑脸检测机器学习建模
  7. android新建多个java,Java-如何在Android的警报对话框中添加多项选...
  8. 【软件工程】第一次阅读作业
  9. python与java前景-Python与Java相比,其优势在哪?
  10. SpringBoot(尚硅谷)
  11. Excel选择下拉匹配
  12. ntfs在linux上读取,详解在Mac系统上读取Windows NTFS方法
  13. ubuntu本地安装中文
  14. 郑捷 机器学习算法与编程实践 --ID3决策树 python3 代码
  15. java给word增加页码_Java 添加页码到Word文档
  16. 嵌入式技术学习总结二
  17. spire.doc.free2.7.3生成目录后修改目录的字体
  18. 如何计算Java对象的大小
  19. 工信部就垃圾短信问题约谈7家虚拟运营商
  20. l1-047. 装睡c语言,L1-047 装睡 (10 分)- PAT团体程序设计天梯赛

热门文章

  1. xcode 9.0 iOS 11
  2. 记redis的一个测试
  3. 【转】C语言编程中static变量详解
  4. javascript 代码段整理
  5. 让你的AIR程序自动检测更新,并自动下载、更新到新版本。
  6. spring 多租户数据源实现事务一致性
  7. ActiveMQ(二)——常用api、持久化、签收模式、以及常见问题
  8. Netty之大名鼎鼎的EventLoop
  9. 类的加载过程详解之过程一:Loading(加载)阶段
  10. 【Hoxton.SR1版本】Spring Cloud Ribbon负载均衡服务调用