신비한 .user.ini 파일
.user.ini가 정확히 무엇인가요?
공식 내용을 살펴보겠습니다.
https://www.php.net/manual/zh/configuration.file.per-user.phpPHP 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_PERDIR 및 PHP_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
를 클릭해주세요