<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title=".USER.INI 文件无法删除的解决办法">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2023-06-24 09:59<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
.USER.INI 文件无法删除的解决办法


使用 Nginx 系统环境的人多多少少也该遇到过 .user.ini，它比 .htaccess 用的更广，首先要知道，php.ini 是 PHP 的核心配置文件，在 PHP 启动时被读取，按照此说法，不管服务器是 Nginx／Apache／IIS，但凡使用 CGI／FastCGI 来解析 PHP 时，PHP 会优先搜索目录下所有的 .ini 文件，并应用其中的配置，类似于 Apache 的 .htaccess，但语法与 .htacces 不同，跟 php.ini 几乎一致。




.user.ini 文件无法删除解决方法


1、user.ini 文件无法删除，是由于文件权限已经被锁定，需要先解除 user.ini 文件锁定，首先通过命令进入 user.ini 文件所在目录执行以下命令，去掉保护，命令如下：


# 进入所在目录


cd /文件所在目录路径


# 解除 user.ini 文件锁定


chattr -i .user.ini


2、通过 SFTP 手动进入目录删除，或通过 rm 命令来执行删除 .user.ini 文件，命令如下：


# 删除 .user.ini 文件


rm -rf .user.ini




什么是 .user.ini




自 PHP 5.3.0 起，PHP 支持基于每个目录的 .htaccess 风格的 INI 文件，此类文件仅被 CGI／FastCGI SAPI 处理，此功能使得 PECL 的 htscanner 扩展作废，如果使用 Apache，则用 .htaccess 文件有同样效果。


除了主 php.ini 之外，PHP 还会在每个目录下扫描 INI 文件，从被执行的 PHP 文件所在目录开始一直上升到 web 根目录（$_SERVER['DOCUMENT_ROOT'] 所指定的），如果被执行的 PHP 文件在 web 根目录之外，则只扫描该目录。


而 .user.ini 文件实际就是一个可以由用户自定义的 php.ini，能够自定义的设置是模式为 PHP_INI_PERDIR 或者 PHP_INI_USER 的设置，除了PHP_INI_SYSTEM 以外的模式都是可以通过 .user.ini 来设置的，是能被动态加载的 INI 文件。


也就是说我修改了 .user.ini 后，不需要重启服务器中间件，只需要等待 user_ini.cache_ttl 所设置的时间（默认为300秒），即可被重新加载。


</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
