代码之家  ›  专栏  ›  技术社区  ›  Cam

“overwrite”php.ini设置

  •  2
  • Cam  · 技术社区  · 14 年前

    我有一个文件夹,对于该文件夹中的所有PHP文件(甚至更好的是,在该文件夹或其中的任何文件夹中),我想对PHP设置进行一些更改。我可以将php.in i文件放在那个文件夹中,并使用我想更改的设置吗?

    如果是的话,有什么理由 不会 为我工作?这是我自己的服务器。

    谢谢!

    编辑:我希望能够使用本地php.ini文件,就像我已经能够使用几个webhosts一样。这有可能吗?

    5 回复  |  直到 14 年前
        1
  •  3
  •   salathe    14 年前

    看起来你想用 per-directory php.ini files 从php 5.3开始提供。如果是你自己的服务器,我想你会很高兴跟上最新的稳定版本(目前是5.3.2)。返回到ini文件,引用该手册页:

    由于php 5.3.0,php在每个目录上都支持.htaccess样式的ini文件。这些文件仅由cgi/fastcgi sapi处理。此功能将废弃PECL HTSCANNER扩展。如果您使用的是Apache,请使用.htaccess文件以达到同样的效果。

    除了主php.ini文件之外,php还会扫描每个目录中的ini文件,从请求的php文件的目录开始,一直扫描到当前的文档根目录(如在$\u server['document\u root']中设置的)。只有模式为php_ini_perdir和php_ini_user的ini设置才会在.user.ini样式的ini文件中被识别。

        2
  •  2
  •   selfawaresoup    14 年前

    为此,您必须使用.htaccess文件。在PHP手册中有一节是关于这个的:

    http://php.net/manual/en/configuration.changes.php

    有关htaccess文件的更多常规信息,请阅读:

    http://en.wikipedia.org/wiki/Htaccess

    http://httpd.apache.org/docs/2.0/howto/htaccess.html

        3
  •  2
  •   Joseph    14 年前

    对于Apache服务器,.htaccess文件通常是最好的选择。但是,要回答原始问题,如果需要,可以在每个目录中设置php.ini文件。但是,为了让它工作,必须将php设置为以php-cgi的形式运行。我猜您是作为Apache模块运行PHP。

    有关php在何处查找php.ini以及何时查找php.ini的参考,请参见此链接: http://www.php.net/manual/en/configuration.file.php

        4
  •  1
  •   chris12892    14 年前

    你也可以用 ini_set() 如果你想用代码来做。

        5
  •  0
  •   sushil bharwani    14 年前

    不是为每个文件夹修改php.ini文件,而是需要修改.htaccess文件。将文件保存在文件夹中,使用您喜欢的任何设置。对于php.ini文件,不能这样做,因为php.ini中的更改被视为服务器范围的更改。

    推荐文章