Você está usando PHP através do CGI? Ou você o construiu no Apache em tempo de execução como mod_php? Se você não estiver executando o PHP como um programa CGI, não importa onde ele esteja no shell.
Eu tenho um tempo helluva tentando rastrear qual binário php meu apache está usando.
locate bin/php
retorna esta lista
/usr/bin/php
/usr/bin/php-cgi
/usr/bin/php-config
/usr/bin/phpize
/usr/local/bin/php
/usr/local/bin/php-cgi
/usr/local/bin/php-config
/usr/local/bin/php-shell.sh
/usr/local/bin/phpize
Vamos ver as versões:
/usr/bin/php -v shows 5.3.2
/usr/bin/local/php -v shows 5.3.2
Que tal which
?
[macek ~]$ which php
/usr/bin/php
phpinfo();
quando executado pelo apache mostra 5.2.11
Onde está este fantasma 5.2.11 no meu sistema?
Verifique se sua instalação do apache não está carregando mod_php de dois locais diferentes. Em muitas distribuições de linux modernas, o Mod_php é incluído em /etc/http/conf.d/php.conf
e não (como costumava ser o caso) no arquivo /etc/httpd/conf/httpd.conf
normal.
Eu já vi pessoas acidentalmente dizerem ao apache para carregar o php duas vezes, sem saber disso. É especialmente comum se você construir sua própria versão do php, e atualizar o arquivo httpd.conf, sem verificar se o não é um arquivo php.conf.
Para ter certeza, você pode ver o que está sendo executado no seu apache.
Duas maneiras que conheço:
O comando lsof
lista arquivos abertos, e você pode especificar um ID de processo, e ele mostrará os arquivos abertos (incluindo bibliotecas compartilhadas) para esse processo.
Depois de abertas, as bibliotecas compartilhadas são mapeadas na memória. No Linux, você pode procurar no arquivo / proc / pid / maps para ver todas as bibliotecas compartilhadas mapeadas para o seu processo.
Tags php version apache-http-server