當(dāng)前位置:首頁(yè)>WordPress建站>網(wǎng)站維護(hù)>網(wǎng)站運(yùn)維人員應(yīng)該了解的PHP配置文件(php.ini)知識(shí)

網(wǎng)站運(yùn)維人員應(yīng)該了解的PHP配置文件(php.ini)知識(shí)

作為PHP開(kāi)發(fā)人員或網(wǎng)站運(yùn)維人員,掌握一定的PHP配置知識(shí),會(huì)讓我們的WordPress網(wǎng)站運(yùn)行得更加順暢。在文本中,我們將討論php.ini — PHP中的主要配置文件。從初學(xué)者的角度,我們將討論它的含義、位置以及它提供的幾個(gè)重要設(shè)置選項(xiàng)。

什么是php.ini

無(wú)論您是PHP初學(xué)者還是經(jīng)驗(yàn)豐富的開(kāi)發(fā)人員,我都可以肯定您已經(jīng)聽(tīng)說(shuō)過(guò)php.ini:它是最重要的PHP配置文件。 

運(yùn)行PHP時(shí),它將在某些特定位置查找php.ini文件并將其加載。該文件使您可以配置一些重要的參數(shù)設(shè)置。一般來(lái)說(shuō),您不需要修改php.ini。PHP可以使用默認(rèn)的php.ini文件中提供的設(shè)置來(lái)正常運(yùn)行  ,因?yàn)镻HP附帶了這些默認(rèn)的建議設(shè)置。也就是說(shuō),沒(méi)有必需的關(guān)鍵配置參數(shù)即可運(yùn)行PHP。 

但是,php.ini文件提供了一些您根據(jù)實(shí)際需要可以自定義修改的設(shè)置選項(xiàng)。實(shí)際上,作為PHP開(kāi)發(fā)人員,這是不可避免的,您遲早會(huì)需要自定義這些參數(shù)。

php.ini在哪里?

在本節(jié)中,我們將看到如何查找運(yùn)行PHP腳本時(shí)加載的php.ini文件。這可能很棘手-php.ini文件的位置因運(yùn)行PHP的環(huán)境而異。如果您正在運(yùn)行Windows,則可能會(huì)在系統(tǒng)驅(qū)動(dòng)器中的PHP安裝目錄中找到php.ini文件。但是,如果您正在運(yùn)行其他操作系統(tǒng),則很難猜測(cè)php.ini文件的確切位置。

這個(gè)時(shí)候,我們可以借助phpinfo() 函數(shù)來(lái)找到php.ini的位置,并且還將輸出所有重要的PHP配置信息。 

您可創(chuàng)建一個(gè)名為phpinfo.php的文件,然后在文件中添加以下代碼:

<?php phpinfo();?>

然后將這個(gè)文件上傳到你網(wǎng)站的根目錄,就可以在瀏覽器中通過(guò) 域名/phpinfo.php 訪問(wèn)到這個(gè)文件,可以看到輸出phpinfo()的信息,往下查找以下部分。

找到上圖加框的部分

如您所見(jiàn),有兩個(gè)部分。第一個(gè)是配置文件(php.ini)路徑,它表示系統(tǒng)中php.ini文件的默認(rèn)路徑。第二個(gè)是“加載的配置文件”,它是運(yùn)行PHP時(shí)從中加載php.ini文件的路徑。

因此,您可以編輯“加載的配置文件”部分中指示的php.ini文件,并且該文件在大多數(shù)情況下應(yīng)該可以使用。當(dāng)然,如果您將PHP作為Apache模塊運(yùn)行,則需要重新啟動(dòng)Apache服務(wù)器,以確保反映在php.ini文件中所做的更改。或者通常需要重啟PHP進(jìn)程來(lái)使配置生效。

此外,如果您使用WAMP或XAMPP之類(lèi)的軟件來(lái)運(yùn)行Web開(kāi)發(fā)環(huán)境,則修改php.ini文件甚至更加容易,您可以通過(guò)WAMP或XAMPP UI直接訪問(wèn)它。

在下一節(jié)中,我們將探討php.ini文件中的幾個(gè)重要設(shè)置。

php.ini中的重要設(shè)置

php.ini的文件提供了大量的配置指令,讓您修改PHP的各種行為。實(shí)際上,當(dāng)您打開(kāi)php.ini文件時(shí),它可能會(huì)為它提供的指令數(shù)量所淹沒(méi)。我將嘗試根據(jù)他們的行為對(duì)他們進(jìn)行分組,希望對(duì)您來(lái)說(shuō)很容易理解。

當(dāng)然,我們不會(huì)遍歷每一個(gè)指令,但是我將嘗試介紹最重要的指令。讓我們看一下我們將要討論的指令類(lèi)型。

  • 錯(cuò)誤處理指令
  • 文件上傳指令
  • 安全相關(guān)指令
  • 會(huì)話指令
  • 其他指令

錯(cuò)誤處理指令

在本節(jié)中,我們將介紹與錯(cuò)誤處理有關(guān)的指令,這些指令對(duì)于開(kāi)發(fā)期間的調(diào)試很有用。

display_errors

display_errors指令使您可以控制腳本執(zhí)行期間是否在屏幕上顯示錯(cuò)誤。如果要在屏幕上顯示錯(cuò)誤,設(shè)置為 On ,如果要禁用它,可以將其設(shè)置為 Off切勿在生產(chǎn)站點(diǎn)上啟用此功能-它會(huì)降低站點(diǎn)速度,并可能為黑客提供有關(guān)站點(diǎn)安全漏洞信息。

error_reporting

該指令允許您設(shè)置錯(cuò)誤報(bào)告級(jí)別。通常,此指令與display_errors指令結(jié)合使用。這個(gè)指令可以接受E_ALLE_NOTICEE_STRICT,和E_DEPRECATED常量。

如果你想顯示所有類(lèi)型,如致命的錯(cuò)誤、警告,你可以將其設(shè)置為E_ALL,但是我們不建議這樣設(shè)置!如果你想篩選出特定的錯(cuò)誤,你也可以結(jié)合不同級(jí)別的錯(cuò)誤。例如,如果要顯示除通知以外的所有錯(cuò)誤,可以將其設(shè)置為 E_ALL & ~E_NOTICE

error_log

在生產(chǎn)網(wǎng)站上,您需要確保PHP不會(huì)向客戶端瀏覽器顯示任何錯(cuò)誤。相反,您可以將錯(cuò)誤記錄在某處,以便以后在站點(diǎn)出現(xiàn)問(wèn)題時(shí)可以參考這些錯(cuò)誤。該error_log指令允許您設(shè)置將記錄錯(cuò)誤的文件的名稱(chēng)。您需要確保該文件可被Web服務(wù)器用戶寫(xiě)入。

文件上傳指令

在本節(jié)中,我們將看到幾個(gè)重要的指令,它們使您能夠在PHP表單中啟用文件上傳功能。

file_uploads

這是一個(gè)布爾指令,它允許您啟用HTTP文件上傳。如果將其設(shè)置為On,則可以使用表單中的文件字段,用戶將能夠從其計(jì)算機(jī)上載文件。反之,如果將其設(shè)置為Off,則將完全禁用文件上傳。

upload_max_filesize

如果您在網(wǎng)站上啟用了文件上傳功能,但是在上傳文件時(shí)遇到困難,則應(yīng)首先檢查該指令。它允許您設(shè)置可以上傳的文件的最大大小。

默認(rèn)情況下,它設(shè)置為2MB,因此用戶不能上傳大于2MB的文件。您可以根據(jù)需要微調(diào)此值,您需要增加此限制以允許上傳較大的文件。

post_max_size

此設(shè)置使您可以設(shè)置表單中POST數(shù)據(jù)的最大大小。當(dāng)用戶使用POST方法提交表單時(shí),POST數(shù)據(jù)的總大小不應(yīng)超過(guò)您在此偽指令中設(shè)置的值。

此文件應(yīng)該大于您在upload_max_filesize指令中設(shè)置的值,因?yàn)槲募蟼魇峭ㄟ^(guò)POST請(qǐng)求處理的。

安全指令

在本節(jié)中,我們將看到一些與安全性相關(guān)的重要指令。

allow_url_fopen

allow_url_fopen指令默認(rèn)為禁用。但是啟用后,它允許將遠(yuǎn)程文件包含在PHP文件函數(shù)中。這意味著您的PHP文件可以包含來(lái)自其他服務(wù)器的代碼。請(qǐng)謹(jǐn)慎啟用此功能 ——如果您的代碼受到注入攻擊,則遠(yuǎn)程包含文件將使惡意用戶更容易劫持您的服務(wù)器。

allow_url_include

allow_url_include指令類(lèi)似于allow_url_fopen 指令,但是它允許將遠(yuǎn)程文件包含在include函數(shù)中。它允許你使用includeinclude_oncerequirerequire_once函數(shù)包括遠(yuǎn)程文件。

如果要啟用此指令,則需要確保也已啟用allow_url_fopen指令。

會(huì)話指令

在使用PHP時(shí),會(huì)話管理是最重要的方面之一。在本節(jié)中,我們將介紹幾個(gè)重要的會(huì)話指令。

session.name

session.name指令允許您設(shè)置會(huì)話cookie的名稱(chēng)。默認(rèn)情況下,它設(shè)置為PHPSESSID,但是您可以使用此偽指令將其更改為其他名稱(chēng)。

session.auto_start

如果將session.auto_start偽指令的值設(shè)置為1,則PHP中的會(huì)話模塊會(huì)在每次請(qǐng)求時(shí)自動(dòng)啟動(dòng)會(huì)話,因此您不必session_start在腳本中使用該函數(shù)。

session.cookie_lifetime

session.cookie_lifetime指令允許您設(shè)置會(huì)話cookie的生存期。默認(rèn)情況下,它設(shè)置為0秒,這意味著在關(guān)閉瀏覽器時(shí)會(huì)刪除會(huì)話cookie。這是一個(gè)非常有用的設(shè)置,它使您可以設(shè)置“記住我”的功能,從而使用戶可以選擇離開(kāi)站點(diǎn)的位置。

其他指令

在最后一部分中,我們將看到在PHP腳本執(zhí)行上下文中很重要的其他兩個(gè)指令。

memory_limit

memory_limit指令允許您限制允許腳本使用的最大內(nèi)存量。

您想根據(jù)自己的需求微調(diào)此指令,并且不要將其設(shè)置得太高以避免服務(wù)器上出現(xiàn)內(nèi)存故障—如果腳本編寫(xiě)不當(dāng)或錯(cuò)誤的腳本會(huì)吞噬服務(wù)器上的所有內(nèi)存!

max_execution_time

max_execution_time指令控制腳本從運(yùn)行到結(jié)束的時(shí)間長(zhǎng)度。默認(rèn)值為30秒,您可以根據(jù)需要將其增加到合理的限制。

memory_limit指令類(lèi)似,請(qǐng)勿將其設(shè)置得太高以避免服務(wù)器出現(xiàn)問(wèn)題。

max_input_time

max_input_time指令允許您設(shè)置允許腳本解析來(lái)自GET或POST的傳入表單數(shù)據(jù)的最長(zhǎng)時(shí)間。

如果您的網(wǎng)站上有提交大量數(shù)據(jù)的表單,則可能要增加此指令的值。

寶塔用戶須知

如果您采用的是寶塔面板,可以在“軟件商城”中對(duì)應(yīng)的PHP版本的“設(shè)置”面板中找到和編輯php.ini:

寶塔中編輯php.ini

注意:php.ini 配置文件非常重要,編輯不正確可能會(huì)導(dǎo)致PHP無(wú)法運(yùn)行或出錯(cuò),所以建議編輯前進(jìn)行備份,以便出問(wèn)題的時(shí)候可以恢復(fù)。

其實(shí)在寶塔面板中,通常不需要編輯php.ini,而是通過(guò)面板的設(shè)置選項(xiàng)來(lái)修改以上我們介紹的常見(jiàn)指令即可:

可以直接通過(guò)PHP的設(shè)置選項(xiàng)面板來(lái)修改常用指令

小結(jié)

不可能在一篇文章中涵蓋PHP.ini的每個(gè)指令,我們已經(jīng)盡可能介紹了最重要的幾個(gè)指令。作為PHP開(kāi)發(fā)人員或網(wǎng)站運(yùn)維人員,了解php.ini文件中的不同指令很重要,這將有助于您根據(jù)需要對(duì)PHP配置進(jìn)行微調(diào)。

聲明:本站所有文章,如無(wú)特殊說(shuō)明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書(shū)籍等各類(lèi)媒體平臺(tái)。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。

給TA打賞
共{{data.count}}人
人已打賞
歡迎關(guān)注WordPress大學(xué)公眾號(hào) WPDAXUE
網(wǎng)站維護(hù)

修復(fù)WordPress 413 Request Entity Too Large(請(qǐng)求實(shí)體太大)

2019-12-26 9:03:21

網(wǎng)站維護(hù)

如何修復(fù)WordPress出現(xiàn)的“您所關(guān)注的鏈接已過(guò)期”錯(cuò)誤

2020-2-5 20:46:05

0 條回復(fù) A文章作者 M管理員
    暫無(wú)討論,說(shuō)說(shuō)你的看法吧
?
個(gè)人中心
購(gòu)物車(chē)
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索

泰和县| 东乌珠穆沁旗| 南涧| 福贡县| 丹棱县| 奈曼旗| 鹰潭市| 上思县| 如皋市| 于都县| 重庆市| 司法| 泰州市| 泊头市| 五大连池市| 平果县| 夏河县| 贺兰县| 荃湾区| 探索| 忻州市| 兰溪市| 美姑县| 武隆县| 崇州市| 同江市| 五大连池市| 张家界市| 岳阳县| 邵东县| 孟津县| 淮阳县| 沂源县| 太和县| 安阳市| 三江| 太白县| 六枝特区| 独山县| 勃利县| 四川省|