我已经阅读了从 php.ini 中删除的 safe_mode 指令。然后如何在 php 5.4 中使用系统调用(exec、system、passthru 等)?
我需要一些指南,但是,我找不到任何东西。
我已经阅读了从 php.ini 中删除的 safe_mode 指令。然后如何在 php 5.4 中使用系统调用(exec、system、passthru 等)?
我需要一些指南,但是,我找不到任何东西。
对不起大家,
我发现我犯了可怕的错误。
我把 javascript-working-area 误认为 php-working-area。
它在 php 5.4 上运行良好,因为 php
有关所有信息,请查看 PHP.net 站点:http://php.net/manual/en/function.exec.php
函数exec()
,system()
等仍然存在,并且功能与 PHP 5.3 相同,但 safe_mode = off。您需要关注的一件事是转义用户数据,如下所示:
<?php
exec('mv ' . escapeshellcmd($_GET['originial_file']) . ' ' . escapeshellcmd($_GET['new_file']));
我已经在其他环境中测试了下面的这些代码。
当我在 php 5.3 和 linux 上测试相同的代码时,它们运行良好。
但是,相同的代码在 php 5.4 & XAMPP(Windows APM) 上运行,它们不起作用。
因此,我仔细决定这是来自环境而不是代码的问题。你能给我一些指导吗?
(现在... XAMPP(httpd) 以管理员组中某些用户的权限运行。)
exec("netstat -antu", $output); 回声“$输出”;
$last_line = system('ls', $retval); 回声“$last_line”;
passthru("ls",$err); 回声“$错误”;
$输出 = `ls`; 回声“$输出”;
$output = shell_exec('ls'); 回声“$输出”;