2014-10-01 2 views
0

PHP 스크립트에서 실행 파일을 실행하려고합니다. 간단하지만 충분히 나를 위해 작동하지 않습니다. 나는이 방법을 모두 시도 :PHP에서 Exec 명령이 작동하지 않습니다.

$oExec = $WshShell->Run("Notepad.exe >> /err.txt"); 

성공하지

exec("Notepad.exe >> /err.txt"); 

. 아무 일도 일어나지 않을 것입니다. 코드를 한 번 실행하면 행이 실행되지만 메모장이 열리지 않습니다. Err.txt는 비어 있으므로 거기에는 도움이되지 않으며 어디서나 오류를 찾을 수 없습니다. 사용 권한 문제라면 오류 메시지가 나타나고 그 이외의 문제는 무엇인지 알 수 없을 것입니다. Notepad.exe를 찾은 것 같습니다. 왜냐하면 Ntpad.exe를 쓸 때 오류가 발생하기 때문입니다. 어떤 도움이라도 대단히 감사하겠습니다.

스크립트는 로컬 IISExpress 사이트에서 실행됩니다.

+0

실행중인 PHP 스크립트는 누구입니까? –

+0

내 생각에 서비스가 데스크톱과의 상호 작용을 확인하지 않으면 시작한 응용 프로그램의 창이 표시되지 않습니다. – Cheery

+0

필자는 꼭 필요한 것은 아닙니다. 메모장은 실제 스크립트를 디버깅하기위한 것일뿐입니다. $ oExec = $ WshShell-> Run ("cmd C : \ path \ ffmpeg -i C : \ path \ video.mov video.mp4 "); .mp4가 만들어지지 않았으므로 실행되지 않는 것처럼 보입니다. 그러나 명령 줄에서 동일한 스크립트를 실행하면 작동합니다. – mgrenier

답변

0

많은 좌절감을 안고 나는 대답을 알아 냈습니다. Cheery 덕분에 메모장이 데스크톱 상호 작용없이 나타나지 않을 것입니다. 왜 그것이 작동하지 않는지 알아 내려고 노력했습니다. 제거해야

  • cmd를 필요

    $oExec = $WshShell->Run("cmd C:\Test\ffmpeg -i C:\Test\ferrisglennnews.mov video.webm"); 
    
    1. 더블 슬래시 내 원래 스크립트 몇 가지 문제는 ...이 있었다
    2. 디렉토리가 기본 cmd를 디렉토리에 출력을두고 있지 않는없는 곳 소스 파일은 그래서 출력에 잘못된 장소에서 찾고 있던있다

    따라서이 생성 원하는 결과였다 스크립트 ...

    입니다
    $oExec = $WshShell->Run("C:\\Test\\ffmpeg -i C:\\Test\\ferrisglennnews.mov C:\\Test\\video.webm"); 
    

    포럼 기간 동안 도움을 주신 분께 감사 드리며 많은 시간을 절약 해 주셨습니다.

  • 관련 문제