故事是这样的:
运行JUnit测试活动后,我 运行php脚本来获取变量 $ testsOK和$ testsFailed。
在同一个php脚本中,我必须添加到环境变量“OK”和 “失败”我获得的数字 就在之前的同一个脚本中。一世 使用putenv,$ _ENV [“OK”] = ...偶数 apache_setenv(“OK”,$ testsOK),哪个 当然,因为我做不起作用 没有网络服务器,我只使用PHP CLI。
我将不得不使用这些环境变量“OK”和“FAILED” windows批处理命令后 脚本已经运行。
在php.net上的putenv页面(http://php.net/manual/en/function.putenv.php),有人说: “putenv / getenv,$ _ENV和phpinfo(INFO_ENVIRONMENT)是三个完全不同的环境存储。执行putenv(”x = y“)不会影响$ _ENV;而且同样做$ _ENV [”x“] =”y“同样不会影响getenv(“x”)。并且不会影响phpinfo()中返回的内容。“
因此,这些方法都不会对我有所帮助。我的问题是:我应该放弃这种方法并尝试使用其他语言吗? :-)还是有一种方法让我失踪。
我非常感谢你的帮助。 ANCA
答案 0 :(得分:1)
您可以将调用包装在脚本中,PHP将通过stdout返回要设置的值;然后,该脚本会将此输出捕获到适当的环境变量中。
非常简化的版本就是这样的。
@echo off
runtestcampaign
for /f %%a in ('php myscript.php') do (
set OK=%%a
set Fail=%%b
)
restofbat