2012-01-02 3 views
3

Я использую программу под названием Do It Again, которая является записывающим устройством для мыши. Я пытаюсь запустить ярлык к нему из моего php-скрипта. Кажется, все нормально, когда я запускаю его как самостоятельную программу и не должен запускаться администратором - все же, когда я запускаю его с моей php-страницы, я получаю всплывающее окно с сообщением о сбое программы. «DoItAgain.exe столкнулся с проблемой и должен закрыть. Мы сожалеем о неудобствах».PHP exec приводит к сбою программы

Это не программа, но что-то в моем коде:

$command= 'C:\\xampp\htdocs\poster\dia\\Monty_20.dia'; 
exec($command); 

Я также попытался следующие, но получить окна всплывающее сообщение об ошибке: «Приложение не удалось инициировать Правильно»

$command= ('START C:\\xampp\\htdocs\\poster\\dia\\Monty_20.dia'); 

Любой Помощь будет принята с благодарностью. Я был у него уже 3 часа, и я вытаскиваю то, что у меня осталось.

ответ

1

Попробуйте скопировать вашу команду в буфер обмена. Нажмите Windows-R, чтобы получить диалоговое окно запуска, в которое вы вставляете его, и нажмите «Выполнить». Если вы получаете ту же ошибку, проблема связана с PHP или разрешением.

Более вероятный случай - программа просто не работает. В этом случае кто-то, у кого есть опыт работы с Do It Again, может быть более полезным. (Их форум, возможно?)


Основываясь на exec docs, это может помочь перенаправить вывод.

If a program is started with this function, in order for it to continue running in the background, the output of the program must be redirected to a file or another output stream. Failing to do so will cause PHP to hang until the execution of the program ends.

Таким образом, ваша команда должна будет перенаправить вывод на нулевое устройство. Я не использую окна, но я считаю, что это будет что-то вроде C:\path\to\my.exe > NUL.

+1

Пробовал работать, и он отлично работает. Я попытался изменить ярлык, используемый в коде, на другие программы (не на exe, а на ярлык), и он сработает. – phoenixx

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