>  기사  >  백엔드 개발  >  PHP에서 .user.ini의 미스터리는 무엇입니까?

PHP에서 .user.ini의 미스터리는 무엇입니까?

藏色散人
藏色散人앞으로
2021-04-13 14:10:493820검색

추천 학습: "PHP 비디오 튜토리얼"

신비한 .user.ini 파일

.user.ini가 정확히 무엇인가요?

공식 내용을 살펴보겠습니다.

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

PHP 5.3.0부터 PHP는 htaccess 스타일 INI 파일을 지원합니다. 이러한 파일은 CGI/FastCGI SAPI에 의해서만 처리됩니다. 이 기능으로 인해 PECL의 htscanner 확장이 더 이상 사용되지 않습니다. Apache를 사용하는 경우 .htaccess 파일을 사용해도 동일한 효과가 있습니다.

Xiaobai는 이해하지 못했다고 말했습니다~

우리 모두 알고 있듯이 php.ini는 PHP의 핵심 구성 파일이며 PHP가 시작될 때 읽혀집니다. 그런 다음 웹 디렉토리의 다른 ini 파일도 PHP에서 인식될 수 있습니다. 관계자도 말했습니다

PHP는 메인 php.ini 외에도 실행된 PHP 파일이 있는 디렉터리부터 시작하여 웹 루트 디렉터리($_SERVER[로 지정됨)까지 각 디렉터리의 INI 파일도 검사합니다. 'DOCUMENT_ROOT']). 실행 중인 PHP 파일이 웹 루트 디렉터리 외부에 있는 경우 해당 디렉터리만 검사됩니다.

이 경우 모든 구성을 .user.ini로 재구성하고 수정할 수 있습니까? 아, 마이가의

생각이 너무 많다고 관계자도 말했습니다.

.user.ini 스타일 INI 파일에서는 PHP_INI_PERDIRPHP_INI_USER 모드의 INI 설정만 인식할 수 있습니다.

샤오바이, 다시 손을 들어보세요. PHP_INI_* 모드가 뭔가요?

공식에서는 다음과 같이 말합니다.

구성을 지정할 수 있는 범위(https://www.php.net/manual/zh/configuration.changes.modes.php)

이러한 모드는 PHP 명령어의 위치를 ​​결정합니다. 위치 언제, 어디서 설정할 수 있는지. 설명서의 각 지침에는 해당 지침이 속하는 모드가 있습니다. 예를 들어, 일부 명령은 ini_set()을 사용하여 PHP 스크립트에서 설정할 수 있지만 다른 명령은 php.ini 또는 httpd.conf에서만 설정할 수 있습니다.

예를 들어, output_buffering 명령은 PHP_INI_PERDIR에 속하므로 ini_set()을 사용하여 설정할 수 없습니다. 그러나 display_errors 지시문은 PHP_INI_ALL에 속하며 ini_set()을 포함하여 어디에서나 설정할 수 있습니다.

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

즉, .user.ini에서는 PHP_INI_USER 모드만 설정할 수 있는데, .user.ini에서는 어떤 구성을 설정할 수 있나요?

php.ini 구성 옵션 목록 (https://www.php.net/manual/zh/ini.list.php)

좀 흥미롭습니다. 모든 구성 .user.ini을 수정할 수 있는 것은 아닙니다. disable_functions , upload_max_filesize .

천년 미스터리의 답을 여기서 찾으셨나요?

  • PHP 페이지에 접속하면 "입력 파일이 지정되지 않았습니다"라는 메시지가 나타나고 다양한 방법을 시도했지만 소용이 없습니다. 자신의 성격이 의심되기 시작합니까, 신부전이 의심되기 시작합니까? 그렇게 어린 나이에 살아남을 수 없나요?

    절망에 빠져 웹사이트 디렉토리에서 .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

    삭제 가능할까요? 드디어 다시 받았어요.

  • 아, Xiaobai는 자신이 다시 좋지 않다고 느낄 수도 있는데 왜 여전히 "입력 파일이 지정되지 않았습니다"입니까?

    청소년 여러분, 걱정하지 마시고 공식 홈페이지(http://php.net/manual/zh/conf...)를 살펴보세요.

    user_ini.cache_ttl 사용자 INI 파일을 다시 읽는 간격을 제어합니다. 기본값은 300초(5분)입니다.

    ...

    힘든 5분이 지났는데 또 기뻐서 울었나요: 야, 넌 결국 할 수 있어.

..user.ini의 용도는 무엇인가요?

궁금하신 분들은 https://lnmp.org/faq/lnmp-vhost-add-howto.html#user.ini

Finally

를 클릭해주세요

IT 전문가로서 어떤 업종에 종사하든 상관없습니다. , 기술의 두 가지 점을 명심하십시오. 태도와 기술이 당신의 존재를 결정하고 태도가 당신이 얼마나 오래 존재할 수 있는지를 결정합니다. 🎜🎜

위 내용은 PHP에서 .user.ini의 미스터리는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제