首頁  >  文章  >  後端開發  >  PHP7開啟OpenSSL擴充失敗怎麼辦

PHP7開啟OpenSSL擴充失敗怎麼辦

醉折花枝作酒筹
醉折花枝作酒筹轉載
2021-05-17 09:25:152752瀏覽

這篇文章跟大家介紹一下PHP7開啟OpenSSL擴充失敗的解決方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。

PHP7開啟OpenSSL擴充失敗怎麼辦

最近學習Laravel框架,需要開啟PHP的OpenSSL擴展,試了網路上的許多方法都不行,最後搞了很久,終於成功,現將經歷寫下,以便總結。

以下為本人失敗的經驗:

最開始使用網路上說的最多的方法:

1、先檢查php.ini中extension=php_openssl.dll是否存在,如果存在的話去掉前面的註解符“;”, 如果不存在這行,那麼添加extension=php_openssl.dll;

2、將PHP目錄下的:php_openssl.dll(該檔案在ext文件夾),ssleay32.dll,libeay32.dll 3 個檔案拷貝到windows\system32\資料夾下;

3、重啟apache;

至此,openssl功能就開啟了。

很顯然,我沒有成功,繼續找方法,

之後在知乎上看到有人遇到同樣的問題,後來解決了,還說了方法,我就也試了一下,方法如下圖:

題主說了僅限win7,我的是win10,不過還是試了一下,萬一成功了呢

很顯然,依然沒有成功,繼續找方法,

之後又試了幾個方法,依然沒有成功,然後就想著用別人的電腦試一下,於是就用​​了小伙伴的電腦試了一次,將php.ini中extension=php_openssl.dll前面的註解去掉,三個檔案也沒複製,重啟Apache,開啟phpinfo,成功,一次成功。此時我的內心是崩潰的,我的怎麼就不行啊,沒辦法,繼續搞,最後我把兩台電腦的PHP的配置文件php.ini和Apache的配置文件http.conf中有關ssl的地方一一比較,希望能找到問題。最後我還真找到了一點不同,我發現我的http.conf中LoadModule ssl_module modules/mod_ssl.so是註解掉的,而他的沒有註解。馬上去掉註釋,重啟Apache,打開phpinfo,搜尋OpenSSL,發現多了三個搜尋記錄,可是還是沒有啟用。到這時候,我已經沒有方法了,就繼續搜吧,功夫不負有心人,最後終於成功了。

以下為最後成功的方法:

看到一篇文章寫到php5升級到php7時需要注意的一些問題,其中有這麼一條:

#重啟Apache時,報curl和openssl的擴充庫載入失敗(apache的log會報錯)

可將libeay32.dll和ssleay32.dll檔案複製並替換到apache\bin目錄下,再次啟動Apache

我就又試了一下,成功,所以我的成功方法應該是去掉php.ini中openssl擴充的註釋,移動以上兩個文件,重啟Apache。

附註:兩個文件複製到apache\bin目錄時,最好提前備份下原目錄下的這兩個文件,如果覆寫出錯,關閉Apache即可。

每個人的環境可能有些許不同,以上內容僅供參考。

推薦學習:php影片教學

以上是PHP7開啟OpenSSL擴充失敗怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除