神秘的.user.ini文件

.user.ini究竟是个神秘东东?

我们看看官方怎么说:

http://php.net/manual/zh/conf...

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

小白表示没看懂~

众所周知,php.ini是php的核心配置文件,在 PHP 启动时被读取,那么web目录的其他ini文件也是可以被php识别,官方还说了

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

这样说的话,所有的配置都可以被.user.ini重新配置修改?噢,麦噶的

你想多了,官方还说了:

在 .user.ini 风格的 INI 文件中只有具有 PHP_INI_PERDIRPHP_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 注册表(自 PHP 5.3 起)以及 .user.ini 中设定
PHP_INI_PERDIR    可在 php.ini,.htaccess 或 httpd.conf 中设定
PHP_INI_SYSTEM    可在 php.ini 或 httpd.conf 中设定
PHP_INI_ALL    可在任何地方设定

也就是说只有PHP_INI_USER模式,才可以在 .user.ini 中设定,那么哪些配置可以在 .user.ini 中设定呢?

php.ini配置选项列表(http://php.net/manual/zh/ini.... )

有点意思,并不是所有的配置 .user.ini 都能修改,比如 disable_functionsupload_max_filesize

千年未解之谜,是不是在这里找到了答案?

  • 访问php页面出现“No input file specified”,尝试各种办法(https://jingyan.baidu.com/art... ) 无果,你是否开始怀疑自己人品,是否开始怀疑肾亏了,是否觉得自己这么年轻就不行了?

    绝望中,你是否发现你的网站目录中有个叫 .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

    是不是可以删除了,你是不是喜极而泣,啊,自己终于又行了。

  • 哎,小白可能觉得自己又不行了,怎么还是“No input file specified”啊?

    年轻人,别着急,看看官方吧(http://php.net/manual/zh/conf... )。

    user_ini.cache_ttl 控制着重新读取用户 INI 文件的间隔时间。默认是 300 秒(5 分钟)。

    ……

    5分钟艰难的过去了,你是否再一次喜极而泣:哎,自己终究还是行了。

.user.ini有什么用呢?

好奇请猛戳 https://lnmp.org/faq/lnmp-vho...

最后

作为一个IT职业人,不论从事什么行业,铭记两点 技术和态度,技术决定了你的存在,态度决定了你能存在多久。

原文 http://www.tech1024.com/origi...

神秘的.user.ini文件相关推荐

  1. 【vbs】vbs写ini文件

    [vbs]vbs写ini文件 这两天在折腾给一个项目打安装包,第一次接触软件打包,用的Advanced Installer(以下简称AI),应该说如果安装过程没有特殊动作(常规动作指释放文件.写注册表 ...

  2. 关于PHP.ini文件的设定

    php.ini文件中记录了php的配置,因此正确读取此配置文件对于php的部署实施很重要. windows平台中,有2种常用的方法. 第一种方法:把php.ini复制到c:\windows目录中. 第 ...

  3. centos 找不到php.ini,centos找不到php.ini文件

    centos找不到php.ini文件,目录,视频教程,脚本,是在,文件 centos找不到php.ini文件 易采站长站,站长之家为您整理了centos找不到php.ini文件的相关内容. cento ...

  4. php获取请求路径_如何获取php.ini文件路径?

    点击蓝字关注我们!每天获取最新的编程小知识! 源 / php中文网      源 / www.php.cn 我们可以使用PHP中的php_ini_loaded_file()函数来获取php.ini文件 ...

  5. 双系统启动boot.ini文件的秘密

    Windows NT类的操作系统,也就是Windows NT/2000/XP中,有一个特殊文件,也就是"BOOT.INI"文件,这个文件会很轻松地按照我们的需求设置好多重启动系统. ...

  6. ini文件怎么注释_wamp怎么升级php版本

    一.从官网下载一个php7.1.5 php版本下载地址:http://windows.php.net/download/ 二.解压文件-放到bin/php目录下-更改文件 1.将刚下载的压缩包解压缩, ...

  7. .net精简框架集下的ini文件读取(C#)

    无论是.net框架集还是.net精简框架集都能非常完美的支持XML文件,并且微软也强烈建议用xml文件取代ini文件,但是在工控领域大部分的工程都是采用ini文件配置的系统信息的. 以前的隧道管理系统 ...

  8. vc中常用文件操作(二) Ini文件操作

    在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件中. 1.所用的WINA ...

  9. 查看ngnix使用的php.ini位置_修改Nginx php.ini文件的经典教程

    我们在进行Nginx php.ini文件修改的时候需要我们注意不少东西,那么首先我们先来看看如何进行手动修改.如果你怕麻烦还可以进行自动修改.希望大家有所收获.修改Nginx php.ini文件. 手 ...

最新文章

  1. 购物搜索引擎架构的变与不变——淘宝网曲琳
  2. linux chrome 管理员,Linux下google chrome浏览器flash无法启用的解决
  3. 监听Hierachy、Project等视图结构变化的事件
  4. acdream 1409 Musical 状压DP
  5. LeetCode 2197. 替换数组中的非互质数(栈)
  6. #窗体整人小程序_Excel VBA和文件夹-1.8通过对话框灵活选定文件的小技巧
  7. matepad适配鸿蒙,消息称华为 MatePad2 搭载骁龙888 4G 华为鸿蒙OS计划适配高通平台...
  8. 编码原则:如何减少缩进层次
  9. 大学计算机科学计术的总结,学好大学计算机科学与技术 要注意当天小结
  10. NAS DIY的设计和实施过程-5-Openfiler篇
  11. 电大计算机阅读英语作文,(2017年电大)电大英语作文整理20篇.doc
  12. 变位齿轮重合度计算公式_齿轮变位系数的优化选择
  13. 趋势预测算法大PK!
  14. 基于视觉SLAM的无人机仿真-px4-gazebo
  15. TFTP文件传输NFS挂载ARM开发板移植Linux系统步骤
  16. 浅析携程智能客服机器人实现
  17. mysql latch和缓存关系_latch:cachebufferschains等待事件导致的latch争用的原理原因与...
  18. 搜索python设计题的微信公众号_appium+python自动化42-微信公众号 (可能以后会遇到也遇到切换不了webview的问题 记录再此 还没试)...
  19. springCloud学习【4】之elasticsearch(1)
  20. 广州大学机器学习与数据挖掘实验三

热门文章

  1. typeof和instanceof
  2. PyQt5-高级控件使用(QTableView)
  3. 识别浏览器的JavaScript引擎的方法
  4. Highcharts在IE8中不能一次性正常显示的一种解决办法
  5. Cocos2d-X字体
  6. WPF GroupBox样式
  7. 两年的坚持,最后还是决定将ISoft开源
  8. JDBC连接SQL Server 2005问题
  9. Invalid nested tag br found, expected closing tag li 错误解决
  10. 面向对象的特点,封装性,继承性,多态性!