2016-02-04 2 views
2

Я хотел бы использовать в php следующую команду. Он отлично работает с 1 частью моего консольного приложения, когда я печатаю в файл. Но когда я сохраняю изображение или что-то с данной функцией, он ничего не делал.Системный вызов от php

system("cmd /c C:\Apache24\htdocs\PSTools\Psexec.exe -i C:/Apache24/htdocs/ConsoleApplication1/ConsoleApplication1/bin/Debug/ConsoleApplication1.exe paramter1 .... parametern"); 

С другой стороны Когда я ставлю ту же C:\Apache24\htdocs\PSTools\Psexec.exe -i C:/Apache24/htdocs/ConsoleApplication1/ConsoleApplication1/bin/Debug/ConsoleApplication1.exe paramter1 .... parametern в консоли. Он работает без проблем. Я не знаю, что может вызвать проблему.

****** Edit *****

Я попытался изменить everycombinations из \ и /, но до сих пор не решить эту проблему. Также в 1-й секции я написал: Он отлично работает с 1 частью моего консольного приложения

Так что проблема не в вызове, а в разрешении (у всех есть права администратора - сначала заведите его в работу, затем я переосмысления) и т.д.

****** Дополнительная информация ******

Я использую Psexec (https://technet.microsoft.com/en-us/sysinternals/psexec.aspx), из-за -i разъем.

+0

Я мог ошибаться, но вы пытались изменить '/' на пути к обратному косу? Я знаю, что в командной строке окна автоматически меняют '/' на обратную косую черту, но я не уверен, произойдет ли автоматическая замена через PHP –

+0

Как я написал, 1 часть моего кода работает с изменением только параметров. Но я попробовал ваш совет, но не решил проблему. :) –

+0

Также, я мог ошибаться, но с помощью строк PHP вам нужно использовать двойные обратные слэши ... Итак, «C: \ path \ to \ file» становится «C: \\ path \\ to \\ file» , Опять же, это простые вещи, поэтому вы, возможно, уже пробовали их. Извините, если я просто повторяю то, что вы уже знаете. Hahaa –

ответ

0

Я сделал движение. PHP записывает в файл, затем мое новое консольное приложение прослушивает файл C#:

 while (true) 
     { 
      while (IsFileLocked(myFile)) 
      { 
       Thread.Sleep(2000); 
      } 
      /* Do stuffs */ 
     } 

Как я добрался до своей цели.

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