Como determinar qual PHP está sendo usado?

7

Como determinar qual PHP está sendo usado?

Por exemplo, se houver /usr/local/bin/php e usr/local/bin/php5 , como sei qual deles está sendo usado pelos meus scripts PHP?

    
por Randell 25.08.2009 / 12:27

8 respostas

9

Se você estiver usando a CLI do PHP, tente usar esses comandos shell (suponho que você esteja usando o linux aqui)

which php - will locate the php executable (this should be the default php used by you)
whereis php - The first path displayed will be the location of the php executable
echo $PATH - will print a list of paths separated by ":" where the system looks for commands

Se você estiver usando o PHP como um módulo do Apache, então o phpinfo () irá informar a versão do PHP usada, e os arquivos de configuração do PHP, NÃO o caminho do PHP . Se você tem 2 versões do executável php, então isso irá ajudá-lo. Se eles são da mesma versão, então não importa qual é quem:)

Se você quiser descobrir a versão do php, então o php -v irá imprimir a versão do php na CLI e quaisquer módulos do Zend instalados.

Se você quiser descobrir os arquivos ini incluídos, o php -ini exibirá a lista de arquivos ini carregados pelo módulo php (isso se aplica à versão CLI).

    
por 25.08.2009 / 14:49
6

Basta adicionar um script simples

<?php phpinfo(); ?>
    
por 25.08.2009 / 12:34
5

Supondo que você esteja usando o servidor da Web:
Você pode colocar a seguinte função em um script:

<?php 
phpinfo(); 
?>

Se isso não funcionar, pode ser porque essa função está desabilitada no arquivo php.ini. Isso geralmente é feito por segurança. Se este for o caso, você terá uma linha em seu php.ini como:

disable_functions = phpinfo

Se este for o caso, altere-o temporariamente para

disable_functions =

Se você estiver usando o php para scripts do shell:

  1. Deve haver a "linha shebang" no topo, algo como

    #! / usr / local / bin / php -q

  2. Tem certeza de que um não é um link para o outro? fazer

    ls -l / usr / local / bin / php

  3. Não; -)

por 25.08.2009 / 13:19
5

Também na linha de comando:

$ php -v

PHP 5.2.6-3ubuntu4 with Suhosin-Patch 0.9.6.2 (cli) (built: Mar 31 2009 02:11:31) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

    
por 25.08.2009 / 13:44
1
<?php
// prints e.g. 'Current PHP version: 4.1.1'
echo 'Current PHP version: ' . phpversion();
?>
    
por 25.08.2009 / 12:38
0

Se você está falando sobre seus scripts da web que são chamados pelo seu servidor web Apache e o PHP está configurado como um módulo do Apache, então a resposta é NENHUM.

Os locais que você mencionou em sua pergunta são interpretadores de script de linha de comando que seriam chamados pela notação shebang como

 #!/usr/local/bin/php

no topo do seu script de linha de comando php

você pode chamar os intérpretes que você mencionou separadamente, pois eles têm nomes diferentes

# php

chamaria / usr / local / bin / php e

# php5

chamaria / usr / local / bin / php5

Nenhum desses é usado se você usa PHP através do módulo Apache. Se você usar a versão CGI do php, ela deve aparecer no phpinfo (); saída.

    
por 25.08.2009 / 15:29
0
<?php phpinfo(); ?>
    
por 25.08.2009 / 15:36
0
<?php echo shell_exec('which php'); ?>

Isso funciona mesmo se você não tiver acesso ao shell. ; -)

    
por 27.12.2010 / 09:08

Tags