我目前在Laravel应用程序中使用Algolia作为我的搜索引擎,因此每当创建记录时,它也会被发送到Agolia数据库。当然,我想将Algolia数据库中的数据与用于本地开发的测试集和用于实时网站的生产集分开。我已经定义了在JavaScript文件中使用我的Algolia数据库的哪些索引。现在我想知道如何根据我当前的环境对我的APP_ENV变量做出相应的react来改变它?显然,我需要将内容放入我的JavaScript中的if语句中,但如何让我的javascript正确访问.env变量?希望有人能帮助我。干杯。 最佳答案 您可以在
使用ZendFramework设置环境(生产/暂存/开发)的标准做法是在Apache配置(或.htaccess)中使用SetEnv来设置APPLICATION_ENV。这显然适用于Web请求,但是运行命令行脚本(仍然是应用程序的一部分,使用相同的Bootstrap,并依赖于正确的APPLICATION_ENV)呢?有什么最佳做法吗?现在我只是将一个.environment.php文件放到我的cli目录中——如果它存在,它就会被包含(类似于.htaccess我猜测),并且可以用来设置环境。 最佳答案 从终端对于(linux)仅命令行用
我在我的机器上使用Ubuntu14.04。我在文档根目录中安装了composer和laravel即/var/www我还授予了-R777文件夹laravel的权限,该文件夹存在于目录/var/www然后我使用cd/var/www/laravel进入目录laravel并运行以下命令phpartisan我看到了那里有所有可用的命令。然后我输入phpartisankey:generate得到了错误[ErrorException]file_get_contents(/var/www/laravel/.env):failedtoopenstream:Nosuchfileordirectory在这里
我有一个包含我的数据库连接详细信息的.env文件,这对于Laravel5来说是正常的。我想覆盖这些以进行测试,我可以在phpunit.xml。然而,这样做似乎违背了.env的理念,即不提交环境配置,尤其是密码。是否有可能有类似.env.testing的东西并告诉phpunit.xml从中读取? 最佳答案 您可以覆盖在您的TestCase文件中使用的.env文件,在该文件中启动框架进行测试。更具体:测试/TestCase.php/***Createstheapplication.**@return\Illuminate\Foundat
我看到在他们的默认安装中,他们的index.php有这个:define('ENVIRONMENT',isset($_SERVER['CI_ENV'])?$_SERVER['CI_ENV']:'development');为什么CI_ENV已经设置在$_SERVER数组中? 最佳答案 正如奥利弗所描述的;它是多种环境的特殊用例。在获取代码之前通过.htaccess拆分开发、测试和生产。要配置它:开发(本地主机)SetEnvCI_ENVdevelopment测试(您的本地服务器)SetEnvCI_ENVtesting生产(远程服务器)S
我正在使用WAMP。我想在命令提示符下使用php。这个在PATH环境变量中的条目是什么? 最佳答案 您需要将PHP目录添加到您的路径中。在命令行上(例如在批处理文件中),它看起来像这样:SETPATH=%PATH%;C:\your\wamp\path\php如果有疑问,它是包含php.exe的目录。您也可以在Windows的控制面板中预先设置路径。参见here例如,如何在Windows7中执行此操作。请注意,如果您从任意目录调用PHP可执行文件,该目录将是工作目录。您可能需要调整脚本,以便它们使用正确的目录进行文件操作(如果有的话)
当我看到要从命令行运行的PHP时,通常会在文件顶部有这样一行#!/usr/bin/envphp。..#!/usr/bin/envphp我想知道这是否仅适用于文件在Linux/Unix系统上运行时的情况,还是也需要在Windows上运行? 最佳答案 shebang行是自动检测脚本类型所必需的。它支持这种用法:[pfisher~]$chmod+xrun-me.php[pfisher~]$run-me.php如果将文件名作为参数传递给php解释器,则不需要该行,如下所示:[pfisher~]$phprun-me.php编辑:将"hashb
在laravel4中我们有:$env=$app->detectEnvironment(array('local'=>array('homestead')));默认。但是在laravel5中它变成了:$env=$app->detectEnvironment(function(){returngetenv('APP_ENV')?:'production';});此外,他们已经排除了.gitignore中的.env.*行,现在它有:.env并添加了文件.env.example:APP_ENV=localAPP_KEY=SomeRandomStringDB_USERNAME=homestead
我正在尝试为我的应用启用调试,但我似乎没有任何反馈。环境设置为本地(在.env文件中),如果我运行phpartisanenv我明白了Currentapplicationenvironment:local我的本地环境的调试配置设置为truereturn['debug'=>true,另外,如果我在我的主配置文件(config文件夹中的app.php)中设置debug=true我仍然有反馈说代码中有错误。如果代码有错误,我只有一个空页面(如debug=false)我错过了什么? 最佳答案 我已经通过chmod-R777storage/
如何在Laravel的whoops输出中隐藏我的密码和其他敏感环境变量?有时其他人正在查看我的开发工作。如果抛出异常,我不希望他们看到这些secret,但我也不希望不得不不断地打开和关闭调试,或者为了快速预览而启动一个专用站点。 最佳答案 截至Laravel5.5.13,您可以通过在config/app.php的键debug_blacklist下列出变量来审查变量。当抛出异常时,whoops将用星号*为每个字符屏蔽这些值。例如,给定这个config/app.phpreturn[//...'debug_blacklist'=>['_E