日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

lamp架构之升级php版本

發(fā)布時(shí)間:2025/4/9 php 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lamp架构之升级php版本 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

當(dāng)你看到這篇文章的時(shí)候 YHSPY.COM 服務(wù)器上的PHP版本已經(jīng)從 5.4.27 升級到了 7.0.4,這是一個(gè)重大的飛躍。一路升級遇到了很多問題。官方聲稱PHP7最大的升級就是在語言性能上的提升,最大到達(dá)了30%。同時(shí)也去掉了很多老版本中Deprecated的函數(shù)和方法,語言整體變得更加穩(wěn)定。

?

首先聲明,此文不適用于使用yum方式安裝的PHP環(huán)境的升級,只適用于使用PHP源代碼編譯安裝的PHP版本。升級之前首先需要判斷服務(wù)器上Apache的版本,根據(jù)不同的Apache版本來參考不同的官方編譯文檔。用以下命令來查看當(dāng)前Apache的版本:

?

? ? ... (詳見原文)

?

由以上命令返回的結(jié)果可知,Apache服務(wù)器為2.X版本,所以此處應(yīng)該參考官方給出的PHP編譯在Apache版本2.X上的編譯參考文檔:Apache2.X版本PHP編譯文檔,對于其他版本的Aapche或者Nginx,可以參考此處:其他版本服務(wù)器PHP編譯文檔。

?

接下來我們從PHP官方給出的鏡像地址來獲取PHP源代碼,這些源代碼將會最后被編譯并安裝在我們的服務(wù)器上。這里按照官方文檔的說明,我們使用wget命令來獲取源代碼的壓縮包,并逐層解壓,直到生成最后的源代碼文件夾。

?

... (詳見原文)

?

由于我們這里為PHP的版本升級操作,所以需要保持新版本PHP源代碼的預(yù)編譯參數(shù)和舊版本PHP源碼的預(yù)編譯參數(shù)保持一致。進(jìn)入到舊版本(當(dāng)前版本)PHP源碼文件夾內(nèi),使用?vi/vim命令打開文件夾內(nèi)的Mkaefile文件,復(fù)制其中的 CONFIGURE_COMMAND 參數(shù)部分并整理成如下格式(去掉單引號等):

?

... (詳見原文)

?

?

其實(shí) CONFIGURE_COMMAND 參數(shù)的值本身就是對應(yīng)我們上一次PHP源碼預(yù)編譯過程的全部編譯命令(和子參數(shù)),這里順便說一下其中幾個(gè)子參數(shù)的作用。“--prefix”參數(shù)用來指定PHP安裝的主要目錄位置,“--with-config-file-path”參數(shù)主要用來指定php.ini文件的生成路徑,對于其他子參數(shù)的具體用法和說明,請?jiān)赑HP源代碼文件夾內(nèi)使用./configure --help命令來查看。

接下來便通過已經(jīng)整理好的預(yù)編譯參數(shù)來對源碼進(jìn)行預(yù)編譯操作(即編譯前的配置操作):

?

.. (詳見原文)

?

在這里為了防止出現(xiàn)錯(cuò)誤,我們需要分開執(zhí)行make編譯和make install安裝兩個(gè)操作命令,首先執(zhí)行make命令來編譯源代碼。

?

?

如果在執(zhí)行過程中遇到“undefined reference to `libiconv'”錯(cuò)誤,請嘗試為make命令加入ZEND_EXTRA_LIBS參數(shù),如下所示:

?

.. (詳見原文)

?

最后執(zhí)行make install命令來安裝PHP環(huán)境:

?

.. (詳見原文)

?

在源代碼全部編譯完成并安裝后,便可以用以下命令來重新啟動Apache服務(wù)器:

?

.. (詳見原文)

?

至此,PHP7的升級就全部結(jié)束了,你可以通過phpinfo()函數(shù)來查看新版本PHP的相關(guān)配置,包括擴(kuò)展配置和錯(cuò)誤日志等常用設(shè)置是否配置正確。

?

從PHP5.X升級至PHP7.X后,一些PHP在早期版本不推薦使用的函數(shù)比如split()等都已經(jīng)從PHP7移除了,所以在升級時(shí)請參考官方的升級文檔。并且,PHP7也移除了mysql相關(guān)的函數(shù),因此只能使用PDO或其他方式來連接數(shù)據(jù)庫。

?

寫在最后,其實(shí)所謂的預(yù)編譯步驟是對源代碼編譯之前進(jìn)行一些環(huán)境配置,比如指定編譯是否攜帶某一模塊,編譯生成的文件夾等。同時(shí)在執(zhí)行./configure時(shí)也會同時(shí)生成Makefile文件。

轉(zhuǎn)載于:https://www.cnblogs.com/qiuqiuqiu/p/6444919.html

總結(jié)

以上是生活随笔為你收集整理的lamp架构之升级php版本的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。