gpt4 book ai didi

.htaccess - htaccess 自定义 php.ini 与 php_value 或 php_flag

转载 作者:行者123 更新时间:2023-12-03 08:03:03 29 4
gpt4 key购买 nike

我要设置 xdebug我的项目的 php 扩展。我有一个 linux 环境,还有其他人在同一台服务器上工作。我想通过自定义 php.ini 来做到这一点.htaccess 中的文件设置文件。我对此有一些疑问:

  • 请问我的定制php.ini文件必须是原始 php.ini 的副本文件以便只修改我需要的内容?或者在该文件中仅包含我想要更改的设置就足够了?
  • 正如我所试验的,设置 SetEnv PHPRC /path/to/my/custom/phpinifile 很好。高于 .htaccess 中的所有其他设置文件。手动设置呢php_valuephp_flag下面SetEnv ?他们会覆盖我的php.ini文件设置?
  • 最佳答案

    首先,您需要知道有不同的方式可以配置您的网络服务器以使用 PHP。我个人有使用 mod_php 和 FastCGI 的经验,所以我可以简要介绍一下这两个。这些被称为处理程序,它们极大地影响了您如何配置 PHP。

    mod_php

    如果您已将 PHP 作为 Apache 的模块安装,php.ini Apache 启动时读取文件。在这种情况下,所有主要的 PHP 指令,如 zend_extensionextension将在 Apache 启动时应用,因此它们不能在 .htaccess 中设置文件。根据我的经验,SetEnv PHPRC.htaccess也不起作用。

    快速CGI

    在这种情况下,php.ini每次请求到达时都会加载文件。所以如果你改变了 PHP 的配置,你不需要重启 Apache。然而你不能设置像 zend_extension 这样的主要 PHP 指令。和 extension.htaccess文件,它们需要在 php.ini 中设置文件。这是因为当 .htaccess已应用,PHP 扩展已经列出并加载,更改这些指令将无效(也不会导致错误)。但好消息是,在这种模式下,您可以使用 SetEnv PHPRC.htaccess文件。所以你可以指向一个自定义的php.ini确实会加载 xdebug 的文件。

    another way您可以加载用户特定的 php.ini文件也。但我还没有测试它,所以我不能评论它对你的情况是否有用。也许你可以自己看看。但是页面中提到它也只能在 CGI/FastCGI 中工作。

    底线

    如果你使用mod_php,你别无选择,只能修改原来的php.ini加载 xdebug。但是您可以为每个虚拟主机启用它,将启用命令放入适当的 .htaccess文件。

    如果您使用的是 FastCGI,您可以在原始 php.ini 中加载 xdebug或者您可以拥有自己的php.ini文件并在 .htaccess 中指向它文件(无论哪种情况,xdebug 都加载到 php.ini 文件中)。但是如果你使用后一种情况,你原来的 php.ini根本不会应用。因此,您需要在自己的 php.ini 版本中提及您想要的任何指令。文件。同样,您可以为 .htaccess 中的每个虚拟主机打开/关闭 xdebug。文件。

    无论您选择哪种解决方案,都需要在 php.ini 中输入加载 xdebug 的文件:

    zend_extension = /path/to/your/xdebug.so

    而这个在你的虚拟主机的 .htaccess启用调试:
    php_value xdebug.profiler_enable 1

    [更新]

    如何检查您的服务器是否在 mod_php 或 FastCGI 中运行 PHP:

    寻找 服务器 API phpinfo的输出。如果显示为 Apache 2.0 Handler它是 mod_php 而在 FastCGI 中它将读取 CGI/FastCGI .

    关于.htaccess - htaccess 自定义 php.ini 与 php_value 或 php_flag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17270476/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com