gpt4 book ai didi

passenger - 碾过乘客时系统命令不起作用

转载 作者:行者123 更新时间:2023-12-02 03:51:07 26 4
gpt4 key购买 nike

我有一个 sinatra 应用程序,其页面显示有关该应用程序的一些信息。其中一些是通过在页面加载时运行命令生成的。在 unicorn 中运行时,我的 MacBook 上一切正常,在 unicorn 中运行时,在生产服务器上一切正常,但切换到 Apache/Passenger 时,命令突然开始返回 nil。

例如获取我使用的提交者列表:

comitters = `cd /path/to/app && git shortlog -s -n`

在 apache/passenger 设置中运行之前,这可以完美运行。

passenger 中是否有一些选项可以禁用系统命令?

最佳答案

问题在于您的 $PATH 环境变量,系统使用它来查找命令。你从 shell 运行 Unicorn 不是吗?所以 Unicorn 从你的 shell 中继承 $PATH 。但是从 Phusion Passenger 启动的应用程序进程是从 Apache/Nginx 启动的,而 Apache/Nginx 又通常是从一些系统初始化服务启动的,它们具有与您的 shell 完全不同的环境变量。阅读http://blog.phusion.nl/2008/12/16/passing-environment-variables-to-ruby-from-phusion-passenger/寻求解决方案。

关于passenger - 碾过乘客时系统命令不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14342691/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com