“开始”命令不工作?为什么?

时间:2013-11-24 11:59:25

标签: php apache cmd

我使用了这段代码,当我在本地主机上运行php脚本时,它运行正常

<?php
echo system('dir');
?>

但是当我将命令替换为

<?php
 system('start');
?> 

它对我不起作用。但是,当我通过cmd执行此脚本时,它也可以正常工作。我想知道当我在本地主机上运行php脚本时,如何在系统上运行cmd。 请解释这里有什么问题,这里有任何系统安全问题。

其他信息

我将它保存在foo.php文件中。当我运行c:\ apache \ htdocs \ test \ php foo.php [ENTER KEY]它打开新窗口时它正在工作。但是在服务器上运行相同的脚本时...我遇到了问题。在服务器上如果我运行dir命令。我能够回应那里的所有目录。

IMP POINT

服务器正在我的系统上运行。任何服务器设置都需要更改,请提供帮助和建议。

1 个答案:

答案 0 :(得分:1)

有两个原因:

  1. start命令不在执行PHP脚本的用户的路径中。
  2. 执行PHP脚本的用户无权执行start命令。
  3. 对于第一个,您可以在脚本中提供start的完整路径。

    对于第二部分,您需要联系服务器管理员以请求通常运行PHP脚本的用户的执行权限。

    如果从浏览器运行脚本,则用户通常与运行Web服务器的进程相同(尽管在某些服务器上是不同的用户)。请咨询您的服务器管理员或主持人。