在 Ubuntu 10.10 上查找(或启用?!)php.ini

在 Ubuntu 10.10 上查找(或启用?!)php.ini

嗨!

今天我离开我的舒适区,想编辑我的php.ini文件和... 客人什么?它不存在!

$ php --ini

Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File:         (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

已加载的配置文件:(无)

这到底是怎么回事?我从来没见过这种情况。有没有办法创建或启用 PHP ini?


我自己编译的:

$ php -v

PHP 5.3.3 (cli) (built: Dec  3 2010 16:08:11) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

答案1

如果您自行编译了 PHP 且未更改默认的 PHP ini 路径,它会在 中搜索 php.ini /usr/local/lib/。因此请php.ini输入/usr/local/lib/php.ini

在 PHP 包中,有一个 php.ini-recommended,可以将其复制到该位置(将目录更改为 php-5.3.3):

sudo cp php.ini-recommended /usr/local/lib/php.ini

答案2

使用 find 查找文件:

find / -name "php.ini" 2> /dev/null

2> /dev/null由于权限错误,只是为您隐藏了 STDERR。

答案3

实际上...Ubuntu 10.10(特立独行)提供 PHP 5.3.3 作为标准 apt 软件包系统的一部分。如果您安装该软件包,php-fpm您甚至会获得内置的“新”FPM(我认为这就是您首先想要 5.3.3 的全部原因)。

请查看 packages.ubuntu.com 以获取证明

也就是说——如果您自己构建了 PHP,并且没有指定任何特殊选项进行配置,则--prefix默认为/usr/local/,并且--with-config-file-path默认为/usr/local/lib。因此 php 将查找/usr/local/lib/php.ini

您可以通过设置(例如)--with-config-file-path=/usr/local/etc作为选项来更改此设置./configure


仅出于完整性考虑:在 Ubuntu 10.10 之前的版本(其中 php 5.3.3 不是基础发行版的一部分)上,您可以通过以下方式获取 php 5.3.3 的二进制 apt-packagesdotdeb.org。dotdeb 存储库在 Ubuntu 8.04 Hardy 上运行良好。在 10.04 Lucid 上,它们仍然有效,但您必须手动安装一些其他依赖项(这有点麻烦)。无论哪种方式,请按照Dotdeb 说明页面

答案4

ubuntu 中的 php.ini 通常会保存,/etc/php5/apache2/php.ini而你没有保存任何文件,因为你没有使用这个安装 phpclisudo apt-get install php5-cli

安装后的输出将是

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/gd.ini,
/etc/php5/cli/conf.d/mcrypt.ini,
/etc/php5/cli/conf.d/mysql.ini,
/etc/php5/cli/conf.d/mysqli.ini,
/etc/php5/cli/conf.d/pdo.ini,
/etc/php5/cli/conf.d/pdo_mysql.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/zend-framework.ini

我确实有 php 5.3.3

php -v

PHP 5.3.3-1ubuntu9.1 with Suhosin-Patch (cli) (built: Oct 15 2010 14:17:04) 
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans

相关内容