用自己Mac做服務(wù)器推送消息的時(shí)候,在終端運(yùn)行php文件報(bào)錯(cuò):
Warning: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in /Users/rednow/my work/developer/pushMe.php on line 21
Warning: stream_socket_client(): Failed to enable crypto in /Users/rednow/my work/developer/pushMe.php on line 21
Warning: stream_socket_client(): unable to connect to ssl://gateway.sandbox.push.apple.com:2195 (Unknown error) in /Users/rednow/my work/developer/pushMe.php on line 21
Failed to connect: 0
在stackoverflow找了半天,發(fā)現(xiàn)應(yīng)該是需要替換cacert.pem這個(gè)文件,好像是和https被禁掉有關(guān):
http://stackoverflow.com/questions/3777075/ssl-certificate-rejected-trying-to-access-github-over-https-behind-firewall
后來發(fā)現(xiàn)pod update 都不能更新了,報(bào)錯(cuò):

F6AF630D-47A5-48C6-86C7-3D0678B68588.png
"SSL:can't load CA certificate file cacert.pem"
一開始以為只是openssl的證書過期,但是按照大神們的套路更換后,還是沒有好,大神帖子:
https://ruby-china.org/topics/24840
具體的步驟是:
1,先檢查路徑是否正確:
ruby -e "require 'openssl'; puts OpenSSL::X509::DEFAULT_CERT_FILE"
如果是homebrew安裝的默認(rèn)路徑是:
/usr/local/etc/openssl/cert.pem
2,路徑?jīng)]有問題的話開始更新證書:
wget -c http://curl.haxx.se/ca/cacert.pem
mv cacert.pem /usr/local/etc/openssl/cert.pem
還有方法B,可以使用RVM來更新證書:
rvm osx-ssl-certs status all
rvm osx-ssl-certs update all

CB71972D-42BD-482E-85C1-46F0B97B0CF5.png
好的,我滿心歡喜以為這樣就搞定了,卻發(fā)現(xiàn)始終還是報(bào)那個(gè)錯(cuò)誤。
之后在網(wǎng)上大海撈針般的搜索了兩天,我突然意識(shí)到,有一個(gè)答案我一開始就找到了,卻沒有引起重視:

4B5C3686-0A4F-4ECC-81B4-4B838D6F1FEE.png
https://github.com/Homebrew/legacy-homebrew/issues/44636
我雖然曾嘗試過這個(gè)方法,卻修改錯(cuò)了文件:git在mac上的配置文件應(yīng)該是~/.gitconfig。(但是不懂為什么~/.git下,還有一些地方也有配置文件,有大神知道嗎?)
于是我打開隱藏文件:

333D50C4-9A2C-4C0F-8041-124C399B6C24.png
修改之:

0E61084F-017A-4FA7-9ED2-60D6F67A6C38.png
??,問題搞定!