lighttpd启动rails,使用system调用系统命令遇到的问题

公司使用的ruby 1.8.7,rails版本是2.2.2,使用lighttpd启动rails(fcgi脚本)

 

由于需要调用系统命令,网上查了下,有3中方式,我选择了使用system

 

在/etc/profile中已经配置好了所需要的bin path,并使用ruby script/server命令启动服务,访问页面,一切正常,并且也可以正常调用系统命令,接下来就是使用lighttpd启服务了

 

等使用lighttpd启完服务并访问页面后,傻眼了,系统命令没能够正常调用,也不知道出了什么问题

 

经过猜测分析,估计是环境变量有问题

 

使用system把当时使用的环境PATH打印到文件里边

system "echo $PATH >> /root/path_info.txt"

 

查看/root/path_info.txt里边的内容看了下,里边只有/sbin:/usr/sbin:/bin:/usr/bin,也就是说当时环境变量PATH里边只有这些东西,知道这些就好办了~~

 

在要执行的系统命令前加点东西就好了,source /etc/profile,就像下边的代码

system "source /etc/profile;+要执行的代码"
 多条系统命令间用分号隔开就行了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值