發佈日期:
分類:
如何解決XAMPP內『Call to undefined function sodium_crypto_secretbox_keygen()』錯誤
01. 前幾天看到PHP有另一個加密/解密函數『Sodium』,本著測試目的,就把測試程式碼,複製到XAMPP伺服器內測試一下。
<?php $key = sodium_crypto_secretbox_keygen(); $nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES); $ciphertext = sodium_crypto_secretbox('Your message', $nonce, $key); $plaintext = sodium_crypto_secretbox_open($ciphertext, $nonce, $key); if ($plaintext === false) { throw new Exception("Bad ciphertext"); } echo $plaintext; ?>
02. 明明Sodium的extension已經啟用,但運行時卻出現『Fatal error: Uncaught Error: Call to undefined function sodium_crypto_secretbox_keygen() in xxx Stack trace: #0 {main} thrown in xxx on line 3』錯誤。
03. 玩了幾天,連『Copilot』也出動了。原來只是那些年的解決方法,只是自己已經忘記了。
04. 只要將『C:\xampp\php\libsodium.dll』檔案(假設XAMPP預設安裝在C:\XAMPP資料夾內),複製一份到『C:\xampp\apache\bin』資料夾內,再重新啟動Apache一次,PHP Sodium便能成功使用。
發佈留言