我在Mac上连接到azure时遇到问题。我在这里阅读了很多文章,并为我的php.ini文件添加了多个扩展名,但似乎没有任何效果。我只想简单地运行此代码并连接到数据库。代码中的所有变量都具有正确的实际值。
目前它给了我以下错误:"PDOException Object ( [message:protected] => could not find driver".
我已经看过关于这个问题的多篇文章,并添加了对php.ini的扩展。我已粘贴以下所有内容供人检查。我现在也将PDO连接到我的服务器上。不幸的是,我不能在这里发布screemshot,但是在phpinfo()调用中我的pdo_mysql,pdo_pgsql,pdo_sqlite。
我真的很感激有关此事的任何信息和帮助。谢谢!
$server = "tcp:*********.database.windows.net,1433";
$user = "jus***@********";
$pwd = "password";
$db = "testdb";
try
{
$conn = new PDO( "sqlsrv:Server= $server ; Database = $db ", $user, $pwd);
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}
catch(Exception $e)
{
die(print_r($e));
}
;Extensions
;extension=apcu.so
extension=imap.so
extension=yaz.so
extension=mcrypt.so
extension=gettext.so
extension=pgsql.so
extension=pdo_pgsql.so
extension=pdo_mysql.so
extension=php_pdo.dll
extension=php_pdo_mysql.dll
extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_informix.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=imagick.so
答案 0 :(得分:0)
除了您在php.ini
中启用的扩展程序外,您还需要安装:
您还必须确保没有使用错误的php.ini
在连接字符串中避免使用这些空格,如果有的话,请抓住PDOException
。
$server = "tcp:*********.database.windows.net,1433";
$user = "jus***@********";
$pwd = "password";
$db = "testdb";
$dsn = "sqlsrv:Server=$server;Database=$db";
try {
$conn = new PDO($dsn, $user, $pwd );
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
} catch (PDOException $e) {
die(print_r($e));
}