首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP运行时定义Stata路径

在PHP运行时定义Stata路径
EN

Stack Overflow用户
提问于 2020-06-10 07:22:51
回答 1查看 51关注 0票数 0

我们的应用程序通过PHP在不同的环境中运行Stata CLI,但是我们很难在不同的环境中确定可执行文件的路径。

在使用stata-mp的Mac上,我们必须使用/usr/local/bin/stata-mp;在Linux机器上,我们需要/usr/local/stata/stata-mp。过去只有Linux环境与Mac不同,但现在由于某些原因,我们无法弄清楚Mac也是不同的。奇怪的是,在终端/外壳stata-mp上仍然可以同时在Mac和Linux服务器上工作。

这实际上是我们用来执行Stata脚本的PHP代码:

代码语言:javascript
复制
$return = exec(static::STATA . " -e do script.do ", $output, $result);

我们如何在运行时正确定义Stata路径?

使用Stata MP v16.1

EN

回答 1

Stack Overflow用户

发布于 2020-06-10 07:35:07

通常与您的$PATH变量相关联。

尝试这样做:

代码语言:javascript
复制
$ php -a
$ var_dump($GLOBALS);

这将在shell上输出您的$GLOBALS环境。所以你需要找到一行代码:

代码语言:javascript
复制
["PATH"]=>
      string(168) "/home/william/.nvm/versions/node/v14.2.0/bin:/home/william/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"

此配置将显示您的php-cli将在何处搜索以执行命令。

现在,尝试使用以下命令搜索stata-mp所在的位置:

代码语言:javascript
复制
whereis vim

并检查您的PATH是否包含命令的路径。如果没有,你可以在你的.bashrc上把你的脚本读懂,或者,你可以在你的脚本上设置调用。(这取决于您的shell,但在Mac中,您可以查看有关PATH环境的here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62293459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档