Não é possível conectar o PHP com o Mysql usando o PDO

1

Depois de compilar a digitação php

./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-pdo-mysql

Eu consegui me conectar com sucesso ao banco de dados, mas depois habilitei as extensões openssl e mbstring

eu digitei

./configure --with-openssl --with-apxs2=/usr/local/apache2/bin/apxs

e

./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable--mbstring --with-libmbfl

Agora não estou habilitado para conectar o php com o mysql.

Este é o código que estou usando:

?php
$username = "phptest";
$servername = "localhost";
$password = "cucaramacara";
$dbname = "phpsampledb";


try{
  $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password$
  //set the PDO
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  echo "Connected succesfully";
}
catch(PDOException $e){
        echo "Connection failed:".$e->getMessage();
}

?>

Quando digito php no terminal exibido:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-zts-20131226/pdo_mysql.so' - /usr/local/lib/php/extensions/no-debug-zts-20131226/pdo_mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0

    
por ericgramirez 24.06.2015 / 21:01

1 resposta

2

Como yoonix observou, você está Fazendo errado : o script configure deve ser executado UMA VEZ com ALL das opções que você deseja especificar:

./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-pdo-mysql \
             --with-openssl --enable--mbstring --with-libmbfl

Chamadas para configure não são cumulativas - elas sobrescrevem umas às outras. O último ganha.

Cada opção para configurar especifica uma mudança de qualquer padrão do fornecedor, então o que você está fazendo na sua descrição está dizendo configure o seguinte:

./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-pdo-mysql

Please prepare to build PHP. Use all of the default settings, except I want to use the PDO MySQL driver.

então configure prepara uma compilação com o driver PDO MySQL. Então você diz para isso% ./configure --with-openssl --with-apxs2=/usr/local/apache2/bin/apxs

Please prepare to build PHP. Use all of the default settings, except I want OpenSSL enabled.

então configure prepara uma compilação com o OpenSSL ativado, e todos os outros padrões (adeus PDO driver MySQL, já que não é o comportamento padrão ).

Então você diz a ela% ./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable--mbstring --with-libmbfl

Please prepare to build PHP. Use all of the default settings except enable multibyte strings and libmfl.

então configure prepara uma compilação com essas opções - No PDO (já que não é um padrão), e eu acho que não OpenSSL (porque eu não acho que é um padrão também).

Quando você executar make cada vez que estiver criando apenas as opções especificadas na última vez em que executou configure .

    
por 25.06.2015 / 19:11

Tags