[英]PHP exec() command not working
经过数小时的尝试和寻找答案后,我无法让它发挥作用。
托管详情:
视窗服务器 2012 R2
Plesk 12
IIS 8.5
我的问题是:我想在 PHP 中执行这个命令。 在使用 PHP 脚本创建新用户后,需要使用该命令重新加载 filezilla 的配置。
C:\Program Files (x86)\FileZilla Server\FileZilla Server.exe /reload-config
当我直接在 CMD 中尝试时它确实有效。 但是在 PHP 中如果不以某种方式工作。 我尝试了很多事情,我将尝试给你我尝试过的所有礼貌。
我尝试通过以下方式做到这一点:
$command = '"C:\\Program Files (x86)\\FileZilla Server\\FileZilla Server.exe" /reload-config';
exec( $command, $output, $return);
print_r($output);
echo '<br/>' .$return;
输出:
Array ( )
0
$command = '"C:\\Program Files (x86)\\FileZilla Server\\FileZilla Server.exe" /reload-config';
system( $command, $output);
print_r($output);
输出: 0
$command = 'C:\\"Program Files (x86)\\FileZilla Server\\FileZilla Server.exe" /reload-config';
exec( $command, $output, $return);
print_r($output);
echo '<br/>' .$return;
输出: 0
exec( 'C:\\"Program Files (x86)\\FileZilla Server\\FileZilla Server.exe" /stop 2>&1', $output);
print_r($output);
输出:
Array ( [0] => Toegang geweigerd. )
英文:
Array ( [0] => Access denied. )
几乎所有的观察者都发现他们谈到了特权。 我做了以下特权:
将所有web用户和IUSR权限授予CMD.exe和FileZilla Server.exe,并尝试将IIS身份验证从匿名设置为管理员帐户
有人说试试这个:
echo '<pre>';
system('set', $retval);
echo ' </pre>';
如果我这样做,我的输出是: http : //pastebin.com/SjzeQpJ0
如果你们想要更多细节就问。 我希望你们能帮我弄清楚。 我尽量说清楚。 谢谢。
如果你已经完成了所有这些,它现在应该可以工作了。
如果你已经完成了所有这些,它现在应该可以工作了。
通过使用上述方法并探索一些方法,我发现了一种更安全的方法来做到这一点。 您需要做的就是启用“加载用户配置文件”,然后它将拥有普通用户分配的所有普通用户权限。 只是让它像这样工作,而不是授予管理访问权限:
和工作! 专门修复了 Windows 2012 R2
注意:如果当前对系统有高权限,这将是高风险。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.