Confirme se a extensão mysqli não está instalada

4

Recentemente descobri que a extensão mysqli não está instalada no meu servidor versão 2.6 do Centos . Eu confirmo isso porque eu mudo o driver da conexão db de mysqli para mysql e agora funciona bem. Então, existe outra maneira / log para determinar esse problema? porque o error_log do apache não diz nada sobre isso.

Isso realmente não é um problema, mas pode ser mais complexo no futuro. Por quê? porque usando o driver mysqli, o site morre com uma página em branco sem erros / avisos para me ajudar a solucionar o problema. Eu não gosto da idéia de descobrir os problemas com artes mágicas ou linha de teste por linha. Deve ser algum arquivo de log que me ajude a depurá-lo.

Para fornecer informações para ajudar nesta questão, eu fiz:

 cat /proc/version 
 Linux version 2.6.18-308.el5.028stab099.3 (root@rhel5-build-x64) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46))
    
por manix 02.11.2012 / 21:28

2 respostas

7

Você pode confirmar se mysqli está instalado ou não, listando os módulos instalados. SSH na sua caixa do Cent OS, e emita o seguinte comando.

php -m | grep mysqli

Se nada for retornado, você não terá mysqli.so carregado. Verifique se você tem o objeto compartilhado instalado no seu sistema.

# Located extension dir
php -i | grep extension_dir
# List mysql.so in the path returned from the previous command
ls -la /usr/lib/php/extensions/no-debug-non-zts-20090626/mysqli.so

Se o mysqli.so estiver presente e tiver as permissões -rwxr-x-rx , você precisará carregar / ativar a extensão mysqli no arquivo global php.ini dos sistemas.

# Adjust path to correct php.ini file. 
# Run 'php -i | grep "Configuration File"' to locate, if needed
# It might be easier to use vi, or nano, for this
sudo echo "extension=mysqli.so" >> /etc/php5/php.ini
# Restart apache
sudo service httpd restart

Mais. Se você não tiver mysqli.so presente no seu sistema. Você pode instalar o rpm seguindo o gerenciador de pacotes do sistema e repetindo a etapa anterior do php.ini.

sudo yum install php5-mysqli
    
por 06.11.2012 / 16:11
1

Surpreendentemente sudo yum install php5-mysqli isto não instalou o pacote mysqli para mim. Mais surpreendentemente, eu tenho PHP Versão 5.5.31 e eu assumi, tinha instalado o mysqli por padrão. Mas eu estava errado. Eu tive que instalar e reconstruir o apache do WHM.

Para instalar o mysqli usando o EachApache:

Faça login no WHM como usuário 'root'.

Pesquise "EasyApache" ou vá para Software > EasyApache

Role para baixo e selecione uma opção de compilação (Configuração salva anteriormente)

Clique em Iniciar "Iniciar personalização com base no perfil"

Selecione a versão do Apache e clique em "Próximo passo".

Selecione a versão do PHP e clique em "Próximo passo".

Escolha opções adicionais dentro da "Lista de opções curtas"

Selecione "Lista de opções exaustivas" e procure por "Extensão aprimorada do MySQL"

Clique em "Salvar e criar"

    
por 05.02.2016 / 17:55