【发布时间】:2013-08-23 19:21:29
【问题描述】:
在 PHP 中,当使用 unc 路径时,我无法通过 shell_exec、system 或 exec 执行命令。 这是一个例子:
什么有效:
$command = shell_exec("dir c:\\"); echo $command;
这是行不通的。什么都没有。
$command = shell_exec("dir \\\\server\\dir"); echo $command;
当我在 Windows 命令窗口或 PowerShell 中运行 dir \\server\dir 时,它执行得很好。
【问题讨论】:
-
运行 Web 服务器(例如 Apache)的用户帐户是否与您登录的用户帐户相同?此外,您可能想尝试
net use为远程目录分配驱动器号。 -
不要在路径中使用反斜杠,即使您正在为 Windows 编写代码。 PHP 将自动转换为适当的分隔符,只需使用正常的正斜杠即可。请改用
dir //server/dir。
标签: php system shell-exec