2013-11-25 3 views
18

localhost에서 PHP로 PhantomJS를 실행하고 싶습니다.PHP에서 PhantomJS를 실행하는 방법

phantomjs를 PHP에서 실행하는 방법과 phantomjs.org에서 어떤 패키지를 다운로드해야합니까?

+1

https://packagist.org/packages/jonnyw/php-phantomjs – jszobody

+0

http://stackoverflow.com/questions/10651320/ :

다운로드 및 설치는 단순히 다음 코드를 사용합니다 후 시작 - phantomjs - 서버 -에서 - 그것 - 응답을 기다리고 ("phantomjs PHP에 대한 Google"좋은 stackoverflow에서 많은 좋은 안타를 제공합니다) –

+0

내 지방에서 PHP phantomjs 스크립트를 실행할 수 없습니다 그리고 그것은 몇 가지 오류는 그들이 무슨 일이 일어 났는지 알지 못합니다 ... 나는이 스크립트를 git에서 테스트합니다. – MOB

답변

24
  • 다운로드 PhantomJS binary, 어딘가에 업로드 할 그것을 실행 (chmod +x)
  • 당신이 스크린 샷, 설정 fontconfig (이 내 설정 꽤 특이하지만 목표는 가지고 있는지 확인하는 것입니다을 만들려고하는 경우
    실제로라는 라이브러리있다 $response = exec('/path/to/phantomjs myscript.js');
+1

고맙습니다. 메신저 윈도우 7 및 xampp 서버에서 localhost에서 사용하려고합니다. 어떻게 실행 가능합니까? 어떤 패키지를 다운로드해야합니까? Windows 또는 Linux 버전? – MOB

+0

그것의 작품입니다. thnx a lot – MOB

+0

[이 답변] (https://groups.google.com/d/msg/phantomjs/s8RS-Glf7fg/z82YTZpWaycJ)에 따라이 솔루션에 문제가있는 사람은 누구나 내 Phantom 스크립트를 성공적으로 호출 할 수있었습니다. PHP. – Fisu

7

: 시스템의 적어도 일부 글꼴)

  • 는 PHP에서 다음을 실행,이 작업을보다 쉽게 ​​수행 할 수 있습니다.

    PHP PhantomJS는 PhantomJS 헤드리스 브라우저를 통해 페이지를로드하고 페이지 응답을 반환하는 유연한 PHP 라이브러리입니다. 자바 스크립트 지원을 필요로하는 웹 사이트를 테스트 할 때 을 편리하게 사용하고 화면 캡처를 지원합니다. PhantomJS를 통해

    • 로드 웹 페이지 헤드리스 브라우저
    • 등 페이지 내용, 헤더, 상태 코드를 포함하여보기 자세한 응답 데이터
    • 손잡이 :

    기능 목록

    Full documentation 리디렉션

  • javas cript 콘솔 오류
  • 보기 자세한 PhantomJS
  • 저장 화면이 로컬 디스크에 캡처 디버깅 정보
  • 설정 뷰포트 크기
  • 화면 캡처 x는, y는, 폭과 높이가 지정된 시간 동안
  • 지연 페이지 렌더링 매개 변수 정의 명령 줄 옵션을
  • 실행 PhantomJS
  • 쉽게
  • 구축 및 실행 사용자 정의 PhantomJS 스크립트
  • 는하지만, PhantomJS의 버전이 PHP PhantomJS 버전과 호환되는지 확인하십시오

    은 참고 사항 :이 라이브러리의 버전 4.0을 현재 기다리고 PhantomJS 2.0과 관련하여 해결되지 않은 문제.

    +0

    해결되지 않은 문제는 무엇입니까? 1.9의 웹 페이지를 열 때 속도가 너무 느려 집니까? –

    2

    최근 PHP를 브라우저에 제공하는 프로젝트를 게시했습니다. 여기에 가져 오기 : https://github.com/merlinthemagic/MTS.후드 아래에서 그것은 PhantomJS에 의존합니다.

    $myUrl   = "http://www.example.com"; 
    $windowObj  = \MTS\Factories::getDevices()->getLocalHost()->getBrowser('phantomjs')->getNewWindow($myUrl); 
    
    //now you can either retrive the DOM and parse it, like this: 
    $domData = $windowObj->getDom(); 
    
    //or take screen shots 
    $imageData = $windowObj->screenshot(); 
    
    //or use the mouse to click buttons: 
    $windowObj->mouseEventOnElement("[id=searchInput]", 'leftclick'); 
    
    //or type with the keyboard : 
    $windowObj->sendKeyPresses("my search words"); 
    
    //or load and execute custom javascript, fill forms etc, etc. 
    
    관련 문제