在Debian GNULinux 11 x86_64Py379中PHP如何调用谷歌浏览器、php函数proc_open渲染网页内容并输出网页文本内容?环境变量名是google-chrome
在Debian GNU/Linux 11 x86_64上,你可以使用以下步骤在PHP中调用谷歌浏览器并使用proc_open函数渲染网页内容,并输出网页文本内容:
- 确保已经安装了谷歌浏览器(Google Chrome)。
- 确保PHP的
proc_open函数可用。你可以通过在PHP脚本中调用function_exists('proc_open')来检查。 - 设置环境变量
google-chrome,将其指向谷歌浏览器的可执行文件路径。你可以通过在终端中运行which google-chrome来找到谷歌浏览器的可执行文件路径,并将其添加到环境变量中。可以在/etc/environment文件中添加以下行:
保存文件后,重新启动终端或重新登录以使更改生效。google-chrome=/usr/bin/google-chrome - 在PHP脚本中,使用
proc_open函数来执行谷歌浏览器并渲染网页:
此脚本将以无头模式运行谷歌浏览器,并将网页内容输出到标准输出。你可以将<?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。 - 运行PHP脚本,将输出的网页文本内容显示在终端或网页中。
请注意,使用proc_open函数执行外部命令可能存在安全风险。确保仅执行受信任的命令,并对用户提供的输入进行适当的验证和过滤
原文地址: https://www.cveoy.top/t/topic/iDWK 著作权归作者所有。请勿转载和采集!