问题标签 [laravel-environment]
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.
laravel - Laravel 5.2 未在 ubuntu 上读取 .env
注意:这个问题不是这些问题的重复:
我收到此错误:
当我尝试dd($config['key']);
它返回'null'。甚至数据库环境变量也返回 null。所以这意味着 Laravel 没有从 .env 文件中读取。
- 是什么原因?
- 如何解决这个问题?
现在我已经通过在 Config/app.php 文件中手动指定键并在 Config/database.php 文件中设置数据库值来解决这个问题
我怀疑我的 .env 文件的权限/所有者错误。我正在使用Elementary OS进行开发
php - 如果环境不是生产,你将如何跳过 Laravel Scout?
我有一个正在用 Laravel 编写的应用程序。我对这个框架还很陌生,而且大部分内容都不了解。我使用 Algolia 作为 Laravel 的 Scout 的搜索引擎。在你添加的模型use Searchable
中,一个特征,并且记录会自动传递给 Algolia,这很酷。我试图发表一个简单的声明if (App::environment('local'))" exit scout
,这样我们就不会将我们的开发数据发送到 Algolia。如果我用完 Algolia 的 10,000 条记录的黑客级别,Scout 也会抛出异常。
php - 为什么我在从 GIT 检索 Laravel 项目后运行它时会收到此错误消息?控制器不能工作?
我在Laravel中很新,我有以下问题。
我正在我的旧笔记本上开发一个Laravel 5应用程序,将我的代码放在我的GIT存储库中。然后我更换笔记本电脑,并从 GIT 签出我的 Laravel 5 项目。
然后我执行此语句以重新导入我的依赖项:
现在我的问题是我无法访问我的 Laravel 网站的已开发部分。
例如我有这个控制器类:
index()方法渲染resources/views/registration/index.blade.php视图。
问题是尝试打开 URL http://laravel.dev/registration我得到以下 Laravel 错误消息:
此外,如果我尝试访问http://laravel.dev/基本 URL,我将获得相同的错误消息。
其中laravel.dev是以这种方式在我的C:\xampp\apache\conf\extra\httpd-vhosts.conf文件中声明的虚拟主机:
其中C:/xampp/htdocs是我所有项目都部署在 Apache 中的位置,而C:/xampp/htdocs/HotelRegistration/public是我的 Laravel 5 项目的公共文件夹。
执行php artisan route:list语句,我获得了所有路由的列表:
其中包含:
所以看起来注册资源正确地关联到前面的控制器方法。
那么为什么我会遇到这个问题?问题是什么?我错过了什么?我该如何解决这个问题?
EDIT-1:进入laravel.log文件我发现了这个错误信息:
所以问题可能取决于我没有更多的.env文件这一事实(因为 GIT 似乎忽略了它)?
php - 使用 Liebig 在 Laravel 5.X 中运行 cron 作业时具有未定义的索引
我的 cron 工作中有一个奇怪的错误。一开始,当我运行 cron 作业时,它工作正常。那时我通常定义变量。像,$ck_host='abc';
。但是现在我更改代码并从 laravel 的 .env 文件中访问相同的变量。像,$ck_host=$_ENV['CK_HOST'];
。当我在浏览器中运行时,它工作正常。但在 cron 作业中,它显示未定义索引:CK_HOST。我附上了日志的图像。
笔记:
- 我正在使用vlucas/phpdotenv来访问 env 文件。
- 所有的 cron 都不在 Laravel 中。有一些在核心 PHP 中。问题出在核心 PHP 中。
- 在github中发布问题。但是没看懂答案。
我认为:
问题是我在代码中调用 .env 文件的位置。该玉米供应商无法使用该功能。
$dotenv = new Dotenv\Dotenv($doc_root);
$dotenv->load();
$doc_root
包含 env 文件的路径。请再次注意,所有文件都在浏览器中运行,但是当我运行 cron 时,我也在编写一个日志文件。错误就来了。
请帮我。或者告诉我如何在没有任何 laravel 供应商的情况下使用 .env 文件。
提前感谢您的帮助。
ajax - Laravel 加密密钥在页面加载时“消失”
我在使用 Laravel 和 Ajax 时遇到了一些问题,我无法通过 Google 或 Stackoverflow 解决这些问题。无论我看到什么解决方案,我都已经考虑过了。
偶尔我会收到 500 错误(有时是 401)。它只发生在 Ajax 上,这表明我没有正确发送 CSRF 令牌。
但是 CSRF 是在每个页面加载上,并且问题开始于 4 天前,而该项目大约有一个月的历史。它发生在 10 个 Ajax 调用中可能有 1 个。其他 9 个将执行得很好。
Ajax 调用在页面加载后立即进行。Laravel 是否有可能没有更新对传入 Ajax 调用的期望?没有其他 Ajax 调用会导致此问题。
laravel.log 说:
[堆栈跟踪]
这对我来说非常奇怪,有两个原因。首先,存在加密。如前所述,该项目已经存在很长时间,问题是零星的。其次,它说“production.ERROR”,但环境是本地的。我在 .env 文件中有这个:
有人对如何解决或如何进一步调试问题有任何想法吗?我在这里有点空白。
更新:这个问题肯定与页面加载时立即调用的 AJAX 调用有关。我刚刚在不同的项目中出现了完全相同的问题,项目中的所有其他 AJAX 调用都按预期工作;但是在页面加载时立即调用的那个会偶尔出现 401 和 500 失败。
laravel - 如何将 Laravel 护照/身份验证指向生产环境,同时利用本地数据库获取典型数据
我已经利用 Laravel 5x(比如说 api.test)构建了一个生产 API。我现在已经到了需要为 API 的用户创建一个沙盒环境来测试 API 而不会混淆实时数据的地步(比如说 sandbox.api.test)
显然,我可以创建一个当前生产环境的精确克隆,并将所有内容分开身份验证、密钥等。
理想情况下,我希望沙箱的身份验证部分指向生产数据库,这样用户就不必创建新的用户帐户并将 oauth 密钥与护照分开。
我正在努力解决他如何将任何与身份验证相关的内容,以便用户/护照指向我的生产环境,并将其余的数据库操作保留在 sandbox.api.test 本地
我知道我可以在 database.php 中创建一个新连接,但是我如何在我的沙箱代码中更新 auth 和 oauth ......这可能吗?
花旗
php - 如何从 Laravel 控制器中的用户获取或设置不同的 `env` 值
我正在尝试ENV
从用户端动态设置一些值。我想使用多个短信网关服务,以便用户可以使用多个网关中的任何一个。多个服务有不同api
的,sid
或token
。我将这些服务提供商凭据保存在sms_gateways
表中,并尝试使用此表中的这些凭据,而不是控制器方法中的手动代码。但是,像这样使用我遇到了麻烦。我正在尝试这样的事情 -
php - Laravel - 捕获 php artisan 命令
我做了一些更改config/app
以使用前端选择的多个数据库,现在我必须告诉\Request()->header('database')
我要访问哪个数据库。
它工作得很好,问题是:当我尝试执行任何工匠命令时,我的逻辑死了,因为没有通知数据库。
所以我需要在artisan commands中通知数据库,如下所示:
我如何观察所有命令以获取参数?
php - Laravel ENV 不重新加载
我使用Laravel 6.2和valet和PHP 7.3.12
问题是我想更改DB_DATABASE=laravel
为DB_DATABASE=something_else
in.env
文件,但它根本不重新加载新的 .env 值
我已经尝试过这个命令:
但它仍然没有改变。
我什至尝试在文件中添加一个新密钥并在Tinker.env
中查询它,但新密钥也没有添加。
laravel - 如何从 Laravel 中的 .env 文件访问存储文件
我创建了一个 JSON 文件以在我的 Laravel 项目 => BigQuery docs中使用 BigQuery 。我将文件放在文件storage
夹中以限制其访问。我只需要从我的.env
文件中访问它。
GOOGLE_APPLICATION_CREDENTIALS='/storage/file.json'
自然,我无法轻松访问该文件夹,并且我知道有一些方法可以访问它,但是创建符号链接会使该文件可以从任何地方访问,我不希望那样。有没有一种安全的方式来访问我的 .env 文件中的那个文件?或者有没有更好的方法,我应该在另一个文件夹中放置 JSON 文件?