Alguns anos atrás, instalei o Apache 2.2xe o PHP 5.3.1 em um servidor Linux que mantenho. Eu usei .tar.gz e construí-os conforme as instruções (em vez de rpms e what-have-you). E tudo estava bem.
Hoje eu preciso instalar isso que parece uma biblioteca PHP. Passei por todas as etapas para fazer a instalação e localizo ibm_db2.so em$PHP_HOME/lib/extensions/somecomplicatedname/ibm_db2.so
O grande problema é o último passo é configurar o php.ini, mas NÃO existe o php.ini no meu sistema. Horror de horrores. O PHP funciona bem, exceto, é claro, por esta nova coisa ibm_db2 que eu quero usar para que alguém possa usar uma GUI para mexer DB2
. (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 o PHP uma vez a cada poucos anos, então, por favor, me esclareça em um nível muito básico sobre o que eu poderia fazer para permitir o acesso à GUI baseada na Web DB2
.
locate php.ini
em poucos momentos o arquivo estará no seu sistema.Respostas:
A melhor maneira de encontrar isso é: crie um arquivo php e adicione o seguinte código:
e abra-o no navegador, ele mostrará o arquivo que está realmente sendo lido!
Atualizações por OP:
<?php echo php_ini_loaded_file(); ?>
mencionada nesta resposta .fonte
<?php phpinfo(); ?>
php -r \@phpinfo\(\)\;
obras para mephp -r \@phpinfo\(\)\; | grep 'PHP Version' -m 1
puxar informações específicas<?php echo php_ini_loaded_file(); ?>
Na linha de comandos, execute:
Você receberá algo como:
Isso é da minha máquina local de desenvolvimento. No entanto, a segunda linha é a interessante. Se não houver nada mencionado, dê uma olhada no primeiro. Esse é o caminho, onde o PHP procura o
php.ini
.Você pode receber as mesmas informações usando
phpinfo()
um script e chamá-lo em um navegador. É mencionado no primeiro bloco da saída.php -i
faz o mesmo para a linha de comando, mas é bastante desconfortável.fonte
.php
arquivo. By the way, se você comentar sobre a pergunta, então eu sou notificado e posso resolver o problema mais cedo.phpinfo.php
arquivo semelhante. Com o FPM, você pode pelo menos usarphp5-fpm -i | grep '\.ini'
. Normalmente, você usa isso duas ou três vezes e no final do dia você sabe onde estão os arquivos;)Isso funciona para mim:
Você deve ver algo como:
ps Para obter apenas o caminho php.inin
fonte
php.ini
, que é exatamente o problema: Se não houver nenhum, você ainda não sabe para onde olhar, ou onde colocar um novo.Configuration File (php.ini) Path => /usr/lib
, mas a execução<?php phpinfo(); ?>
me dáLoaded Configuration File: /etc/php.ini
. Então,phpinfo()
foi mais confiável no meu caso.Na janela de comando, digite
Ele mostrará o caminho algo como
Se o comando acima não funcionar, use este comando
fonte
Este comando deve ajudá-lo a encontrá-lo
fonte
Use os seguintes comandos para encontrar o
php.ini
caminho do arquivo no linux.ou tente de outra maneira
[root@AnyDirectory ~]# php --ini
mostra o resultado do caminho
fonte
php -i | grep 'php.ini'
, porque encontra qualquer php.ini e não informa qual a sua instalação do PHP. Além disso, pode gerar resultados incorretos quando olocate
banco de dados não estiver atualizado.informará sua localização ou na linha de comando
fonte
O PHP vem com duas funções nativas para mostrar qual arquivo de configuração está carregado:
Dependendo da sua configuração, o Apache e a CLI podem usar arquivos ini diferentes. Aqui estão as duas soluções:
Apache:
Basta adicionar o seguinte em um arquivo php e abri-lo no seu navegador
CLI:
Copie e cole no seu terminal:
fonte
php_ini_loaded_file
nem sempre esteja disponível.php_ini_loaded_file
dizer a versão php> = 5.2.4Ei ... funcionou para mim!
fonte
php --ini
funciona, mas esta é apenas outra opção :) Geralmente, existe uma/etc/php5/cli/php.ini
/etc/php5/apache2/php.ini
/etc/php5/cgi/php.ini
e geralmente qual você deseja é bastante óbvio. (cli, apache, cgi)Você pode obter mais informações sobre seus arquivos de configuração usando algo como:
fonte
Para SAPI: php-fpm
Não há necessidade de criar um arquivo php.info (não é uma boa política deixar para o mundo ler de qualquer maneira). Na linha de comando:
Em algum lugar de sua saída, ele mostrará esta linha:
Aqui está uma explicação mais completa: https://www.cloudinsidr.com/content/how-to-figure-out-your-php-configuration-parameters-without-info-php/
fonte
Experimente uma destas soluções
No seu tipo de terminal
find / -name "php.ini"
No seu tipo de terminal
php -i | grep php.ini
. Ele deve mostrar o caminho do arquivo comoConfiguration File (php.ini) Path => /etc
<?php
em uma nova linhaphpinfo();
Isso informará a localização do php.iniphp -a
o terminal e digite phpinfo (); após o php iniciado.fonte
Existem várias maneiras válidas já mencionadas para localizar o arquivo php.ini, mas se você se deparou com esta página porque deseja fazer algo com ele em um script bash:
path_php_ini="$(php -i | grep 'Configuration File (php.ini) Path' | grep -oP '(?<=\=\>\s).*')" echo ${path_php_ini}
fonte