php项目使用xdebug进行调试,配置了launch.json,configurations的env配置项中设置了环境变量,用于在不同的模式下,链接不同的数据库,但是这个配置并没有生效,请问这个应该怎么配置?
launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "server and debug (aliyun)",
"type": "php",
"request": "launch",
"runtimeArgs": [
"-S",
"localhost:8000",
"-t",
"."
],
"port": 9003,
"cwd": "${workspaceFolder}/public",
// "preLaunchTask": "set-env-aliyun",
"serverReadyAction": {
"action": "openExternally"
},
"env": {
"HOSTNAME": "xxx.xx.xx.19",
}
},
{
"name": "server and debug (huaweiyun)",
"type": "php",
"request": "launch",
"runtimeArgs": [
"-S",
"localhost:8000",
"-t",
"."
],
"port": 9003,
"cwd": "${workspaceFolder}/public",
// "preLaunchTask": "set-env-huaweiyun",
"serverReadyAction": {
"action": "openExternally"
},
"env": {
"HOSTNAME": "xxx.xx.xx.84"
}
},
{
"name": "server and debug (loc)",
"type": "php",
"request": "launch",
"runtimeArgs": [
"-S",
"localhost:8000",
"-t",
"."
],
"port": 9003,
"cwd": "${workspaceFolder}/public",
// "preLaunchTask": "set-env-loc",
"serverReadyAction": {
"action": "openExternally"
},
"env": {
"HOSTNAME": "127.0.0.1"
}
}
]
}
不知道怎么弄,并没有太多的尝试。
在你的launch.json
配置中,你已经正确地为不同的调试配置设置了不同的环境变量HOSTNAME
,这些配置应该能够在使用VS Code进行PHP调试时生效。但是,如果这些环境变量没有在你的应用程序中按预期工作,可能是因为几个原因:
getenv('HOSTNAME')
来读取环境变量。请检查你的代码,确保你是以这种方式读取HOSTNAME
的。数据库连接字符串:在你的PHP代码中,确保数据库连接字符串是根据HOSTNAME
环境变量动态构建的。例如:
$hostname = getenv('HOSTNAME') ?? 'default_hostname';
$dsn = "mysql:host=$hostname;dbname=your_database;charset=utf8mb4";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
$pdo = new PDO($dsn, 'username', 'password', $options);
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
.env
文件或Apache/Nginx配置)覆盖了HOSTNAME
环境变量。HOSTNAME
环境变量的值是否如你所期望的那样被读取。如果以上步骤都不能解决问题,建议检查VS Code的官方文档或社区论坛,看看是否有其他用户遇到了类似的问题,并找到了解决方案。
问题内容: 在node.js项目上使用新的VSCode编辑器。我正在尝试通过编辑launch.json文件来配置“启动”配置文件以进行调试。我需要将连接字符串设置为环境变量。根据launch.json文件中的注释: 我试过像这样添加我的环境变量: 当我尝试启动我的应用程序时,这会导致错误;“ OpenDebug进程意外终止”。我尚未找到任何可以解释问题所在的日志文件等。 我知道当我设置环境变量并从
我试图用VScode设置Xdebug,但是每当我设置断点时,它就会忽略它。 PHP-V 感谢您的阅读!
问题内容: 我有一个Linux环境,并且有一个PHP Web应用程序,该程序有条件地基于PHP中使用的环境变量运行。我需要知道如何为应用程序正确设置这些环境变量。我不确定如何在Apache上进行设置。 另外,我需要能够为每个域分别配置单独的环境变量。 请提供有关如何实现此目标的建议。 问题答案: 大致情况:
我有sbt多项目,并尝试在子项目的中设置如下: 测试将中止,并显示以下消息: 在测试文件中,我试图得到如下值: Intellj提供如下设置环境变量: 如何设置一个环境变量在为也? 更新 根如下所示: 我还是有例外。
本文向大家介绍Tomcat环境变量如何配置,包括了Tomcat环境变量如何配置的使用技巧和注意事项,需要的朋友参考一下 本文以文字的形式为大家叙述Tomcat环境变量的配置过程,以及验证配置是否成功的方法,具体内容如下 JDK环境变量配置: 如果你的JDK安装在C盘里,如:C:\Program Files\Java\jdk1.6.0_05,那么就在系统变量里(当然也可以在用户变量里)点新建:
问题内容: 如何管理不同环境的配置变量/常量? 这可能是一个示例: 我的其余API可以访问,但是在Git版本控制下使用相同代码工作的朋友在Tomcat上部署了该API 。 假设我们有这样的东西: 如何根据环境动态注入API端点的正确值? 在PHP中,我通常使用文件来执行此类操作,将基本配置文件(config.xml)与用户名称识别的本地环境配置文件合并。但是我不知道如何在JavaScript中
问题内容: 我正在尝试设置脚本以增加Xcode项目的内部版本号。我进行了一次API调用以获取当前的内部版本号,然后我希望对其进行递增,然后将该新的版本号用作环境变量,以便Xcode插件可以使用它。 我安装了EnvInject插件,但是我不知道如何将var从我的shell脚本中获取到环境变量中。 这设置为我需要的值,但是如何将其分配给环境变量,以便以后在工作中访问它? 问题答案: 添加一个构建步骤以
我是Spring Boot新手,正在尝试使用环境变量配置与MongoDB的连接,也就是说,我遵循了一个在线示例,演示了如何通过应用程序配置我的mongo数据库/主机/端口。属性,但我希望我的配置来自环境变量-实现这一点的最佳方法是什么?谢谢