www.hg8975.com

2019-11-02Z-BlogPHP17810
  • 詳情內容
  • 留言點評

由于較新版本ZBlogPHP程序和應用中心插件采用了新機制,最近有很多朋友在啟用收費應用時出現openssl_public_encrypt(): Don't know how to get public key from this private key、Call to undefined function openssl_pkey_get_public()等包含openssl字樣的錯誤,這種情況大家會直接懷疑是應用本身的問題,其實不是,今天益吾庫就來講一講這其中的原因和解決方法。

出現這些錯誤提示其實就是PHP環境的OpenSSL擴展模塊沒有開啟,ZBlogPHP系統無法運行收費應用核驗程序。實際上,大多主流服務器空間都默認開啟了OpenSSL模塊,少數未開啟情況常見于自配環境(如phpstudy本地環境)。

OpenSSL是一個開放源代碼的軟件庫包,應用程序可以使用這個包來進行安全通信,避免竊听,同時確認另一端連接者的身份。這個包廣泛被應用在互聯網的網頁服務器上。SSL是Secure Sockets Layer(安全套接層協議)的縮寫,可以在Internet上提供秘密性傳輸。

在PHP環境中如何開啟OpenSSL模塊?

Windows操作系統開啟方法︰

1︰首先在php目錄中找到php.ini配置文件,搜索一下;extension=php_openssl.dll是否存在, 如果存在去掉前面的注釋符‘;’即可, 如果不存在這行,那麼添加extension=php_openssl.dll。

2︰如果沒有 php_openssl.dll 這個文件,則需要重新安裝較新的完整版環境;

3︰重啟apache或iis;

Linux操作系統開啟方法︰

以PHP版本php-5.5.7為例,如果服務器上存在PHP安裝包文件最好,如果已經刪除,去下載和phpinfo頁面顯示版本一樣的PHP安裝文件,如 php-5.5.7.tar.gz,搜狐鏡像下載地址為︰ http://mirrors.sohu.com/php/

用ssh工具連接到主機

# 下載到/var/www/php5目錄下cd /var/www/php5wget http://mirrors.sohu.com/php/php-5.5.7.tar.gz# 解壓tar zxvf php-5.5.7.tar.gz# 進入PHP的openssl擴展模塊目錄cd php-5.5.7/ext/openssl//var/www/php5/bin/phpize # 這里為你自己的phpize路徑,如果找不到,使用whereis phpize查找# 執行後,發現錯誤 無法找到config.m4 ,config0.m4就是config.m4。直接重命名mv config0.m4 config.m4/var/www/php5/bin/phpize./configure --with-openssl --with-php-config=/var/www/php5/bin/php-configmakemake install# 安裝完成後,會返回一個.so文件(openssl.so)的目錄。在此目錄下把openssl.so 文件拷貝到你在php.ini 中指定的 extension_dir 下(在php.ini文件中查找︰extension_dir =),我這里的目錄是 var/www/php5/lib/php/extensions# 編輯php.ini文件,在文件最後添加extension=openssl.so# 重啟Apache即可/usr/local/apache2/bin/apachectl restart

至此,已成功添加openssl支持。

當然,如果沒有空間配置權限,則需要聯系空間商處理,該模塊開啟是非常有必要和比較常見的配置。


歡迎點評!也可以是問題反饋和建議

支持Ctrl+Enter提交
  • 2條留言
  • 小王先森2019-11-02 13:12:20
  • 我遇到了,就是下載了一個破解版的插件,開啟的時候提示這個問題,我用的是windows環境,iis服務,用的是寶塔,怎麼解決
    • 益點益滴2019-11-02 13:12:01
    • 遠離盜版破解版,購買正版!
0

真心很贊,必須打賞!嗯,以資鼓勵~

點此打賞

99%看過的人還會看

www.hg8975.com | 下一页