我正在嘗試編寫一個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