在RubyonRails中运行php脚本

在RubyonRails中运行php脚本,php,ruby-on-rails,ruby,Php,Ruby On Rails,Ruby,在我的一个Rails应用程序中,我需要从RubyonRails应用程序的控制器执行一个PHP文件。PHP文件用于一些数据库编辑 php文件位于我的“公用”文件夹中 有什么办法吗?好的,系统('php public/php_script.php')工作吗?试试'php{RAILS_ROOT}/public/php_script.php'或%x['php{RAILS_ROOT}/public/php_script.php'] System命令在rails中不起作用,但是上面的一些代码应该可以。如果您

在我的一个Rails应用程序中,我需要从RubyonRails应用程序的控制器执行一个PHP文件。PHP文件用于一些数据库编辑

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

有什么办法吗?

好的,
系统('php public/php_script.php')
工作吗?

试试'php{RAILS_ROOT}/public/php_script.php'或%x['php{RAILS_ROOT}/public/php_script.php']


System命令在rails中不起作用,但是上面的一些代码应该可以。

如果您想以某种方式与进程对话,请使用。或者可以使用backticks选项(这里的标记不容易),它返回进程写入标准输出的字符串。如果您不需要通信,
system“php”
会在命令成功执行的地方返回true或false,并且您没有机会进一步通信

如果您有不安全的输入,请使用
Array#shelljoin
将其转义


为什么不用ruby重写脚本?

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


result=
D:\\rails\\php\\php.exe-f D:\\rails\\rails\u apps\\project\\public\\df.php po

您好,谢谢您的回复,我试过了。。但是不起作用。。丹尼尔,我喜欢从我的控制器系统(“php public/df.php”)上传一些文件到我的AmazonS3。。用红宝石努力。。。因此,您似乎是在路径不同的windows上开发的。如果您计划将它放在具有unix/linux的服务器上,请记住这一点。JohnDel是完全正确的。它还将指出为什么给出的其他答案不起作用,因为PATH环境变量实际上不包含PHP。将PHP添加到您的路径将允许您直接引用PHP,并且您不必依赖于特定于安装的配置。