php -i executado a partir da linha de comando e phpinfo executado a partir do navegador mostra diferentes parâmetros php

1

Meu problema é que quando executo php -i ele mostra a versão do php como o php 5.4 e o arquivo de configuração carregado como /usr/local/lib/php.ini . Quando executo o script phpinfo.php da linha de comando, ele mostra o php 5.3 e o arquivo de configuração carregado como /etc/php.ini .

Como posso ativar o interpretador PHP padrão como o php 5.3?

Eu preciso de 5.3 porque o php 5.3 está configurado com o PDO e pdo_mysql onde o php 5.4 não está configurado com ele também a versão zend do php 5.3 é 220090626 enquanto a do php 5.4 é 220090525.

Quando eu tento executar um script PHP de um navegador, ele está sendo compilado com o php 5.4 (que não tem a extensão PDO) e está lançando um erro fatal como PDO indefinido.

Como configuro meu Apache para carregar o PHP 5.3 para os scripts.

O script phpinfo.php é o seguinte

<?php
phpinfo();
?>
    
por prashanthp 21.01.2014 / 19:10

1 resposta

2

Seu arquivo php.ini está em / usr / local / lib? Isso é tão completamente errado, nenhum gerenciador de pacotes colocaria esse arquivo lá.

Você deve ter uma cópia do php localmente construída no seu host. which php mostrará onde está. which -a php mostrará todas as versões instaladas do php que estão no seu $ PATH. Execute php -v em cada um para ver qual versão é.

Remova as versões que você não quer, e você terá php 5.3 restantes. Se você não conseguir removê-los, altere seu $ PATH para que o que você deseja venha em primeiro lugar, por exemplo, PATH=/usr/bin:/usr/local/bin se você quiser / usr / bin / php em vez de / usr / local / bin / php. Ou defina um alias de shell:

alias php=/usr/bin/php

e coloque-o em seus arquivos de inicialização do shell (~ / .bashrc ou ~ / .profile) para que essa versão sempre seja executada quando você digitar apenas php .

    
por 21.01.2014 / 19:48