2013-05-31 3 views
1

сервер функция для Windows 2008Rc2 IIS7 MySQL PHP 5.3Как выполнить пакетный скрипт PHP

У меня есть пакетный файл, который делает MySQL дамп, а затем застегивает содержание и делает его доступным для загрузки в общая папка. Теперь я знаю, что эти скрипты работают, потому что он отлично работает каждый раз, когда я запускаю его вручную, но я не могу заставить его работать через php.

В принципе, я хотел бы просто позвонить на страницу php, которая будет запускать этот командный файл.

Я знаю, что exec включен, так как им удалось использовать shell_exec для ping google.com, и я могу получить выход обратно.

Я пробовал только с системой() и exec(), но все равно ничего. В некоторых случаях похоже, что страница работает, но она просто сидит в подсказке загрузки.

Я искал высоко и низко, пытаясь использовать миллионы различных комбинаций команд, но никто из них, похоже, не работает для меня.

Я попытался выполнить эту простую команду, так как я могу заставить ping работать с этим. Хотя, когда страница называется, она отображает только выражения эха.

<?php 

echo "Starting..."; 

echo shell_exec("C:\inetpub\wwwroot\DBZIP2"); 

echo "Success!"; 

?> 

Я также попытался это, но страница просто зависает на экране загрузки и не отображает команды эхо.

<?php 

    echo "Starting...<br><br>"; 

    system("cmd /c START C:\inetpub\wwwroot\DBZIP2"); 

    echo "Success!"; 

?> 

Не совсем уверен, куда идти отсюда. Я попытался обработать файл cmd.exe, но это не имело значения. Есть ли более простой способ сделать это? Возможно, другой язык программирования? Любая помощь приветствуется.

+1

Может быть, вам нужно \\ на месте \ на вашем пути? См. Некоторые комментарии на странице [shell_exec] (http://php.net/manual/en/function.shell-exec.php). – furas

+0

Я тоже это устал ... это не имело никакого отношения к результату – mmSQL

ответ

0

Попробуйте выполнить с помощью «shell_exec» с полным путем к CMD.exe

<?php 
    echo "Starting...<br><br>"; 
    shell_exec("c:\WINDOWS\system32\cmd.exe /c START C:\inetpub\wwwroot\DBZIP2"); 
    echo "Success!"; 
?> 
+0

Я уже пробовал это, когда команда запускается, как это, страница сидит на экране загрузки, а операторы эха не загружаются. – mmSQL

Смежные вопросы