首页 文章

伙计,我的php.ini在哪里?

提问于
浏览
758

几年前,我在我维护的Linux服务器上安装了Apache 2.2x和PHP 5.3.1 . 我使用.tar.gz并按照指示构建它们(而不是rpms和你有什么) . 一切都很好 .

今天我需要安装this,它看起来像一个PHP库 . 我完成了所有步骤以进行安装,我在 $PHP_HOME/lib/extensions/somecomplicatedname/ibm_db2.so 找到了ibm_db2.so

最棒的一步是配置php.ini,但我的系统上没有php.ini . 恐怖的恐怖 . PHP工作正常,当然除了我想要使用的这个新奇的ibm_db2 thingamagic,所以有人可以使用GUI来修补 DB2 . (我尝试了一个小的php脚本失败并指示ibm_db2函数不可用) .

我必须每隔几年处理一次PHP,所以请在非常基本的层面上启发我,了解如何启用基于Web的GUI访问 DB2 .

12 回答

  • 22

    已经提到了几种有效的方法来查找php.ini文件,但是如果你遇到这个页面是因为你想在bash脚本中对它做一些事情:

    path_php_ini="$(php -i | grep 'Configuration File (php.ini) Path' | grep -oP '(?<=\=\>\s).*')" echo ${path_php_ini}

  • 31

    使用以下命令在linux中查找 php.ini 文件路径 .

    [root@AnyDirectory ~]# locate php.ini
    /etc/php.ini
    /etc/php.ini.rpmnew
    /usr/share/doc/php-common-5.4.45/php.ini-development
    /usr/share/doc/php-common-5.4.45/php.ini-production
    

    或者尝试另一种方式

    [root@AnyDirectory ~]# php --ini
    它显示了路径结果

  • 28

    对于SAPI:php-fpm

    没有必要创建一个php.info文件(无论如何都不要让它让世界阅读) . 在命令行上:

    php-fpm -i | more
    

    在其输出的某处,它将显示以下行:

    Configuration File (php.ini) Path => /etc
    

    这是一个更完整的解释:https://www.cloudinsidr.com/content/how-to-figure-out-your-php-configuration-parameters-without-info-php/

  • 3

    PHP附带两个本机函数来显示加载了哪个配置文件:

    根据您的设置, ApacheCLI 可能使用不同的ini文件 . 以下是两种解决方案:

    阿帕奇:

    只需在php文件中添加以下内容并在浏览器中打开即可

    print php_ini_loaded_file();
    print_r(php_ini_scanned_files());
    

    CLI:

    在终端中复制粘贴:

    php -r 'print php_ini_loaded_file(); print_r(php_ini_scanned_files());'
    
  • 385

    在命令窗口类型中

    php --ini
    

    它会告诉你类似的路径

    Configuration File (php.ini) Path: /usr/local/lib
    Loaded Configuration File:         /usr/local/lib/php.ini
    

    如果上述命令不起作用,请使用此命令

    echo phpinfo();
    
  • 101

    在命令行执行:

    php --ini
    

    你会得到类似的东西:

    Configuration File (php.ini) Path: /etc/php5/cli
    Loaded Configuration File:         /etc/php5/cli/php.ini
    Scan for additional .ini files in: /etc/php5/cli/conf.d
    Additional .ini files parsed:      /etc/php5/cli/conf.d/curl.ini,
    /etc/php5/cli/conf.d/pdo.ini,
    /etc/php5/cli/conf.d/pdo_sqlite.ini,
    /etc/php5/cli/conf.d/sqlite.ini,
    /etc/php5/cli/conf.d/sqlite3.ini,
    /etc/php5/cli/conf.d/xdebug.ini,
    /etc/php5/cli/conf.d/xsl.ini
    

    那是我当地的开发机器 . 然而,第二行是有趣的 . 如果没有提到,请看第一个 . 那是PHP寻找 php.ini 的路径 .

    您可以在脚本中使用 phpinfo() grep相同的信息,并使用浏览器调用它 . 它在输出的第一个块中提到 . php -i 为命令行做了同样的事情,但它非常不舒服 .

  • 709

    您可以使用以下内容获取有关配置文件的更多信息:

    $ -> php -i | ack config # Use fgrep -i if you don't have ack
    
    Configure Command =>  './configure'  ...
    Loaded Configuration File => /path/to/php.ini
    
  • 21

    找到这个的最佳方法是:创建一个php文件并添加以下代码:

    <?php phpinfo(); ?>
    

    并在浏览器中打开它,它将显示实际正在读取的文件!

    OP的更新:

    • 以前接受的answer对您来说可能更快,更方便,但并不总是正确的 . 请参阅有关该答案的评论 .

    • 还请注意this answer中提到的更方便的替代 <?php echo php_ini_loaded_file(); ?> .

  • -1

    此命令可以帮助您找到它

    php -r "phpinfo();" | grep php.ini
    
  • 6
    find / -name php.ini
    

    嘿......它对我有用!

  • 59

    这对我有用:

    php -i | grep 'php.ini'
    

    你应该看到类似的东西:

    Loaded Configuration File => /usr/local/lib/php.ini
    

    附:只获取php.inin路径

    php -i | grep /.+/php.ini -oE
    
  • 4
    phpinfo();
    

    将告诉您它的位置,或从命令行

    php -i
    

相关问题