首頁  >  文章  >  後端開發  >  php7編譯安裝錯

php7編譯安裝錯

PHPz
PHPz原創
2023-05-06 21:44:071658瀏覽

誤及解決方法

PHP作為空間和伺服器程式語言,近年來一直是網站開發人員的重要選擇,多數主機都已經預先安裝了PHP環境,但是對於伺服器管理員,他們也可能會面對一些需要自行編譯安裝PHP的情況。然而在這個過程中,由於各種原因,PHP的編譯安裝並不總是順利的,這需要我們對問題進行排查和解決。本文將教你如何解決一個常見的PHP編譯安裝錯誤。

問題描述:

在安裝PHP7.x時,執行make指令,編譯中會出現下列錯誤:

configure: error: cannot find OpenSSL's libraries

make: * [ext/openssl/openssl.lo] Error 1

原因分析:

這個錯誤提示的意思是PHP設定過程中缺少OpenSSL庫文件,因此在編譯過程中出現了問題。

OpenSSL是一種開放原始碼的安全通訊端層加密技術,負責給網路通訊加密。這個問題的根本原因是OpenSSL函式庫沒有被安裝或安裝了但未被正確地配置。

解決方法:

1.下載OpenSSL

從OpenSSL的官方網站下載與您安裝的PHP版本相對應的庫(http://www.openssl. org/source/)。我們需要下載OpenSSL的原始碼,這樣就可以在編譯時進行對應的配置。

2.安裝OpenSSL

編譯並安裝OpenSSL函式庫的原始碼(以下指令為CentOS系統的安裝流程,其他系統請自行查閱):

#cd /usr /local/src

wget https://www.openssl.org/source/openssl-1.0.2t.tar.gz

tar zxvf openssl-1.0.2t.tar.gz

cd openssl-1.0.2t

./config --prefix=/usr/local/openssl --shared

make && make install

注意:以上這個openssl路徑和後面編譯php的時候用到的路徑一定要一樣。

3.設定OpenSSL

在PHP的原始碼資料夾中,找到configure檔(位於root@localhost:/usr/local/src/php-7.0.13$),加入以下命令:

--with-openssl-dir=/usr/local/openssl

#修改前:

./configure

修改後:

./configure --with-openssl-dir=/usr/local/openssl

4.編譯安裝PHP

在設定完OpenSSL之後,回到php來源程式碼目錄,執行下面的命令,編譯和安裝PHP:

cd /usr/local/src/php-7.0.13

./configure --prefix=/usr/local/ php7 --with-config-file-path=/usr/local/php7/etc --enable-fpm -with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv --with-freetype- dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --with- fpm-user=www --with-fpm-group=www --with-pcre-regex --with-pcre-dir --enable-mbstring --with-mcrypt --with-gd --enable-gd-native -ttf --with-openssl-dir=/usr/local/openssl --with-mhash

make && make install

5.檢查PHP的執行情況

安裝完畢後,檢查PHP環境是否成功安裝。

/usr/local/php7/bin/php -v

如果出現PHP版本號碼資訊表示PHP7已經成功安裝:

PHP 7.0.13 (cli) 。

透過上述流程,我們可以成功安裝PHP且解決了OpenSSL函式庫檔案缺失所導致的編譯安裝錯誤。當然,針對不同系統編譯所需指令可能會稍有不同,但這也是常見的OpenSSL缺失所造成的編譯錯誤解決方法之一。希望能對初學者和有需要的讀者產生幫助。

以上是php7編譯安裝錯的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn