我注意到我们使用 cURL 的链接检查器越来越频繁地无法验证 SSL 证书。我正在努力追查到底。
例如,https: //www.bgetem.de/ 在我的 Windows 7 机器上的每个浏览器(IE 11、Firefox、Opera、Chrome)上都可以正常打开,但在我的 CentOS 6 和 Ubuntu 16.04 上的 cURL(和 wget)不能验证证书。
这是来自 CentOS (Version curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
) cURL 的详细输出
* About to connect() to www.bgetem.de port 443 (#0)
* Trying 193.104.3.166... connected
* Connected to www.bgetem.de (193.104.3.166) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
* Peer's certificate issuer is not recognized: 'CN=COMODO RSA Domain Validation Secure Server …
Run Code Online (Sandbox Code Playgroud) 我现在正在学习/usr/lib/php/sessionclean
。有一件事我不完全明白。在清理之前触摸所有打开的会话文件的目的是什么?我知道这会阻止删除当前打开但尚未写入的过期会话。但这不是竞争条件吗?如果 PHP 进程在 touch 和 delete 命令之间打开一个过期的会话文件怎么办?