【问题标题】:Set path to php.ini设置 php.ini 的路径
【发布时间】:2012-02-13 22:36:50
【问题描述】:

是否可以只有一个 php.ini 文件,例如在 webroot 中(或者甚至在它之外以防止人们通过 GET 访问它),并快速轻松地告诉 PHP 它在哪里?

我知道您可以在.htaccess 中设置 php.ini 指令,但是否可以定义要使用的特定 php.ini 文件?

【问题讨论】:

    标签: apache php


    【解决方案1】:

    将此添加到您的服务器配置中...

    <VirtualHost 1.2.3.4:80>
    PHPINIDir /path/to/new/php_ini
    </VirtualHost>
    

    确保只包含目录的路径,而不是文件的完整路径。

    然后重新启动 Apache。

    检查它是否与phpinfo() 一起使用。

    【讨论】:

    • 嗯...可以,但我无权访问该服务器配置。
    • @Kolink 如果您无权访问,请咨询您的主机。他们可能已经设置了一些东西。
    • 工作方式:配置文件 (php.ini) 路径 /etc/php/7.0/apache2 加载的配置文件 /etc/php/7.2/apache2/php.ini 扫描此目录以获取其他 . ini 文件 /etc/php/7.0/apache2/conf.d 仍然加载 7.0 ..... 所以它没有工作
    【解决方案2】:

    查看 php 文档中的 .user.ini 部分。

    自 PHP 5.3.0 起,PHP 包含对 .htaccess 样式的 INI 文件的支持 每个目录的基础。

    但除了 .unser.ini 解决方案之外,您还可以在“已解析的其他 .ini 文件”目录中放置一个额外的 ini 文件。在那里,您可以使用一个 ini 文件覆盖所有其他设置。以zzz开头命名,最后解析。这也很容易让您的主机部署而不会破坏他的设置。

    【讨论】:

    • 您错过了引用一个非常重要的部分:从 PHP 5.3.0 开始,PHP 包括对基于每个目录的配置 INI 文件的支持。 这些文件仅由 CGI/FastCGI SAPI 处理
    【解决方案3】:

    Kolink,我怀疑您使用的是共享主机服务,在这种情况下,您的主机可能正在使用一种叫做 suPHP 的东西。在这种情况下——正如你所描述的——PHPINIDir 指令不起作用,在这种情况下有一个suPHP_ConfigPath 指令。

    在访问方面,我的DOCROOT/.htaccess中有一个标准的mod_rewrite:

    RewriteEngine   On
    RewriteBase     /
    # if a forbidden directory or file name (starting with a . or /) then raise 404 Fatal
    RewriteRule (^|/)[_.] -         [F]
    

    它的作用是禁止任何以._ 为前缀的文件名或目录的请求。我有一个DOCROOT/_private 为我保存这些东西:

    suPHP_ConfigPath DOCROOT/_private
    

    您需要将 DOCROOT 替换为服务上的本地设置。在 phpinfo() 列表中查找 DOCUMENT_ROOT

    【讨论】:

    • 实际上,在这种情况下,我使用的是 VDS。无论如何,事实证明 suPHP_ConfigPath 是答案(我问过主机)。
    • ?VDS?不是我遇到的首字母缩写词。如果您的意思是 VPS,那么到底为什么要为 suPHP 配置它?使用 suPHP 的唯一合乎逻辑的原因是启用基于 UID 的访问控制以保持共同托管帐户之间的分离。
    • 虚拟专用服务器。老实说,我不在乎它是如何工作的,只要它有效并且按照我的指示去做。
    • 只要您了解您的用户会看到(轻微的)性能下降,并且您的虚拟机将在每秒约 5 个 URI 脚本请求的情况下达到最大值。
    • 仅用于开发目的。在上线之前,它会被转移到一个适当的专用系统;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 2012-03-09
    • 2012-01-11
    • 1970-01-01
    • 1970-01-01
    • 2016-11-25
    • 1970-01-01
    相关资源
    最近更新 更多