【问题标题】:Basic issue regarding MySQL, Azure, PHP and DigitalOcean关于 MySQL、Azure、PHP 和 DigitalOcean 的基本问题
【发布时间】:2017-01-19 22:26:25
【问题描述】:

我目前在 DigitalOcean 上设置了一个 Web 服务器,我一直在创建各种 Web 应用程序,现在我需要使用 php 连接到 Microsoft Azure 托管的数据库,它使用 PDO

try {
$conn = new PDO("sqlsrv:server = tcp:NAME.database.windows.net,1433; Database = DATABASE", "USERNAME", "PASS");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e) {
    print("Error connecting to SQL Server.");
    echo 'ERROR: ' . $e->getMessage();
    die(print_r($e));
}

结果如下:

Error connecting to SQL Server.ERROR: could not find driverPDOException Object ( [message:protected] => could not find driver [string:Exception:private] => [code:protected] => 0 [file:protected] => /var/www/html/angularv3/leon3.php [line:protected] => 3 [trace:Exception:private] => ... 

现在我打开控制台并输入以下内容以确保已安装完毕

sudo apt-get install php5-mysql

还是什么都没有,一定是我缺少一些重要的东西。是否可以从任何地方连接到 Azure 数据库?

【问题讨论】:

  • 不确定您使用的是什么数据库,您说的是“MySQL”,但连接字符串 (sqlsrv:server ...) 用于 SQL Server。
  • @AaronChen-MSFT 我的主管发送给我的消息是设置了一个 microsoft azure 数据库,我不知道如何使用我的基本 html/php 设置连接到该数据库

标签: php html mysql azure pdo


【解决方案1】:

你必须添加模块 pdo_mysql 并重启 apache

sudo apt-get update
sudo apt-get install pdo-mysql php5-mysql

如果在此之后您无法使用扩展程序,您可以检查您的 /etc/php5/apache2/php.ini 并确保它包括:

extension=pdo.so
extension=pdo_mysql.so

然后重启apache:

sudo service apache2 restart

注意:命令可能会有所不同,具体取决于 linux 发行版、php 版本和 apache 版本。

【讨论】:

  • 我都做了,但仍然没有改变:/有没有办法在本地设置这一切?
  • 当然可以。我不确定您对“有没有办法”的确切含义。你以前安装过linux吗?如果你是微软人,你安装过 wamp 或 xampp。
  • 我目前在 mac 上工作,我的个人托管服务上有一个 lunix 服务器,但我必须在本地开发这一切,然后找到一种方法来部署它。
  • 有些人在mac上使用mamp。我个人使用 vagrant(虚拟盒子)并在 AWS 中部署 CodeDeoploy 或在其他主机中部署 Git Webhooks。祝你的项目好运!顺便说一句,尝试联系 DigitalOcen 支持,他们可能会帮助您解决 PDO 错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-07
  • 2013-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多