Meu, onde'é o meu php.ini?

Alguns anos atrás eu instalei o Apache 2.2x e o PHP 5.3.1 em um servidor Linux que eu mantenho. Eu usei .tar.gz's e os construí como instruído (ao invés de rpms e what-have-you). E tudo estava bem.

Hoje eu preciso instalar isto que parece ser uma biblioteca PHP. Eu passei por todos os passos para fazer a instalação, e eu encontro ibm_db2.so em $PHP_HOME/lib/extensions/somecomplicatedname/ibm_db2.so.

O último passo é configurar o php.ini, mas NÃO há php.ini no meu sistema. Horror de horrores. O PHP funciona bem, exceto, é claro, por essa coisa nova de ibm_db2 que eu quero usar para que alguém possa usar uma GUI para mexer no DB2. (Eu tentei um pequeno script php que falha e indica que as funções ibm_db2 não estão disponíveis).

Eu tenho que lidar com PHP uma vez a cada poucos anos, então por favor me esclareça a um nível muito básico sobre o que eu poderia fazer para habilitar o acesso da GUI baseada na web ao DB2.

Na linha de comando executar:

php --ini

Vais ter algo do género:

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

Isso é da minha máquina de desenvolvimento local. No entanto, a segunda linha é a interessante. Se não há nada mencionado, dê uma olhada na primeira. Esse é o caminho, onde o PHP procura o php.ini.

Você pode dar as mesmas informações utilizando phpinfo() em um script e chamá-lo com um navegador. É mencionado no primeiro bloco da saída. O php -i faz o mesmo para a linha de comando, mas é bastante desconfortável.

Comentários (10)
phpinfo();

irá dizer-lhe a sua localização, ou a partir da linha de comando

php -i
Comentários (0)

Você pode obter mais informações sobre seus arquivos de configuração usando algo parecido:

$ -> php -i | ack config # Use fgrep -i if you don't have ack

Configure Command =>  './configure'  ...
Loaded Configuration File => /path/to/php.ini
Comentários (0)