AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 38661
Accepted
SeanDowney
SeanDowney
Asked: 2009-07-10 14:28:24 +0800 CST2009-07-10 14:28:24 +0800 CST 2009-07-10 14:28:24 +0800 CST

用户特定的 Php.ini 当 php 作为模块运行时?

  • 772

我有一个只能在 ini 文件中更改的 php 设置。由于冲突,我无法在全局 php.ini 中更改此设置,因此我需要指定此用户。如果 php 作为模块运行,可以这样做吗?或者我必须改变 php 作为 cgi 运行吗?

似乎最好的答案是“不是真的”,但您可以使用下面的技巧偷偷改变一些参数。

php apache-2.2 php.ini
  • 5 5 个回答
  • 1267 Views

5 个回答

  • Voted
  1. Best Answer
    Jeremy Bouse
    2009-07-10T15:12:48+08:002009-07-10T15:12:48+08:00

    我不知道在使用 PHP 作为 Apache 模块时指定单独的 php.ini 的任何方法,仅在使用 PHP 作为 CGI 时。也就是说,php.ini 中的任何配置选项都可以在文件中进行更改,如http://php.net/configuration.changes.htaccess所示,只要您将 Apache 配置中的 AllowOverride 设置为or 。OptionsAll

    我已经在我的许多网站上这样做了,以更改常见的 PHP 配置。我假设您不需要更改每个设置,因此应该通过.htaccess在需要更改的目录中将选项添加到文件中来轻松管理该数字。

    以下是我在几个站点上用于更改和设置include_path的设置。对于布尔标志项,只需使用而不是.auto_prepend_fileauto_append_filephp_flagphp_value

    <IfModule mod_php5.c>
        php_value auto_prepend_file 'header.inc.php'
        php_value auto_append_file 'footer.inc.php'
        php_value include_path '/path/to/private/includes:/usr/share/pear'
    </IfModule>
    
    • 2
  2. SeanDowney
    2009-07-17T13:01:57+08:002009-07-17T13:01:57+08:00

    我为 php cgi 包装器覆盖了 php 的处理程序,并且能够指定一个 php.ini 文件

    为此:在要修改的文件夹中创建一个 htaccess 文件,如下所示:

    Action php5-cgi /cgi-bin/php5-cgi.cgi
    AddHandler php5-cgi .php
    

    然后创建一个文件'php5-cgi.cgi',如下所示:

    #!/bin/sh
    exec /usr/bin/php-cgi "$@" -c "/home/user/php.ini"
    

    设置此文件的权限以作为“用户”执行。然后用 phpinfo(1) 运行一个测试文件;看看你是否加载了你的ini文件。

    谢谢大家的帮助!!

    • 1
  3. radius
    2009-07-10T14:33:02+08:002009-07-10T14:33:02+08:00

    所有细节都在这里: http: //php.net/configuration.changes

    • 0
  4. Dan Carley
    2009-07-11T03:23:46+08:002009-07-11T03:23:46+08:00

    基本上,没有。

    从PHP 手册:

    PHP 启动时会读取配置文件 (php.ini)。对于 PHP 的服务器模块版本,这仅在 Web 服务器启动时发生一次。对于 CGI 和 CLI 版本,每次调用都会发生这种情况。

    • 0
  5. Pierre-Yves Gillier
    2009-09-29T04:07:17+08:002009-09-29T04:07:17+08:00

    您可以为每个虚拟主机/用户使用 Apache“php_admin_value”。

    IIRC,您可以使用此命令重新定义每个 php.ini 值

    • 0

相关问题

  • 如何强制我的网址始终以 www 开头?

  • 在 Linux Xen VPS 上优化 Apache 和 MySQL

  • mod_rewrite 不转发 GET 参数

  • 更改 PHP 的默认配置设置?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve