【问题标题】:php directives in .htaccess?.htaccess 中的 php 指令?
【发布时间】:2013-04-06 14:38:44
【问题描述】:

我尝试通过 .htaccess 对 php 进行一些更改,但都没有产生任何结果。例如:

php_value memory_limit 256M inside 不会激活。

尝试设置SetEnv PHPRC /home/username/public_html/php.ini 或任何类似的咒语,例如SetEnv PHPRC /home/username/some_path,不会在phpinfo 中产生任何差异。我确实看到确实设置了_SERVER["PHPRC"],但没有像上面提到的那样覆盖任何值。

我的phpinfo如下: https://gist.github.com/ylluminate/08efd9a2844723631214

我想知道我是否缺少一个 apache 模块,该模块不允许它按预期为自定义 php.ini 或 phprc 工作。此外,这是在 VPS 上安装的 Apache 2.4.4,我可以 100% 控制(Linode)并使用 WHM + cPanel。

【问题讨论】:

  • 这取决于 apache 配置,如果您在共享主机上,您可能不走运,因为您将无法使用 ini_set 或 php.ini 也无法使用 htaccess 来更改值与 php 配置相关,您最好的选择是要求您的主机为您的虚拟主机更改此设置。
  • 如果您使用的是 CGI/FastCGI,为什么不试试 .user.ini 覆盖设置?
  • @ahmad 不,我在一个 100% 控制并使用 WHM / cPanel 的 VPS 上。
  • @mario 这很有趣。我想我已经有一段时间没有做很多 php 配置了,因为我没有看到自 5.3 以来添加了这种样式。因此,据我了解,您可以在希望设置处于活动状态的分层父文件夹中创建一个 .user.ini 文件,对吗?
  • @mario 补充说,作为一个答案,你的建议非常有效。

标签: php apache php-ini phpinfo


【解决方案1】:

从 PHP 5.3 开始,您可以使用 .user.ini 文件,前提是 PHP 设置为通过 CGI/FastCGI SAPI 运行。
http://php.net/configuration.file.per-user

它是主要php.ini 的简单扩展,并允许等效地指定选项:

memory_limit = 256M
upload_tmp_dir = /tmp

通常您可以将其中之一放在DOCUMENT_ROOT 中。但是每个目录都可能包含一个,因此每个脚本/文件夹的选项可能会有所不同。它是 Apaches/mod_php .htaccess 设置指令的完全替代品。

【讨论】:

    猜你喜欢
    • 2012-12-02
    • 2019-03-07
    • 2010-10-09
    • 2014-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-24
    • 2012-10-23
    相关资源
    最近更新 更多