php - 从 HTML 表单运行 ruby​​ 脚本

标签 php html ruby forms

几个月前,我在 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/

相关文章:

php - 如何阻止 Zend Form 错误被呈现为无序列表?

php - 为什么安装composer后找不到composer.phar文件

javascript - 单击事件更改属性(太快)

html - 使用 XSLT 样式化内联 XML 标签

ruby-on-rails - 允许用户输入代码示例的最不危险的方法是什么?

ruby-on-rails - 删除由匹配双括号分隔的子字符串的正则表达式

php - 描述点之间的相对角度(如行车方向)

php - 如何在 PHP 中从 0-X 获取加密强整数?

javascript - 将事件处理程序分配给动态创建的按钮

ruby - 需要 gem 中可执行文件中的文件