导致会话死锁的php cURL请求

导致会话死锁的php cURL请求,php,session,deadlock,Php,Session,Deadlock,我有一个请求,它使用会话检查用户是否经过身份验证。然后从该请求中,我使用会话变量发出一个cURL请求(需要进行身份验证) 问题是第一个请求等待cURL请求完成,而cURL请求在初始请求完成之前无法启动会话。我遇到了一个死锁,导致两个请求都超时 有办法解决这个问题吗?在第一个脚本中更新会话后, 使用session\u write\u close()从文件中移除锁 在PHP 7中,您可以在阅读以下内容后立即移除锁: session_start([ 'cookie_lifetime' =>

我有一个请求,它使用会话检查用户是否经过身份验证。然后从该请求中,我使用会话变量发出一个cURL请求(需要进行身份验证)

问题是第一个请求等待cURL请求完成,而cURL请求在初始请求完成之前无法启动会话。我遇到了一个死锁,导致两个请求都超时


有办法解决这个问题吗?

在第一个脚本中更新会话后, 使用
session\u write\u close()
从文件中移除锁

在PHP 7中,您可以在阅读以下内容后立即移除锁:

session_start([
    'cookie_lifetime' => 86400,
    'read_and_close'  => true,
]);
默认情况下,HHVM会执行此操作


更好的方法是使用非锁定会话处理程序,如memcache。

在尝试从另一个进程读取会话文件之前释放该文件。