【发布时间】:2012-07-02 15:24:58
【问题描述】:
总结
我在安装了某个程序的 Linux 机器上运行 apache。我想从 php 页面调用程序并获取输出。
特殊限制
程序需要某些环境变量才能运行,例如LD_LIBRARY_PATH 带有库的路径和额外的变量。该环境是为计算机上的用户 X 定义的,该用户不是 apache 用户。
建议的选项
到目前为止,我已经想到了以下选项(并不意味着它们都是智能或安全的):
- 允许用户 apache 以用户 X 的身份运行程序(以允许拥有完整环境的方式)。食谱 ?
- 修改用户apache的环境。我不明白怎么做,因为 apache 是 nologin 用户。
- 以具有适当环境的用户身份通过 SSH 连接到另一台计算机。这意味着在 Web 服务器和本机之间没有密码(公钥/私钥)连接。危险吗 ?
问题
- 我是否忽略了更简单或更好的选择?
- 您会使用什么选项以及为什么?
【问题讨论】:
-
2.听起来像是最好的选择,但我不知道该怎么做 - 但肯定可以在启动时为用户设置环境变量?够了吗?
-
是的,尽管其他用户已经以标准方式设置就足够了,因此我更愿意重用它。如果我必须这样做,我还可以在 PHP 中调用程序时传递环境变量。