PHPでpuppeteerを動かせるPuPHPeteerのよくある記述方法一覧
PHPでpuppeteerを動かせるPuPHPeteer
https://github.com/nesk/puphpeteer
プログラムに関してはこちら、詳細に関しては説明しているサイトがたくさんあるので割愛
以下のようなエラーになる
Fatal error: Uncaught NeskRialtoExceptionsNodeFatalException: Failed to launch chrome! [FATAL:zygote_host_impl_linux.cc(116)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.
サンドボックスを切ればエラーは解消されます
$browser = $puppeteer->launch();
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
$browser = $puppeteer->launch([ 'args' => ['--no-sandbox', '--disable-setuid-sandbox']]);
ベーシック認証をパスしたい
$user = '[ベーシック認証のユーザー]'; $pass = '[ベーシック認証のパスワード]'; $page = $browser->newPage(); $page->setExtraHTTPHeaders(array( 'Authorization' => 'Basic '.base64_encode($user.':'.$pass), )); $page->goto('[ベーシック認証のページ]');
ページのbodyを取得したい
$pagebody = $page->evaluate(JsFunction::createWithBody("return document.body.innerHTML;"));