php - Ruby 命令未在 PHP shell_exec 函数中执行

标签 php ruby-on-rails ruby linux shell

我想通过 PHP 文件运行 WPScan。我正在使用 shell_exec 函数调用 WPScan 命令,但它抛出了以下错误:

[ERROR] cannot load such file -- bundler/setup

WPScan 需要ruby 在服务器中运行,WPScan 命令只能在WPScan 目录中运行。当我们在 WPScan 目录外运行此命令时,它会抛出以下相同的错误:

[ERROR] cannot load such file -- bundler/setup

表示浏览器无法定位WPScan需要的文件,所有文件都放在网站的文档根目录下。其他所有命令都通过 shell_exec 运行,但 ruby​​ 命令会抛出错误。总之就是找不到WPScan需要的文件。

命令是:

ruby wpscan.rb --url http://example.com/ --follow-redirection --log

我也试过使用完整路径:

/usr/local/rvm/rubies/ruby-2.3.0/bin/ruby /var/www/html/wp-scan/wpscan.rb --url example.com --follow-redirection --log

但没有任何作用。

$wp_command = shell_exec('/usr/local/rvm/rubies/ruby-2.3.0/bin/ruby /var/www/html/wp-scan/wpscan.rb --url example.com --follow-redirection --log');

echo $wp_command;

die;

最佳答案

尝试这样的事情:

$wp_command = shell-exec('cd /var/www/html/wp-scan && ruby wpscan.rb --url example.com --follow-redirection --log');

echo $wp_command;

die;

如果您正确安装了 WPScan 和 RVM,应该可以工作。

关于php - Ruby 命令未在 PHP shell_exec 函数中执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34764914/

相关文章:

php - 无需登录的 Symfony2 安全设置

php - jquery, undefined variable 问题,怎么办?

javascript - Rails 中的 Jquery 异步表单提交

PHP rest api如何返回文件或下载

php - MySQL更新或插入具有多个查询的整数值以同时更改它

javascript - 根据日期更改链接

ruby-on-rails - 如何使按钮在 erb 中充当链接?

ruby-on-rails - 如何在 Rails 中异步执行 Controller.destroy 操作?

ruby-on-rails - 如何为 apipie-rails gem 生成 header ?

arrays - 当唯一 ID 匹配时,将键值对添加到哈希数组