我正在尝试编写一个PHP脚本,这将允许我从预定位置选择一些文件进行下载。我想我的脚本到一个数组传递给PowerShell脚本该ID前面的书面和有我PowerShell脚本处理下载(基本上是PHP文件只需要告诉PowerShell的文件需要下载什么的) 。 我看了几个选项,看起来exec
是我应该使用的命令(因为我不在乎命令行输出我不应该需要shell_exec
)。将参数从PHP传递到Powershell exec
到目前为止,我已将OFF
安全模式允许我使用此命令。我还应该注意到,php文件将从服务器运行,但是powershell文件位于本地计算机上。
的代码片段到目前为止处理帕拉姆经过是这样的:
if(isset($_POST['formSubmit']))
{
$choosePlugin = $_POST['wpPlugin'];
$chooseTheme = $_POST['wpTheme'];
if(isset($_POST['wpTheme']))
{
echo("<p>You selected: $chooseTheme</p>\n");
exec('powershell.exe C:\Wordpress Setup\setupThemes.ps1 $chooseTheme');
}
else
{
echo("<p>You did not select a theme</p>\n");
}
我有点困惑,我应该把exec
内。当我运行上面的代码时,没有错误,但没有任何反应。我对此有点新,所以如果需要更多信息,我很抱歉。任何帮助表示感谢你。
香港专业教育学院改变了我的代码: 回声EXEC('C:\\的Windows \\ System32下\\ \\ WindowsPowerShell 1.0 \\的PowerShell。 exe“C:\\ Wordpress Setup \\ setupThemes.ps1”$ chooseTheme 2> &1'); 而我收到错误:sh:C:WindowsSystem32WindowsPowerShellv1.0powershell.exe:找不到命令 通过命令未找到我假设这意味着服务器是试图运行脚本,但没有访问我的本地机器?对不起再次不确定这个解决方案。 – Jingles177 2012-07-23 19:04:04
检查如果Apache(或IIS)用户在Windows文件夹中具有读权限 – 2012-07-24 06:54:30
是的,它似乎是权限问题,在php中看到这个评论.net页面:http://www.php.net/manual/es/function.exec.php#101837(关于windows和exec) – 2012-07-24 06:57:38