神祕的.user.ini文件

神祕的.user.ini文件

.user.ini到底是個神祕東東?

咱們看看官方怎麼說:php

http://php.net/manual/zh/conf...

自 PHP 5.3.0 起,PHP 支持基於每一個目錄的 .htaccess 風格的 INI 文件。此類文件僅被 CGI/FastCGI SAPI 處理。此功能使得 PECL 的 htscanner 擴展做廢。若是使用 Apache,則用 .htaccess 文件有一樣效果。html

小白表示沒看懂~web

衆所周知,php.ini是php的核心配置文件,在 PHP 啓動時被讀取,那麼web目錄的其餘ini文件也是能夠被php識別,官方還說了shell

除了主 php.ini 以外,PHP 還會在每一個目錄下掃描 INI 文件,從被執行的 PHP 文件所在目錄開始一直上升到 web 根目錄($_SERVER['DOCUMENT_ROOT'] 所指定的)。若是被執行的 PHP 文件在 web 根目錄以外,則只掃描該目錄。

這樣說的話,全部的配置均可以被.user.ini從新配置修改?噢,麥噶的網站

你想多了,官方還說了:.net

在 .user.ini 風格的 INI 文件中只有具備 PHP_INI_PERDIRPHP_INI_USER 模式的 INI 設置可被識別。

小白,又舉手了,什麼是PHP_INI_*模式呢?code

官方是這樣說的:htm

配置可被指定的範圍( http://php.net/manual/zh/conf...

這些模式決定着一個 PHP 的指令在什麼時候何地,是否可以被設定。手冊中的每一個指令都有其所屬的模式。例若有些指令能夠在 PHP 腳本中用 ini_set() 來設定,而有些則只能在 php.ini 或 httpd.conf 中。ci

例如 output_buffering 指令是屬於 PHP_INI_PERDIR,於是就不能用 ini_set() 來設定。可是 display_errors 指令是屬於 PHP_INI_ALL 於是就能夠在任何地方被設定,包括 ini_set()lnmp

PHP_INI_*模式的定義

模式    含義
PHP_INI_USER    可在用戶腳本(例如 ini_set())或 Windows 註冊表(自 PHP 5.3 起)以及 .user.ini 中設定
PHP_INI_PERDIR    可在 php.ini,.htaccess 或 httpd.conf 中設定
PHP_INI_SYSTEM    可在 php.ini 或 httpd.conf 中設定
PHP_INI_ALL    可在任何地方設定

也就是說只有PHP_INI_USER模式,才能夠在 .user.ini 中設定,那麼哪些配置能夠在 .user.ini 中設定呢?

php.ini配置選項列表( http://php.net/manual/zh/ini....

有點意思,並非全部的配置 .user.ini 都能修改,好比 disable_functionsupload_max_filesize

千年未解之謎,是否是在這裏找到了答案?

  • 訪問php頁面出現「No input file specified」,嘗試各類辦法(https://jingyan.baidu.com/art... ) 無果,你是否開始懷疑本身人品,是否開始懷疑腎虧了,是否以爲本身這麼年輕就不行了?

    絕望中,你是否發現你的網站目錄中有個叫 .user.ini 的文件,一氣之下,決定刪了它,哦,沒錯,是個辦法。
  • 啥? .user.ini 刪不掉,是否是以爲本身真的不行了?

    [root@Tech1024]# rm -rf .user.ini 
    rm: cannot remove ‘.user.ini’: Operation not permitted

    來看一下,該文件的屬性

    [root@Tech1024]# lsattr .user.ini 
    ----i--------e-- .user.ini

    沒錯,文件被鎖定了,不能修改,那麼咱們去除文件鎖定屬性

    [root@Tech1024]# chattr -i .user.ini

    是否是能夠刪除了,你是否是喜極而泣,啊,本身終於又行了。

  • 哎,小白可能以爲本身又不行了,怎麼仍是「No input file specified」啊?

    年輕人,彆着急,看看官方吧( http://php.net/manual/zh/conf... )。

    user_ini.cache_ttl 控制着從新讀取用戶 INI 文件的間隔時間。默認是 300 秒(5 分鐘)。

    ……

    5分鐘艱難的過去了,你是否再一次喜極而泣:哎,本身終究仍是行了。

.user.ini有什麼用呢?

好奇請猛戳 https://lnmp.org/faq/lnmp-vho...

最後

做爲一個IT職業人,不論從事什麼行業,銘記兩點 技術和態度,技術決定了你的存在,態度決定了你能存在多久。

原文 http://www.tech1024.com/origi...
相關文章
相關標籤/搜索