我正在一个项目中工作,脚本将在 Linux 下运行。它有许多用 C++ 编写的模块。我需要从 PHP 调用这些模块。
我的问题如下:
- 我的模块是软件包中的模块之一。
- 我们的软件有 PHP 层来获取用户输入并将其存储在数据库中,并在需要时调用 C++ 引擎。
- 所有模块都在运行并使用一些由基本模块设置的环境变量。
- 通过我们获取 C++ 引擎的用户输入,有一层 PHP。
- 我需要从 PHP 调用一个应用程序(abc.out),它将填充数据库。
问题是我必须在应用程序运行之前设置一个新的环境变量。
我正在使用旧的环境变量,getenv()
然后将路径附加到它并再次设置。我习惯于putenv()
设置新的环境变量。
设置环境变量后,我使用system()
从 PHP 调用该应用程序并且它正在工作。
我怀疑此环境变量更改是否会影响正在运行的其他模块。
一件事是,如果我们system()
用于多个操作,我可以设置环境变量并从同一个system()
调用中调用我的应用程序。在这里我怀疑这是否也会影响正在运行的其他应用程序,或者只影响被调用的特定应用程序system()
。
那就是system()
为我们所称的每个程序创建一个新会话?
谢谢