iT邦幫忙

0

PHP7 還可以開啟mysql_*擴展?

各位大大好
小弟今天在測試一台新主機
他的PHP版本是 7.4.2
叫出phpinfo
意外發現他有開啟mysql擴展
測試一下竟然也還能用
請問一下各位大大
PHP7不是已經廢除了mysql擴展嗎
還是他的廢除只是預設不開啟而已?

我又上網爬了一下文
好像是可以自己裝mysql擴展
還會有其他可能性嗎
https://ithelp.ithome.com.tw/upload/images/20200610/20123565tj4aTmZ214.png

看更多先前的討論...收起先前的討論...
player iT邦大師 1 級 ‧ 2020-06-10 14:58:01 檢舉
沒廢
只是預設安裝的PHP是不載入這個模組
但是有的主機商的後台
可以改PHP的設定自行決定要不要載入它

如果你可以改主機上的php.ini
也可以決定要載入那些模組
st474ddr iT邦新手 2 級 ‧ 2020-06-10 15:42:10 檢舉
那為什麼網路上都說已廢阿@@
還是這廢除的意義不一樣
是php7廢除他了。
但不代表你不能再將它裝回來。

php其實很多模組套件都不是php本身提供的。
而是借由相關廠商支援。

你可以自行去安裝官方的php7。一定是看不到mysql相關的模組跟套件的。
除非你誤會mysql模組是php的。
st474ddr iT邦新手 2 級 ‧ 2020-06-11 11:55:36 檢舉
原本我還真的沒仔細思考擴展和核心的關係
現在終於了解了
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

5
fillano
iT邦超人 1 級 ‧ 2020-06-10 16:55:32
最佳解答

擴展本來就不是核心的一部份,他提供給PHP的是函數、類別或一些常數而已,只要相容性沒問題,就可以掛上去,在這個意義上,只要有人「維護」,實際上是不可能廢除的。

所謂廢除,我想是核心團隊不建議使用,也不再維護。但是你不顧風險自己掛上去,他也無能為力阻止你。(的確,這個老mysql擴展恐怕是漏洞的主要來源,雖然終極原因是寫程式的人沒有好好處理進入系統的資料)

fillano iT邦超人 1 級 ‧ 2020-06-10 17:04:24 檢舉

科普一下。

PHP的擴展,是用C開發的,PHP提供巨集讓你寫的函數可以被PHP呼叫,並返回PHP可以接受的變數,也提供函數協助你做型別轉換等工作。如果要用物件導向的方式給用戶使用,他也提供一些函數來協助,大概就是這樣。(還有一些雜七雜八的,例如定義php_info要出現的資訊,設定的處理等等)

st474ddr iT邦新手 2 級 ‧ 2020-06-11 09:05:58 檢舉

謝謝大大詳細的說明
解開我心中的一個疑竇

1

說真的,是算廢除了沒錯。
但只是就針對php7而言。

php7已經預設不包含mysql相關的套件。
但是廢除的套件,還是可以再安裝回來的。

因為所謂的廢除,也只是棄用它而已。
不代表不能再用。

st474ddr iT邦新手 2 級 ‧ 2020-06-11 11:56:29 檢舉

感謝大大回覆
刷新我的觀念

我要發表回答

立即登入回答