Ruby命令在PHP中不执行shell_exec函数
问题描述:
我想通过PHP文件运行WPScan。我使用了shell_exec函数调用WPScan命令,但它抛出了以下错误:Ruby命令在PHP中不执行shell_exec函数
[ERROR] cannot load such file -- bundler/setup
WPScan红宝石需要在服务器和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正确的应该工作。
WPScan在相当不错的自述文件中有安装指南。 https://github.com/wpscanteam/wpscan – axvm