은 발견되지 경로 또는 QProcess
이 사용하는 환경 변수에로드되지 않았 으면 오류가 발생할 수 있습니다. 환경 변수를 인쇄
시도 :
qDebug() << "Process Environment" << myProcess.getProcessEnvironment().toStringList();
PATH
변수 아래는 php.exe
의 위치를 언급하지 않는 경우
, 그것은 실패합니다.
php
대신 php.exe
을 지정해야 할 수 있습니다. 제대로 발견되면 php 명령이 입력 파일과 함께 실행되지 않을 때 php 명령의 사용법을 볼 수 있어야합니다. 그 문제가없는 경우
http://www.php.net/manual/en/features.commandline.options.php
, 당신은 당신이 생각하는 작업 디렉토리에 있는지 확인하십시오.
system("dir");
또는
qDebug() << "current path" << QDir::currentPath();
당신은 코드에서 현재 작업 디렉토리를 변경하거나 특정 프로세스를 지정하거나 당신이 가서 실행 Qt의 프로젝트 설정>> 작업 디렉토리에서 변경할 수 있습니다.
아직 수행하지 않은 경우 수행하려는 작업을 수행하지 않을 때 QProcess
인스턴스의 오류 문자열을 확인/인쇄하십시오.
qDebug() << "error string?" << myProcess.errorString();
그리고 적절한 경우 슬래시와 따옴표를 사용해야합니다. 따옴표로 묶지 않은 명령 줄 인수/파일 이름이있는 경우 처리 할 다른 옵션으로 경로에 공백이 표시 될 수 있습니다.
마지막으로 Windows 8을 사용 중이고 네트워크 드라이브에서 액세스하는 경우 net use 명령을 실행하여 명령 줄에서 해당 경로에 액세스 할 수 있어야합니다 (Windows에서 매핑되어 작동하더라도) 탐침.
희망이 있습니다.
오류 메시지는 입력 파일에 대해 이야기하기 때문에 * php *에서 온 것 같습니다. 절대 경로가 주어지지 않으므로 실제로 잘못된 작업 디렉토리가 그 이유처럼 보입니다. – hyde