2016-08-12 4 views
0

Я пытаюсь выполнить 1 программу. Я пробовал с exec, shell_exec и system, но когда я нажимаю кнопку, он просто продолжает загружаться.PHP Выполнение программы (Windows)

Мне не нужны значения, возвращаемые, мне просто нужно выполнить программу.

Вот часть кода я использовал:

exec("start servery/" . $port . "/start.exe"); 

Я также попытался

exec("servery/" . $port . "/start.exe"); 

Я использую PHP 5.5 и программа кодируется в AutoIt.

Вот весь код:

<?php 
echo '<form action="" method="post"> 
<input type="submit" name="start" value="Start"> 
</form>'; 

if(isset($_POST['start'])){ 
    exec('J:/xampp/htdocs/servery/' . $port . '/start.exe'); 
    header("Location: ?page=ovladanie"); 
} 
?> 
+2

Если один из ответов дает решение, отметьте этот ответ как принятый. Если вы удалите контент своего вопроса, тогда никто не сможет его использовать в будущем - пожалуйста, восстановите свой вопрос. – zajonc

+0

Я отбросил вопрос. Пожалуйста, воздержитесь от саботажа собственного сообщения! – Luke

ответ

0

В exec(), либо конкретно указали PATH переменной, или использовать абсолютный путь, как C:\xampp\htdocs\myfile.exe ИЛИ exec(dirname(__FILE__) . 'path/to/file/start.exe');

+0

Пробовал и не помогал. Его все еще освежает. –

+0

См. Обновленный ответ. Если вы используете 'dirname (__ FILE __)', это будет указывать на папку, в которой исполняемый файл находится в –

+0

@Bannery. Этот код, который вы предоставили, не работает! Ваш 'header()' будет выполняться без ожидания выполнения 'exec()'! Вы получите цикл, потому что заголовок сохраняет причину Post-Request, которую вы перенаправляете на ту же страницу. Вместо этого используйте перенаправление html (тайм-аут, например, 2-3 секунды). –

0

Если ваш хост Unix на основе, а не на основе Windows, Центр он вряд ли сработает.

+0

Im, использующий Windows 7. –

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