在rails上运行ruby中的php脚本

时间:2011-12-01 12:25:41

标签: php ruby-on-rails ruby

在我的一个Rails应用程序中,我需要从Ruby on Rails app的Controller执行一个PHP文件。 PHP文件用于某些数据库编辑。

位于我的“公共”文件夹中的php文件

有没有办法做到这一点?

4 个答案:

答案 0 :(得分:2)

尝试`php#{RAILS_ROOT} / public / php_script.php`或%x [“php#{RAILS_ROOT} /public/php_script.php”]

系统命令在rails中不起作用,但是上面的一些代码应该没问题。

答案 1 :(得分:2)

如果您想以某种方式与流程进行对话,请使用IO.popen("php <script>")。或者您可以使用反引号选项(此处标记不容易),它返回进程写入stdout的字符串。如果您不需要通信,system "php <script>"会在命令成功的任何地方返回true或false,并且您没有机会进一步沟通。

如果您有不安全的输入,请使用Array#shelljoin来逃避它。

为什么不在ruby中重写脚本?

答案 2 :(得分:1)

嗯,system('php public/php_script.php')有效吗?

答案 3 :(得分:1)

我的控制器中的这一行解决了我的问题

result = D:\\rails\\php\\php.exe -f D:\\Rails\\rails_apps\\project\\public\\df.php po