
Como instalo um novo driver PDO em uma instalação LAMP existente?
Estou usando o Amazon Linux (no AWS EC2) e instalei o PHP 5.5 e o MySql dos repositórios da Amazon. Quando olho phpinfo
posso ver que o PDO foi instalado com sucesso, junto com o PDO_SqlLite. Preciso adicionar PDO_MySql.
Com base no que li, posso recompilar o PHP com o PDO_MySql incluído ou baixá-lo de um repositório. A primeira opção parece um trabalho árduo e potencialmente muito confuso. A segunda opção seria boa, mas até onde posso ver, os repositórios yum do Amazon Linux não incluem o driver PDO_MySql para PHP 5.5. (Posso estar errado, já que sou novo no yum).
Que outras opções existem? O que aconteceria se eu apenas baixasse o arquivo .so de algum lugar, colocasse-o junto com os outros arquivos .so e o chamasse no meu php.ini?
Estou usando o AMI 2013.09.
ATUALIZAÇÃO: Este link pecl,http://pecl.php.net/package/PDO_MYSQL, diz que PDO_MySql foi movido para a fonte PHP. Talvez seja apenas uma questão de habilitá-lo então?
Responder1
Não usei o EC2, mas ficaria surpreso se não incluísse o php-mysql, que é um componente básico do LAMP. Funciona sudo yum install php-mysql
para você?
Caso contrário, estão faltando alguns repositórios importantes no yum e sua melhor opção seria adicioná-los. Não sei muito sobre isso, mas tenho certeza de que alguém aqui pode ajudar.
Sim, você pode simplesmente copiar os arquivos de outro host, desde que tenha a mesma arquitetura que a sua (execute arch
para verificar) e esteja vinculado a versões de bibliotecas existentes em seu host, o que provavelmente é verdade. Aqui estão os arquivos que você precisa:
$ rpm -q php-mysql -l
/etc/php.d/mysql.ini
/etc/php.d/mysqli.ini
/etc/php.d/pdo_mysql.ini
/usr/lib64/php/modules/mysql.so
/usr/lib64/php/modules/mysqli.so
/usr/lib64/php/modules/pdo_mysql.so
Mas geralmente será muito melhor usar o gerenciador de pacotes do seu host para instalar esses arquivos e mantê-los atualizados para você. Eu não acho que o php-mysql tenha algum script de instalação, mas muitos outros pacotes têm e se você apenas copiar os arquivos nesses scripts não serão executados.
pdo_mysql faz parte do código-fonte do PHP, mas as distros o dividem em um pacote separado dos pacotes PHP principais.