2017-07-15 46 views
0

我已經安裝了libsodium和libsodium-PHP在Ubuntu 16.04,但是當我運行:libsodium 「調用未定義功能」 的錯誤

`<?php 
var_dump([ 
    \Sodium\library_version_major(), 
    \Sodium\library_version_minor(), 
    \Sodium\version_string() 
]);` 

我得到一個錯誤說:

PHP Fatal error: Uncaught Error: Call to undefined function Sodium\library_version_major() 

根據的phpinfo ()Sodium已啓用,編譯版本爲2.0.1,庫版本爲1.0.13。我究竟做錯了什麼?

回答

2

libsodium的PHP API在擴展版本2.0.0中已更改。

最初,所有功能都在\Sodium\名稱空間中。

但是,在PHP開發人員就PHP 7.2包含進行投票後,決定將所有內容移至全局命名空間。

因此,以前是\Sodium\library_version_major()現在是sodium_library_version_major()

+1

用'sodium_library_version_major()'替換'\ Sodium \ library_version_major()'會導致相同的錯誤。 –

+1

由於使用SODIUM_LIBRARY_MAJOR_VERSION常量替換了這個例子,所以這是個不好的例子。但是實際功能現在有一個sodium_前綴。 –

+0

工作正常!非常感謝你。 –

相關問題