No system CA bundle could be found in any of the the common system locations.
PHP versions earlier than 5.6 are not properly configured to use the system's
CA bundle by default. In order to verify peer certificates, you will need to
supply the path on disk to a certificate bundle to the 'verify' request
option: http://docs.guzzlephp.org/en/latest/clients.html#verify. If you do not
need a specific certificate bundle, then Mozilla provides a commonly used CA
bundle which can be downloaded here (provided by the maintainer of cURL):
https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt. Once
you have a CA bundle available on disk, you can set the 'openssl.cafile' PHP
ini setting to point to the path to the file, allowing you to omit the 'verify'
request option. See http://curl.haxx.se/docs/sslcerts.html for more
information.
求教,这个问题没遇到过,是说我ssl证书出了什么问题吗?
PHPz2017-05-16 16:54:31
是不存在guzzle这个库能识别到的ssl证书吧...
我找了一下文档发现 http://docs.guzzlephp.org/en/latest/request-options.html#verify-option
When using the PHP stream wrapper on versions < 5.6, Guzzle tries to find your CA bundle in the following order:
Check if
openssl.cafile
is set in your php.ini file.Check if
curl.cainfo
is set in your php.ini file.Check if
/etc/pki/tls/certs/ca-bundle.crt
exists (Red Hat, CentOS, Fedora; provided by the ca-certificates package)Check if
/etc/ssl/certs/ca-certificates.crt
exists (Ubuntu, Debian; provided by the ca-certificates package)Check if
/usr/local/share/certs/ca-root-nss.crt
exists (FreeBSD; provided by the ca_root_nss package)Check if
/usr/local/etc/openssl/cert.pem
(OS X; provided by homebrew)Check if
C:windowssystem32curl-ca-bundle.crt
exists (Windows)Check if
C:windowscurl-ca-bundle.crt
exists (Windows)
你按照上面设置好了...