在Debian GNU/Linux 11 x86_64上,你可以使用以下步骤在PHP中调用谷歌浏览器并使用proc_open函数渲染网页内容,并输出网页文本内容:

  1. 确保已经安装了谷歌浏览器(Google Chrome)。
  2. 确保PHP的proc_open函数可用。你可以通过在PHP脚本中调用function_exists('proc_open')来检查。
  3. 设置环境变量google-chrome,将其指向谷歌浏览器的可执行文件路径。你可以通过在终端中运行which google-chrome来找到谷歌浏览器的可执行文件路径,并将其添加到环境变量中。可以在/etc/environment文件中添加以下行:

google-chrome=/usr/bin/google-chrome

保存文件后,重新启动终端或重新登录以使更改生效。
4. 在PHP脚本中,使用`proc_open`函数来执行谷歌浏览器并渲染网页:
```php
<?php
$descriptorspec = array(
    0 => array('pipe', 'r'), // 标准输入
    1 => array('pipe', 'w'), // 标准输出
    2 => array('pipe', 'w')  // 标准错误输出
);

$process = proc_open('google-chrome --headless --disable-gpu --dump-dom http://example.com', $descriptorspec, $pipes);

if (is_resource($process)) {
    $output = stream_get_contents($pipes[1]);
    fclose($pipes[1]);

    $errors = stream_get_contents($pipes[2]);
    fclose($pipes[2]);

    $returnValue = proc_close($process);

    if ($returnValue === 0) {
        echo $output; // 输出网页文本内容
    } else {
        echo '谷歌浏览器执行失败:' . $errors;
    }
} else {
    echo '无法打开谷歌浏览器进程';
}
?>

此脚本将以无头模式运行谷歌浏览器,并将网页内容输出到标准输出。你可以将http://example.com替换为你想要渲染的网页URL。 5. 运行PHP脚本,将输出的网页文本内容显示在终端或网页中。

请注意,使用proc_open函数执行外部命令可能存在安全风险。确保仅执行受信任的命令,并对用户提供的输入进行适当的验证和过滤。

在Debian 11上使用PHP和Google Chrome渲染网页内容并获取文本

原文地址: https://www.cveoy.top/t/topic/qky0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录