亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > PHP實現支持CURL字符串證書傳輸的方法

PHP實現支持CURL字符串證書傳輸的方法

熱門標簽:西區企業怎么做地圖標注入駐 七魚外呼系統停用嗎 抖音有個地圖標注是什么意思 阿里云400電話申請加工單 海南人工外呼系統有效果嗎 保定crm外呼系統運營商 智能電話機器人排名前十名南京 地下城堡2圖九地圖標注 九江外呼系統

背景

最近在對接微信支付的時候,需要在退款處用到證書,由于我們是SAAS平臺,要支持多方多渠道支付,如果把所有證書文件保存在應用服務器會受到SLB的影響,會導致某臺機器文件不同步而阻礙退款流程,但把文件存在OSS的話,后端又要從OSS下載到應用服務器來保證一致性。思來想去,最終決定將證書內容保存在數據庫,不同客戶各對應一份證書文件,無論幾臺機器做集群都能保證文件的一致性,同時也避免了多余的下載步驟。

問題

但是剛做就遇到了問題,PHP的CURL證書并不支持字符串的傳輸,只能填寫證書路徑(以下是官方的說法)

Client certificates must be specified by a path expression to a certificate store.

解決過程

我第一個想到的就是創建空白文件,將證書內容寫進去,等證書使用完畢后再將文件刪除,但是創建實體文件再刪除的操作消耗性能不說,還非常麻煩,有沒有創建臨時文件的方法呢?有,tmpfile()函數就可以幫我們創建臨時文件并拿到文件路徑,于是我寫了一個獲取臨時文件路徑的方法

?php
 public function getTmpPathByContent($content)
 {
  $tmpFile = tmpfile();
  fwrite($tmpFile, $content);
  $tempPemPath = stream_get_meta_data($tmpFile);
  return $tempPemPath['uri']; ///tmp/phpXZCtAO
 }
?>

比較悲哀的是,通過這個方法返回的路徑根本讀不到內容,甚至一度以為是不是被騙了

file_get_contents(/tmp/phpyyiOZv): failed to open stream: No such file or directory

看了官方文檔才找到原因,如果tmpfile()返回的句柄引用計數為0的話就會將臨時文件回收,臨時路徑自然也就失效了,顯然方法getTmpPathByContent()執行完后,局部變量$tmpFile的生命周期就結束了(官方文檔如下)

The file is automatically removed when closed (for example, by calling fclose(), or when there are no remaining references to the file handle returned by tmpfile()), or when the script ends.

確認了根源,那我們現在亟需找到一個生命周期隨進程結束而終止的變量類型來保存句柄,什么類型能滿足條件呢?靜態變量。靜態變量與局部變量不同的是,在PHP生命周期開始時便會為其分配內存空間,并會把它存儲在全局變量區域,而全局變量是在模塊關閉階段銷毀的,這樣的話,聲明靜態變量就可以使$tmpFile引用計數持續保持大于0的狀態,那我們的代碼就可以做出如下處理

?php
 public function getTmpPathByContent($content)
 {
  static $tmpFile = null;
  $tmpFile = tmpfile();
  fwrite($tmpFile, $content);
  $tempPemPath = stream_get_meta_data($tmpFile);
  return $tempPemPath['uri'];
 }
?>

再執行一次就成功讀取了臨時文件的內容

-----BEGIN CERTIFICATE-----
MIIEbDCCA9WgAwIBAgIEAWJKHDANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMC
Q04xEjAQBgNVBAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNV
BAoTB1RlbmNlbnQxDDAKBgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEf
MB0GCSqGSIb3DQEJARYQbW1wYXltY2hAdGVuY2VudDAeFw0xNzA4MDcwOTIxNDda
Fw0yNzA4MDUwOTIxNDdaMIGbMQswCQYDVQQGEwJDTjESMBAGA1UECBMJR3Vhbmdk
b25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UEChMHVGVuY2VudDEOMAwGA1UE
CxMFTU1QYXkxMDAuBgNVBAMUJ+a3seWcs+W4guaYjua6kOi9r+S7tuiCoeS7veac
iemZkOWFrOWPuDERMA8GA1UEBBMIMTAyNTkyODEwggEiMA0GCSqGSIb3DQEBAQUA
A4IBDwAwggEKAoIBAQDg2D3++uOxY/yMGQPBnROvyYimnCsfGE0dnqdGUTCykqBh
yfv82zE1/St/4DQX2QDiIvLif+sMGcYwF4bkzdY+HgitYLI0k5o/5LCNZOMctuio
kdYC2bNdWHq2y9S5UWLQR1Zvq+6QyPBVBVY9yq9xtQhIlUTsZnICAp3iQLfQUR3l
aEdH9IERoRUIkbyb8oX5ONQz4P9jOeE9C5iwx0QrH4s01NFhkhr8JHlugRLpo9vA
xGgi/48fOlONj6wWal5Gt0OvvEbIwgQwya15KBX2YeGnZvYBQa+lQMeXEqZSFie3
G+wGvbtlONczQEtp+JDxLZLUS/FT7U0TQN/t8JDvAgMBAAGjggFGMIIBQjAJBgNV
HRMEAjAAMCwGCWCGSAGG+EIBDQQfFh0iQ0VTLUNBIEdlbmVyYXRlIENlcnRpZmlj
YXRlIjAdBgNVHQ4EFgQUjDJ75bu3Roog7XOH6uFAdZ6kpcIwgb8GA1UdIwSBtzCB
tIAUPgUm9iJitBVbiM1kfrDUYqflhnShgZCkgY0wgYoxCzAJBgNVBAYTAkNOMRIw
EAYDVQQIEwlHdWFuZ2RvbmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdU
ZW5jZW50MQwwCgYDVQQLEwNXWEcxEzARBgNVBAMTCk1tcGF5bWNoQ0ExHzAdBgkq
hkiG9w0BCQEWEG1tcGF5bWNoQHRlbmNlbnSCCQC7VJcrvADoVzAOBgNVHQ8BAf8E
BAMCBsAwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADgYEA
ucJLJkkHxlqQCEapZOWmySutqNVZxFbqyG//UXxxpA/1yG4e+KmufKZWv+c+MtYI
8i0KDDCv/UE+kkFIrHYDDKsdLRpxrYOUHGoqq0c7yBJ6Dimgy6m8U8FsEv3HtUR2
8g5xrg2Tc5MPWEp9ncEw575hGk0CXLDGOkI1nU+pGqk=
-----END CERTIFICATE-----

下面就可以把生成的臨時文件地址設置到CURLOPT_SSLCERT了

?php
 $sslCertPath = getTmpPathByContent($content);
 curl_setopt($ch,CURLOPT_SSLCERT, $sslCertPath);
 //......
?>

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • PHP生成短網址的思路以及實現方法的詳解
  • PHP錯誤提示It is not safe to rely on the system……的解決方法
  • PHP隨機數函數rand()與mt_rand()的講解
  • php微信掃碼支付 php公眾號支付
  • 詳解PHP變量傳值賦值和引用賦值變量銷毀
  • PHP使用OB緩存實現靜態化功能示例
  • PHP使用mysqli同時執行多條sql查詢語句的實例
  • PHP中命名空間的使用例子
  • PHP SESSION機制的理解與實例
  • PHP自動載入類文件函數__autoload的使用方法

標簽:昭通 遼陽 涼山 韶關 甘肅 梅河口 九江 十堰

巨人網絡通訊聲明:本文標題《PHP實現支持CURL字符串證書傳輸的方法》,本文關鍵詞  PHP,實現,支持,CURL,字符串,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP實現支持CURL字符串證書傳輸的方法》相關的同類信息!
  • 本頁收集關于PHP實現支持CURL字符串證書傳輸的方法的相關信息資訊供網民參考!
  • 推薦文章
    国产精品1024在线永久免费| 久久成人亚洲| 日本在线不卡视频| 国产激情视频在线观看| 日本在线不卡免费视频一区| 精品国产香蕉伊思人在线又爽又黄| 成人免费网站久久久| 精品视频在线看| 精品久久久久久综合网| 黄视频网站在线免费观看| 日韩在线观看视频黄| 一本高清在线| 国产91视频网| 青青青草视频在线观看| 日韩在线观看视频网站| 精品久久久久久免费影院| 国产成人精品影视| 精品久久久久久综合网| 韩国毛片免费大片| 国产成a人片在线观看视频| 国产网站免费| 韩国毛片基地| 成人av在线播放| 日韩中文字幕在线亚洲一区| 免费的黄视频| 国产一区二区精品| 国产麻豆精品| 国产成人精品影视| 国产一区二区高清视频| 精品国产一区二区三区久| 九九九网站| 青青久热| 欧美另类videosbestsex视频| 国产一区免费观看| 国产精品1024在线永久免费| 在线观看成人网| 久久久久久久男人的天堂| 九九干| 国产麻豆精品hdvideoss| 日韩中文字幕在线播放| 精品视频在线看 | 免费一级片网站| 黄色免费三级| 国产一区二区精品| 黄色福利片| 美国一区二区三区| 国产视频久久久| 日日夜夜婷婷| 免费毛片基地| 麻豆网站在线看| 欧美国产日韩久久久| 久久99青青久久99久久| 国产一区二区精品久久| 在线观看导航| 天天做日日干| 成人影视在线播放| 久久国产精品自线拍免费| 亚洲www美色| 国产激情视频在线观看| 精品久久久久久中文| 日本伦理网站| 国产成人精品影视| 成人a大片在线观看| 成人免费观看网欧美片| 成人免费观看视频| 欧美一级视| 999久久狠狠免费精品| 久久国产一久久高清| 日本特黄特黄aaaaa大片| 日韩中文字幕一区二区不卡| 99久久网站| 精品国产一区二区三区免费 | 精品视频一区二区三区免费| 99久久精品国产国产毛片| 亚洲精品永久一区| 成人高清视频在线观看| 成人在激情在线视频| 高清一级淫片a级中文字幕| 国产一区二区精品尤物| 天天色成人| 欧美一级视频免费观看| 色综合久久天天综合绕观看| 久久精品道一区二区三区| 精品国产香蕉在线播出| 亚洲天堂在线播放| 国产一区精品| 国产一区二区精品尤物| 国产成人精品一区二区视频| 深夜做爰性大片中文| 国产成人精品综合久久久| 九九久久99| 国产91素人搭讪系列天堂| 日韩专区一区| 国产精品1024永久免费视频| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日韩一级黄色大片| a级毛片免费观看网站| 香蕉视频一级| 色综合久久手机在线| 成人免费观看视频| 91麻豆tv| 日日夜夜婷婷| 亚洲精品永久一区| 国产亚洲免费观看| 韩国毛片免费| 99色播| 国产美女在线一区二区三区| 欧美另类videosbestsex视频| 美女免费毛片| 美女免费毛片| 97视频免费在线观看| 国产网站免费观看| 黄色福利片| 成人在免费观看视频国产| 91麻豆tv| 九九免费精品视频| 你懂的国产精品| 91麻豆精品国产片在线观看| 亚洲 国产精品 日韩| 日韩在线观看网站| 97视频免费在线观看| 免费一级片在线| 91麻豆精品国产自产在线 | 四虎影视库| 国产一区二区精品尤物| 一级毛片视频免费| 欧美另类videosbestsex久久 | 国产91丝袜高跟系列| 国产精品1024永久免费视频| 亚洲天堂免费| 精品毛片视频| 99久久精品国产麻豆| 麻豆系列 在线视频| 国产不卡在线看| 999精品影视在线观看| 四虎影视久久久| 精品国产一区二区三区国产馆| 成人免费观看的视频黄页| 91麻豆精品国产自产在线观看一区 | 国产精品自拍亚洲| 日韩在线观看免费| 日本免费看视频| 久久久久久久网| 午夜激情视频在线观看| 国产国语在线播放视频| 国产原创视频在线| 国产一区二区精品| 91麻豆精品国产自产在线 | 久久精品欧美一区二区| 午夜精品国产自在现线拍| 免费国产一级特黄aa大片在线| 日韩男人天堂| 午夜在线影院| 一本高清在线| 一本高清在线| 四虎影视久久久免费| 国产一区二区精品久| 日韩字幕在线| 精品视频在线观看免费| 日本伦理片网站| 精品视频一区二区| 欧美爱色| 日韩女人做爰大片| 精品视频一区二区三区| 九九久久国产精品| 欧美爱爱动态| 青青久久精品| 欧美激情一区二区三区在线播放 | 国产麻豆精品免费视频| 欧美另类videosbestsex| 久久精品欧美一区二区| 九九热国产视频| 韩国三级香港三级日本三级| 日韩在线观看视频免费| 精品国产一区二区三区久| 黄视频网站在线观看| 国产一区二区精品尤物| 91麻豆精品国产片在线观看| 成人高清免费| 国产一区二区高清视频| 国产国产人免费视频成69堂| 一级片免费在线观看视频| 日韩男人天堂| 亚洲 国产精品 日韩| 99久久网站| 青青青草视频在线观看| 久久国产精品永久免费网站| 精品国产一区二区三区免费| 午夜久久网| 99久久精品国产免费| 91麻豆精品国产综合久久久| 日本伦理黄色大片在线观看网站| 色综合久久天天综合观看| 国产伦久视频免费观看 视频| 欧美18性精品| 国产亚洲精品aaa大片| 免费的黄视频| 国产精品12| 成人在激情在线视频| 午夜在线观看视频免费 成人|