神秘的.user.ini文件.user.ini是个神秘的东西吗?看看官方是怎么说的:http://php.net/manual/zh/conf...从PHP5.3.0开始,PHP支持基于各个目录的.htaccess风格的INI文件。此类文件仅由CGI/FastCGISAPI处理。此功能使PECL的htscanner扩展过时。如果使用Apache,使用.htaccess文件达到同样的效果。小白表示没看懂~众所周知,php.ini是php的核心配置文件,PHP启动时会读取它,所以web目录下的其他ini文件也能被php识别。官方还说,除了主要的php.ini之外,PHP会在每个目录下扫描INI文件,从执行PHP文件的目录开始,向上到web根目录(由$_SERVER['指定)DOCUMENT_ROOT'])。如果执行的PHP文件在web根目录之外,则只扫描该目录。这样一来,所有的配置都可以通过.user.ini重新配置来修改了?哦,Magga,你想多了,官方也说了:在.user.ini风格的INI文件中,只有PHP_INI_PERDIR和PHP_INI_USER模式的INI设置才能被识别。小白,再举手,PHP_INI_*模式是什么?官方是这么说的:可以指定的配置范围(http://php.net/manual/zh/conf...)这些模式决定了何时何地可以设置一个PHP命令。手册中的每个指令都有它所属的模式。例如,某些指令可以在PHP脚本中使用ini_set()设置,而其他指令只能在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注册表(自PHP5.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的配置选项列表(http://php.net/manual/zh/ini....)很有意思,并不是.user.ini中的所有配置都可以修改,比如disable_functions,upload_max_filesize。你找到千年未解之谜的答案了吗?当你访问php页面时,出现“Noinputfilespecified”,尝试了各种方法(https://jingyan.baidu.com/art...)都无济于事,你是不是开始怀疑自己的人品了,你是不是开始怀疑自己肾虚,你觉得这么年轻可以吗?无奈之下,是不是在你的网站目录下发现了一个叫.user.ini的文件,一气之下,决定删除,哦,对了,还有办法。什么?.user.ini删不掉,你以为你真的死了吗?[root@Tech1024]#rm-rf.user.inirm:cannotremove'.user.ini':Operationnotpermitted看看这个文件的属性[root@Tech1024]#lsattr.user.ini----i--------e--.user.ini是的,文件被锁定,不能修改,那我们去掉文件锁定属性[root@Tech1024]#chattr-i.user.ini即可删了,你是不是喜极而泣啊,我终于又做了。哎,小白可能又觉得自己不行了,怎么还是“Noinputfilespecified”?年轻人,别着急,看看官网(http://php.net/manual/zh/conf...)。user_ini.cache_ttl控制重新读取用户INI文件的频率。默认值为300秒(5分钟)。……辛苦了5分钟,你是不是又喜极而泣:哎,我终于可以了。.user.ini有什么用?有好奇的请戳https://lnmp.org/faq/lnmp-vho...最后,作为IT从业者,无论从事什么行业,都要牢记两点:技术和态度。技术决定你的存在,态度决定你能存在多久。原文http://tech1024.com/original/...
