Como determinar qual PHP está sendo usado?
Por exemplo, se houver /usr/local/bin/php
e usr/local/bin/php5
, como sei qual está sendo usado pelos meus scripts PHP?
Se você estiver usando a CLI do PHP, tente usar esses comandos do 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 PHP como um módulo Apache, o phpinfo () informará a versão do php usada e os arquivos de configuração do php, NÃO o caminho do php . Se você possui 2 versões do executável php, isso o ajudará. Se eles são a mesma versão, então realmente não importa qual é quem :)
Se você quiser descobrir a versão php, o php -v imprimirá a versão php na CLI e em qualquer módulo Zend instalado.
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).
which
comando é o que eu precisava.which
; use emcommand -v
vez disso. Consulte também Verifique se existe um programa a partir de um script Bash .Basta adicionar um script simples
fonte
php
login de um usuário; e não necessariamente o php usado pelo Apache?Supondo que você esteja usando através do servidor Web:
Você pode colocar a seguinte função em um script:
Se isso não funcionar, pode ser porque essa função está desabilitada no php.ini. Isso geralmente é feito por segurança. Se for esse o caso, você terá uma linha no seu php.ini como:
Se for esse o caso, altere temporariamente para
Se você estiver usando o php for Shell Scripts:
Deve haver a 'linha shebang' no topo, algo como
#! / usr / local / bin / php -q
Tem certeza de que um não é um link smybolic para o outro? Faz
ls -l / usr / local / bin / php
Não ;-)
fonte
Também na linha de comando:
fonte
php
login de um usuário; e não necessariamente o php usado pelo Apache?fonte
Se você estiver falando sobre seus scripts da web chamados pelo servidor da web Apache e o PHP estiver configurado como um módulo Apache, a resposta será NENHUM.
Os locais mencionados na sua pergunta são intérpretes de script de linha de comando que seriam chamados pela notação shebang como
no topo do seu script de linha de comando php
você pode ligar para os intérpretes mencionados separadamente, pois eles têm nomes diferentes
chamaria / usr / local / bin / php e
chamaria / usr / local / bin / php5
Nenhum deles será usado se você usar PHP através do módulo Apache. Se você usa a versão CGI do php, ela deve aparecer no phpinfo (); resultado.
fonte
fonte
Isso funciona mesmo se você não tiver acesso ao shell. ;-)
fonte