0
저는 Windows 플랫폼을 사용 중이므로 app/webroot/phantomjs 및 동일한 폴더의 js에 phantomjs 실행 파일을 가지고 있습니다. 내가 PHP로 할 때 :exec() phantomjs가 실행되지 않고 오류가 표시되지 않습니다.
$response = exec($this->webroot . 'app/webroot/phantomjs/phantomjs getweb.js');
아무 일도 일어나지 않습니다. 이 내용은 js의 내용입니다.
console.log('Hello, world!');
phantom.exit();
절대 경로는 웹 페이지에서 온라인으로 실행해야하므로 절대 경로를 사용합니다.
편집 1 :
하는
$response = exec($this->webroot . 'app/webroot/phantomjs/phantomjs getweb.js 2>&1', $s, $o);
echo $response;
echo "<pre>";
print_r($s);
echo "</pre>";
echo "<pre>";
print_r($o);
echo "</pre>";
내가 얻을 사용
Array
(
)
1
편집 2 :
이 잘 작동 :
echo exec("whoami");
편집 3 : 이 아무것도하지 :
$response = exec($this->webroot . 'app/webroot/phantomjs/phantomjs getweb.js 2>&1', $s, $o);
오류보고를 활성화하고 스타우트 없습니다 파이프 sterr 시도하십시오 : http://stackoverflow.com/q/12199353 –
오류보고를 활성화, 어떤 결과를 는 여기에 내가 생각 해낸 솔루션입니다. 2> & 1과 동일합니다. – Mariano
'$ this-> webroot'에는 슬래시 만 있고 끝으로 슬래시가 들어 있는지 확인해야합니다. 전체 경로가 정확한 경로인지 확인하십시오 ('echo' it). getweb 스크립트에도 특정 경로가 필요합니까? –