无法将 tts 与配置了乘客和 apache 的导轨一起使用



我有一个 rails 3.2 应用程序,它已被配置为与 phusion passenger 和 apache 一起工作。正常请求在我的服务器上运行良好,但是当 tts gem 尝试通过 rails 应用程序连接到谷歌 tts 服务器时,我收到以下错误

 SystemExit in DemoController#call
    exit

app/controllers/demo_controller.rb:24:in `call'

这是我的演示控制器的相关部分。

require 'tts'
require "open-uri"
require "net/https"
require 'json'
class DemoController < ApplicationController

    def call
    string1 = "Testing in file one"
    string1.to_file "en", "file1.mp3" 
    end
end

任何帮助将不胜感激。提前致谢

经过一个小时的谷歌搜索,终于得到了解决方案。问题是 gem 没有获得足够的权限来执行系统命令。这不是乘客阻止请求的问题。解决此问题的一种简单方法是授予乘客足够的权限来执行必要的任务。考虑一个示例:

<VirtualHost *:80>
    # Change these 3 lines to suit your project
    RailsEnv development
    ServerName xyz.abc.com
    DocumentRoot /home/user/app/public
   <Directory /home/user/app/public>
        AllowOverride all
        Options -MultiViews
    </Directory>
    PassengerHighPerformance on
    PassengerSpawnMethod direct
</VirtualHost>

这些到行必须添加到代码中

    PassengerUser root
    PassengerDefaultUser root

最新更新