我有两个相互分开的脚本,但都在同一页面上使用。一个生成PDF,另一个调用外部API。两个脚本都使用curl
。
在页面上,AJAX请求用于调用调用API的PHP脚本。它还显示用户可以单击以生成PDF的链接。问题是当我尝试生成PDF时,它必须等到调用API的另一个脚本完成。如果出现连接问题,则表示用户需要等待很长时间。
据我所知,这是因为两个脚本都使用curl
,而PDF必须等待API才能完成它的卷曲调用。我只能访问编辑API脚本。我目前所做的是设置超时10秒来限制用户等待其他脚本完成的时间,但是我想让它工作以便一个脚本不会#39; t需要等待对方完成。
PHP有可能吗?我尝试从curl切换到file_get_contents
,但它仍然等待其他脚本完成。我认为像curl_multi
这样的解决方案对此没有帮助,因为我无法编辑其中一个脚本。
答案 0 :(得分:1)
没关系,问题实际上与卷曲无关。它与两个脚本都使用的会话有关。会话无法在PDF脚本中启动,直到在API脚本中关闭为止。
解决方案是在API脚本开头抓取我需要的信息,然后用session_write_close()关闭它,以便其他脚本可以使用它。
所以即使这并没有真正回答这个问题,因为我误解了这个问题,这个问题并没有真正得到一个好的答案。我会留下这个问题并在这里回答,以防其他人遇到类似的问题......