Heim >Backend-Entwicklung >PHP-Tutorial >Was ist das Geheimnisvolle an .user.ini in PHP?

Was ist das Geheimnisvolle an .user.ini in PHP?

藏色散人
藏色散人nach vorne
2021-04-13 14:10:493877Durchsuche

Empfohlenes Lernen: „PHP-Video-Tutorial

Geheimnisvolle .user.ini-Datei

Was genau ist .user.ini?

Sehen wir, was der Beamte sagt:

https://www.php.net/manual/zh/configuration.file.per-user.php

Seit PHP 5.3.0 unterstützt PHP INI-Dateien im htaccess-Stil. Solche Dateien werden nur von der CGI/FastCGI-SAPI verarbeitet. Diese Funktion macht die htscanner-Erweiterung von PECL überflüssig. Wenn Sie Apache verwenden, hat die Verwendung einer .htaccess-Datei den gleichen Effekt.

Xiaobai sagte, er habe es nicht verstanden~

Wie wir alle wissen, ist php.ini die Kernkonfigurationsdatei von PHP und wird beim Start von PHP gelesen. Dann können auch andere INI-Dateien im Webverzeichnis von PHP erkannt werden. Der Beamte sagte auch

Zusätzlich zur Haupt-php.ini scannt PHP auch INI-Dateien in jedem Verzeichnis, angefangen bei dem Verzeichnis, in dem sich die ausgeführte PHP-Datei befindet, bis zum Web-Stammverzeichnis (angegeben durch $_SERVER[ 'DOCUMENT_ROOT']). Wenn sich die ausgeführte PHP-Datei außerhalb des Web-Root-Verzeichnisses befindet, wird nur dieses Verzeichnis gescannt.

In diesem Fall können alle Konfigurationen von .user.ini neu konfiguriert und geändert werden? Oh, Maiga

Du denkst zu viel nach, der Beamte sagte auch:

In der INI-Datei im .user.ini-Stil können nur INI-Einstellungen mit den Modi PHP_INI_PERDIR und PHP_INI_USER erkannt werden.

Xiaobai, hebe deine Hand noch einmal, was ist der PHP_INI_*-Modus?

Der Beamte sagt Folgendes:

Der Bereich, in dem die Konfiguration angegeben werden kann (https://www.php.net/manual/zh/configuration.changes.modes.php)

Diese Modi bestimmen, wo sich eine PHP-Anweisung befindet befindet sich Wann und wo es eingestellt werden kann. Jede Anweisung im Handbuch hat einen Modus, zu dem sie gehört. Beispielsweise können einige Anweisungen in PHP-Skripten mit ini_set() festgelegt werden, während andere nur in php.ini oder httpd.conf festgelegt werden können.

Zum Beispiel gehört der Befehl „output_buffering“ zu PHP_INI_PERDIR und kann daher nicht mit ini_set() festgelegt werden. Aber die display_errors-Direktive gehört zu PHP_INI_ALL und kann überall gesetzt werden, einschließlich ini_set().

Definition des PHP_INI_*-Modus

模式    含义
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    可在任何地方设定

Das heißt, nur der PHP_INI_USER-Modus kann in .user.ini festgelegt werden. Welche Konfigurationen können also in .user.ini festgelegt werden?

php.ini-Konfigurationsoptionsliste (https://www.php.net/manual/zh/ini.list.php)

Es ist etwas interessant, nicht alle Konfigurationen .user.ini können geändert werden, z als disable_functions , upload_max_filesize .

Haben Sie hier die Antwort auf das tausend Jahre alte Rätsel gefunden?

  • Wenn Sie auf die PHP-Seite zugreifen, erscheint „Keine Eingabedatei angegeben“ und Sie versuchen verschiedene Methoden ohne Erfolg. Beginnen Sie, an Ihrem Charakter zu zweifeln, beginnen Sie zu vermuten, dass Sie Nierenversagen haben, spüren Sie das? Sind Sie in so jungen Jahren nicht überlebensfähig?

    Haben Sie in Ihrer Verzweiflung eine Datei namens .user.ini in Ihrem Website-Verzeichnis gefunden? In einem Anfall von Wut haben Sie beschlossen, sie zu löschen. Oh ja, es gibt einen Weg.
  • Was? .user.ini Sie können es nicht löschen. Haben Sie das Gefühl, wirklich in Schwierigkeiten zu sein?

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

    Werfen wir einen Blick auf die Attribute der Datei? Endlich habe ich es wieder in Ordnung.

    Hey, Xiaobai hat vielleicht das Gefühl, dass es ihm wieder nicht gut geht. Warum steht immer noch „Keine Eingabedatei angegeben“?

  • Junge Leute, keine Sorge, werfen Sie einen Blick auf die offizielle Website (http://php.net/manual/zh/conf...).
  • user_ini.cache_ttl

    Steuert das Intervall zwischen dem erneuten Lesen von Benutzer-INI-Dateien. Der Standardwert beträgt 300 Sekunden (5 Minuten).

    ...5 schwierige Minuten sind vergangen, hast du schon wieder vor Freude geweint: Hey, du schaffst es doch.

    .Was nützt .user.ini?
  • Wenn Sie neugierig sind, klicken Sie bitte auf https://lnmp.org/faq/lnmp-vhost-add-howto.html#user.ini

Endlich

Als IT-Experte, egal in welcher Branche Sie tätig sind Denken Sie an zwei Punkte der Technologie: Einstellung und Technologie bestimmen Ihre Existenz, und Einstellung bestimmt, wie lange Sie existieren können.

Das obige ist der detaillierte Inhalt vonWas ist das Geheimnisvolle an .user.ini in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen