Php 木偶演员无法从控制器中的laravel exec()加载页面
Laravel 5.6在127.0.0.1:8000上运行 我有一个文件capture.js,它使用puppeter并打开页面 127.0.0.1:8000/渲染 当我从命令行调用它时,它工作得非常好Php 木偶演员无法从控制器中的laravel exec()加载页面,php,node.js,laravel,puppeteer,Php,Node.js,Laravel,Puppeteer,Laravel 5.6在127.0.0.1:8000上运行 我有一个文件capture.js,它使用puppeter并打开页面 127.0.0.1:8000/渲染 当我从命令行调用它时,它工作得非常好 node capture.js 现在,当我在laravel控制器中使用 exec('node capture.js' ) 它会启动Puppeter,但页面不会加载超时 当我尝试使用capture.js从控制器加载另一个页面例如:google.fr时,效果很好 这和网络有关吗?端口8000上的本
node capture.js
现在,当我在laravel控制器中使用
exec('node capture.js' )
它会启动Puppeter,但页面不会加载超时
当我尝试使用capture.js从控制器加载另一个页面例如:google.fr时,效果很好
这和网络有关吗?端口8000上的本地主机
headless false或true给出了相同的结果=>TIMEOUT您正在从启动laravel应用程序所需的文件调用exec。它超时了,因为exec正在阻止laravel应用程序启动
这是一个正在进行的示例
拉威尔应用->木偶演员->等等!Go fetch Laravel应用程序我在Symfony 3.4项目上遇到了完全相同的问题 问题来自于会议: 调用exec命令时,PHP会话已经存在,并且会话文件被锁定。 当NodeJS脚本尝试连接时,会出现超时,因为会话文件不可用 我通过在exec命令上方添加以下指令解决了此问题:
session_write_close();
其他可执行文件呢?启动浏览器怎么样?代码是否以相同的用户、环境和权限运行?@UlrichEckhardt一切正常,实际上Puppeter启动,只是无法从本地主机端口8000Thanks加载此特定页面。事实上,laravel应用程序已经在运行,通过在laravel上下文之外呈现页面来解决问题,express在端口3000上提供服务。