草庐IT

php - 如何在 Laravel 5 中为 phpunit 指定不同的 .env 文件?

我有一个包含我的数据库连接详细信息的.env文件,这对于Laravel5来说是正常的。我想覆盖这些以进行测试,我可以在phpunit.xml。然而,这样做似乎违背了.env的理念,即不提交环境配置,尤其是密码。是否有可能有类似.env.testing的东西并告诉phpunit.xml从中读取? 最佳答案 您可以覆盖在您的TestCase文件中使用的.env文件,在该文件中启动框架进行测试。更具体:测试/TestCase.php/***Createstheapplication.**@return\Illuminate\Foundat

php - CodeIgniter3 : Why would $_SERVER ['CI_ENV' ] ever be set in the first place?

我看到在他们的默认安装中,他们的index.php有这个:define('ENVIRONMENT',isset($_SERVER['CI_ENV'])?$_SERVER['CI_ENV']:'development');为什么CI_ENV已经设置在$_SERVER数组中? 最佳答案 正如奥利弗所描述的;它是多种环境的特殊用例。在获取代码之前通过.htaccess拆分开发、测试和生产。要配置它:开发(本地主机)SetEnvCI_ENVdevelopment测试(您的本地服务器)SetEnvCI_ENVtesting生产(远程服务器)S

php - 如何为 PHP 设置 env 变量?

我正在使用WAMP。我想在命令提示符下使用php。这个在PATH环境变量中的条目是什么? 最佳答案 您需要将PHP目录添加到您的路径中。在命令行上(例如在批处理文件中),它看起来像这样:SETPATH=%PATH%;C:\your\wamp\path\php如果有疑问,它是包含php.exe的目录。您也可以在Windows的控制面板中预先设置路径。参见here例如,如何在Windows7中执行此操作。请注意,如果您从任意目录调用PHP可执行文件,该目录将是工作目录。您可能需要调整脚本,以便它们使用正确的目录进行文件操作(如果有的话)

php - 从命令行运行 PHP 是否需要 #!/usr/bin/env?

当我看到要从命令行运行的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

php - 在 Laravel 5 中设置 ENV 变量的正确方法是什么?

在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

php - Laravel 5 - env local debug true 没有显示错误

我正在尝试为我的应用启用调试,但我似乎没有任何反馈。环境设置为本地(在.env文件中),如果我运行phpartisanenv我明白了Currentapplicationenvironment:local我的本​​地环境的调试配置设置为truereturn['debug'=>true,另外,如果我在我的主配置文件(config文件夹中的app.php)中设置debug=true我仍然有反馈说代码中有错误。如果代码有错误,我只有一个空页面(如debug=false)我错过了什么? 最佳答案 我已经通过chmod-R777storage/

php - 如何在 Laravel whoops 输出中隐藏 .env 密码?

如何在Laravel的whoops输出中隐藏我的密码和其他敏感环境变量?有时其他人正在查看我的开发工作。如果抛出异常,我不希望他们看到这些secret,但我也不希望不得不不断地打开和关闭调试,或者为了快速预览而启动一个专用站点。 最佳答案 截至Laravel5.5.13,您可以通过在config/app.php的键debug_blacklist下列出变量来审查变量。当抛出异常时,whoops将用星号*为每个字符屏蔽这些值。例如,给定这个config/app.phpreturn[//...'debug_blacklist'=>['_E

javascript - react 原生 : detect dev or production env

我开发了一个react-native应用程序,应该进行一些API调用。如果我处于生产模式,我的应用应该调用,例如,这个主机:https://example.com/但如果我处于开发模式,它应该在不同的端口上调用我的本地主机,例如:http://192.168.0.10:8080/react-native代码如何感知其环境?.dotenv似乎不适用于react-native。在Chrome调试中,我们可以看到应用程序是使用一些参数启动的:Runningapplication"AppName"withappParams:{"initialProps":{},"rootTag":1}.__D

node.js - Mocha + Nodejs + Heroku .env 文件

我有一个在Heroku上运行的用NodeJS编写的REST应用程序。我为本地开发设置了.env文件,并且每当我运行工头在本地为我的应用程序提供服务时都可以正常工作。当我将它部署到我的heroku服务器时,该应用程序也运行良好。我正在尝试使用Mocha/Supertest/should/assert为我的应用程序编写单元测试。当我通过Mocha运行我的应用程序时,它不会加载.env文件来获取我的环境变量——在我的例子中,是PSQL数据库的URL。结果,我所有涉及DBI/O超时的测试。我一直在互联网上寻找解决方案,但似乎找不到任何有用的东西。这里是一些示例代码:app.js:varappl

javascript - 如何删除 process.env 中的值?

我想从process.env中删除一个值:process.env.VALUE_I_WANT_REMOVED=undefined;但是当我这样做时,process.env.VALUE_I_WANT_REMOVED被设置为字符串"undefined",而不是值undefined。我如何真正从process.env中删除值? 最佳答案 试试这个:deleteprocess.env.VALUE_I_WANT_DELETED;根据theNode.jsdocumentation:Assigningapropertyonprocess.envwi