问题标签 [phpdotenv]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 如何在类中使用 dotenv 变量?
我几天前才开始学习PHP,如果这个问题是新手,请原谅我。我的 CRAWLER_URI 声明有什么问题?在env()
方法之外不起作用,我不知道为什么。
php - 致命错误:在第 24 行的 .../Bootstrap/DetectEnvironment.php 中找不到类 'Dotenv\Dotenv'
不知道为什么我会收到此消息:
致命错误:未捕获的 Symfony\Component\Debug\Exception\FatalThrowableError: Class 'Dotenv\Dotenv' not found in /home/vagrant/devbox/devbox.local/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/DetectEnvironment。第 24 行的 php
下面是DetectEnvironment.php
代码:
在我重新启动计算机和服务器之前,我的项目一直正常工作。每当我访问该站点或运行 composer 或 artisan 命令时,我都会收到上述错误。
我尝试了各种我发现但没有奏效的解决方案。这包括:
- 专门将 vlucas/phpdotenv 添加到作曲家文件中(它已经存在于供应商文件结构中,但添加它是为了确保)
- 运行 composer update 和 composer dumpautoload
- 创建一个新的 .env 文件
创建一个新的 laravel 项目是可行的,但我真的不想这样做(对此必须有一个简单的解释/修复)。
中列出的类似问题,但都没有适合我的答案:
我正在使用最新的 Laravel 版本并在 Homestead 上运行它。
非常感谢任何指导!
laravel-5 - 使用多个 env 文件
我想知道 Laravel 中是否有一种方法可以指定一组要加载的 env 文件。我的确切问题是我想为我的所有资源添加后缀之类的.js
东西.css
。理想情况下,我会有一个像发布日期这样的后缀,因为这些文件可以缓存在同一个版本中,但我希望缓存在下一个版本中失效。但是,如果可能,我想避免读取、修改和保存.env
文件,而是更喜欢创建一个新文件,例如.env.rdate
通过脚本生成的文件,例如
或类似的东西。这是可能的还是我必须改为读取/更新/写入 .env 文件?
php - Laravel 5 - env() 总是返回 null
我试图找出为什么我的env()
助手总是返回null
。这会导致麻烦,特别是在app.php
文件中,env()
默认情况下广泛使用助手。也许任何神秘的服务器设置?
我的环境文件:
编辑 - 我试过以下:
当然,我正在使用env
这样的助手:env('APP_ENV')
但仍然没有成功。奇怪的是,该$_ENV
php 变量包含文件中的每个变量.env
。
php - Laravel PHPUnit 加载 .env.testing 文件
我在让 Laravel 为我的测试用例加载正确的 .env 文件时遇到了一些问题。我正在使用 PHPUnit,并在 phpunit.xml 中设置了以下 var:
在我的 .env.testing 文件中,我有:
我在 config/database.php 下建立了他的连接:
它只是没有加载 .env.testing 文件。如果我在我的 TestCase.php 中这样做:
我仍然从我的 .env 文件中获得“发展”
我也尝试过使用:
有谁知道可能出了什么问题?
php - Laravel 5 多个 bootstrap/cache/config.php 文件
假设我有一个用于 500 多个客户端的代码库,基于负载平衡的 Web 服务器。每个客户端都有自己的数据库,因此有自己的一组凭据。
这里的简单方法是为每个客户端凭据和环境设置使用不同的 .env 文件(顺便说一句,这很好用),但出于优化原因,我想运行“artisan cache:config”方法。这会将所有配置文件编译到 /bootstrap/cache 中的单个“config.php”文件中。
现在,对于很多客户来说,这不是很实用。我可以告诉 Laravel WHERE 在哪里查找缓存的配置文件吗?不改变核心代码?
就像从虚拟主机“CONFIG_PATH”和(伪代码)定义一个环境变量
或者是拥有很多目录的唯一可能性,每个目录都有它们的“Bootstrap/cache”文件夹,以及指向共享代码库的符号链接(在我看来,这是一条相当繁琐的路径)
提前致谢。
laravel - 如何从 `index.php` 中的 `.env` 访问设置
我正在为 Laravel 项目创建部署配置。我的托管public/
文件夹必须移动到另一个地方。显然,从那以后,我需要将路径更改为autoload.php
and app.php
in index.php
。
但是,我想添加并使用一个参数来告诉这些文件所在的位置。像这样的东西:
我认为,此类参数最合适的位置是 .env 文件。但是,我有一个错误:
laravel - 我可以使用 Maatwebsite 的 Laravel-Excel 将 startRow 设置为不同工作表的不同值吗?
我正在使用Maatwebsite 的 Laravel-Excel导入包含两张工作表的 Excel 文件。该文件是由另一个系统生成的;我无法改变它的制作方式。
在第一张纸上,第一行是列标题。这工作正常。
...但是第二张纸有两行不需要的文本,然后是第三行的标题。
我可以设置config(['excel.import.startRow' => 3])
在第三行开始导入,但这意味着我错过了第一张表中的前两行有用数据。
有什么办法可以让excel.import.startRow
第一张纸设置为 1,而excel.import.startRow
另一张纸设置为 3?
php - Laravel:通过发布第三方包来更新 .env 文件
我有一个想要包装到 Laravel 包中的库。
我的库使用两个配置:config.php
一些非敏感设置的公共.env
配置和敏感凭据的私有配置。
我想vendor:publish
为最终用户配置我的配置。对公众来说似乎很好,config.php
但如何以.env
Laravel 友好的方式发布我的?我没有找到任何方法来做到这一点vendor:publish
。
php - PHP Dotenv 导致 wordpress 配置运行两次
我有一个相对复杂的 laravel 项目,在其中我有一个 wordpress 安装,用于在与 composer 一起安装的一侧安装博客。
在我wp-config.php
的配置目录中,我使用了一个包含文件application.php
(用于组织目的)。我在文件中有各种define('XXX', 'config stuff');
类似的案例。当 'config stuff' 被硬编码时,该网站可以完美运行,但最近我试图使用 composer 安装的 dotenv 从我的 .env 中提取值 getenv()
当我var_dump
我的getenv('example_env_constant')
时候,它给了我正确的值,绝对没问题。所以我开始在我的 application.php 文件中设置这些。
但是现在当我加载网站时,我得到了大量
每人一份define('XXX', value);
还有一个
在测试中,我发现我的wp-config.php
文件正在运行一次。但不知何故,我application.php
的运行两次。第一次运行来自我的包含调用,wp-config.php
因为它应该是。触发错误的第二次运行发生在wp-settings.php
第 326 行
我不知道这是怎么回事。
如果我从中删除 dotenv 代码application.php
并将其直接放入我wp-config.php
的行为中,则行为完全相同,wp-config.php
运行一次并application.php
运行两次。
现在,如果我删除application.php
并将所有代码放入wp-config.php
传统的 wp 配置中。然后我再次遇到完全相同的问题,它引用了已删除的文件......这当然表明此时存在缓存问题,尽管我不认为缓存是原始问题的原因。使用 wp cli 运行缓存刷新不起作用,因为它实际上设法application.php
在刷新时遇到相同的错误。没关系,无论如何缓存首先被禁用。这不是浏览器缓存问题,因为新的隐身 chrome 实例和硬刷新没有区别。
这是一篇长篇文章,对此感到抱歉,我希望我足够清楚。我很困惑这是如何发生的,任何调试帮助或提示都会很棒。也许我错过了一些非常明显的事情,因为似乎将 dotenv 用于我的 wp 配置以我以前从未见过的方式彻底破坏了一切。最坏的情况是最坏的情况,我将回到硬编码 wp-config 文件
更新:
我错误地删除了 application.php 文件而不是停止相关的错误。它停止了需要的错误,但我得到了其他错误。如果我只是删除 application.php 的内容,那么我没有区别。
大错特错,如果有人只是有任何调试建议,将不胜感激
文件:
公共/帮助建议/ wp-config.php
配置/应用程序.php
wordpress 安装在 public/help-advice/wp
非作曲家生成的 wp 文件位于 public/help-advice/app 或 public/help-advice
如果您不能使用 pastebin,请粘贴代码:
这是 config.php
这是application.php