PHP Cookie 儲存陣列資料

有個陣列,希望將陣列儲存至 Cookie 中,這裡提供兩種方法

在官網的範例中,可用下方的方式達成目的
https://www.php.net/manual/en/function.setcookie.php

output:

雖然是達到目的了,但事實上是建立了三個Cookie,怎麼看都不優雅,更難想像若是一個複雜的多惟陣列,會產生多少Cookie

再來介紹一個比較優雅的做法,我也比較喜歡,先將陣列序列化成字串存入Cookie

需要用到的時候,再將字串反序列化,是不是方便多了呢

output:

[……]

閱讀更多

Fix Curl Error: SSL certificate problem: unable to get local issuer certificate

最近正在安裝 WHMCS localhost 開發環境,程式安裝成功,但許可證一直無法通過,在原廠協助下,來來回回終於找到錯誤原因,就是 Curl 有錯誤,錯誤訊息:

Curl Error: SSL certificate problem: unable to get local issuer certificate

Fix Curl Error: SSL certificate problem: unable to get local issuer certificate

Curl在 WHMCS 中是很重要的,很多API的介接都需要靠它,我已經成功修復錯誤,以下分享修正方法。

修正 unable to get local issuer certificate 錯誤

Step 1. 下載CA憑證

到這個網址下載憑證: Download the certificate bundle.

Download the certificate bundle.

點紅框處下載,檔名為 cacert.pem

Step 2. 複製檔案到PHP安裝目錄中

雖然可以放在任意位置,單純是因為好找,所以我把它放在PHP安裝目錄中:

C:\php-7\extras\ssl\cacert.pem

Step 3. 確認PHP.ini啟用 mod_ssl 模組

找到 PHP.ini  檔打開它並查找 php_openssl.dll

如果它前面有分號,代表沒有開啟,請將分號移除

;extension=php_openssl.dll

如果 PHP.ini  中沒有查找到 php_openssl.dll  請於空白處,自行加入下方這一行

extension=php_openssl.dll

Step 4. 設定cacert.pem

繼續在 PHP.ini  中查找 curl.cainfo  及 openssl.cafile  這兩行

填入 Step 2 的 cacert.pem  檔案之絕對路徑,和上一個步驟一樣,前方有分號請移除分號,如果找不到這兩行請自行添加

特別注意:目錄斜線跟 Windows 檔案總管的斜線相反,要用左斜線

curl.cainfo="C:/php-7/extras/ssl/cacert.pem"
openssl.cafile="C:/php-7/extras/ssl/cacert.pem"

Step 5. 重新啟動服務器

重啟後,重新測試

Fix Curl Error: SSL certificate problem: unable to get local issuer certificate

參考:[……]

閱讀更多