Discuz!論壇進(jìn)行環(huán)境檢測(cè)時(shí)提示不支持fsockopen和pfsockopen函數(shù)
在云虛擬主機(jī)上安裝Discuz!論壇時(shí),系統(tǒng)會(huì)執(zhí)行環(huán)境檢測(cè)確保該論壇可以正常安裝。可能由于云虛擬主機(jī)本身默認(rèn)某些功能(例如PHP函數(shù)fsockopen)已關(guān)閉或無(wú)法使用,導(dǎo)致環(huán)境檢測(cè)過(guò)程中,提示不支持fsockopen
和pfsockopen
函數(shù)。本文介紹這種情況的可能原因和解決方案。
問(wèn)題描述
在Linux系統(tǒng)云虛擬主機(jī)中安裝Discuz!論壇進(jìn)行環(huán)境檢測(cè)(例如函數(shù)依賴性檢查環(huán)節(jié))時(shí),提示不支持fsockopen()
和pfsockopen()
函數(shù)。
fsockopen
和pfsockopen
函數(shù)與Discuz!論壇的郵件功能有所關(guān)聯(lián)。其中,pfsockopen
是fsockopen
函數(shù)的長(zhǎng)連接版本(即當(dāng)腳本執(zhí)行完成后,pfsockopen
函數(shù)連接一直不會(huì)關(guān)閉),兩個(gè)函數(shù)作用是一樣的。
問(wèn)題原因
基于安全考慮,Linux系統(tǒng)云虛擬主機(jī)默認(rèn)無(wú)法使用pfsockopen
函數(shù),但允許設(shè)置fsockopen
函數(shù)功能,默認(rèn)情況下,fsockopen
函數(shù)功能為禁用狀態(tài),故Discuz!論壇進(jìn)行環(huán)境檢測(cè)時(shí)兩個(gè)函數(shù)均顯示不支持。
解決方案
找到待安裝Discuz!論壇的云虛擬主機(jī),單擊對(duì)應(yīng)操作列的管理。
在左側(cè)導(dǎo)航欄,選擇高級(jí)環(huán)境設(shè)置 > PHP.INI設(shè)置。
在PHP.INI設(shè)置頁(yè)面的PHP函數(shù)設(shè)置區(qū)域,選擇PHP函數(shù)fsockopen設(shè)置為啟動(dòng)狀態(tài)。
單擊保存設(shè)置。
再次執(zhí)行進(jìn)行環(huán)境檢測(cè)時(shí),確認(rèn)
pfsockopen
和fsockopen
函數(shù)報(bào)錯(cuò)消失。