Tuesday, 2 April 2019

Running Google Chrome headless with PHP exec doesn’t return output till IIS restarted

My environment is Windows Server 2016 and IIS 10. In my PHP script I’m trying to run Google Chrome in a headless mode to get html code of an external web page:

<?php
$chromeApp = "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe";

$command = "\"$chromeApp\" --headless --disable-gpu \
 --dump-dom $urladdress > page.html";

exec ($command);
?>

That code works if I run

>C:\php script.php

from the Command line. It also works if I run the actual command:

>"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" \
--headless --disable-gpu --dump-dom https://google.com > page.html

But if I run that script from a browser it creates empty page.html file and hungs till timeout. However if I restart IIS during its execution I get the page.html file filled with the needed data.

What could be a problem here?



from Running Google Chrome headless with PHP exec doesn’t return output till IIS restarted

No comments:

Post a Comment