几个月前,我在 html/php 中创建了一个表单,用于输入有关新虚拟机的信息。
我也一直在研究一个简单的 ruby 脚本,它可以为新的虚拟机找到一个新的 IP 地址。
这两个项目没有关联,但现在我希望它是..但我很难过。我想要做的是使用用户在网络表单中提供的信息运行 ruby 脚本。
假设用户输入了新的 VM 名称 (vm1) 和其他一些东西,比如它的 vlan id (1)。我希望能够让表单使用正确的参数启动脚本 (./script.rb --add vm1 --vlanid 1 --...)。我试图找到一种简单的方法来做到这一点,但没有成功。我安装了 passenger,但我有点迷失了它,安装它只是为了做我想做的事似乎太过分了。
谢谢大家!
最佳答案
你可以用 exec() 来完成:
<?php
// TODO: Security checks!
exec("./script.rb --arg1 $arg1 --arg2 $arg2 &");
?>
另一种方法是将 Web 界面添加到您的 Ruby 脚本中。 Sinatra 是非常简单的 Web 界面的绝佳选择。 ,你可以只定义一个基本的处理程序:
require 'rubygems'
require 'sinatra'
get "/" do
# do what you need to do, all the GET arguments are in the params Hash
end
关于php - 从 HTML 表单运行 ruby 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9418597/