繁体   English   中英

sqlsrv在azure上找不到司机laravel

[英]sqlsrv could not find driver laravel on azure

部署应用程序后,我更改了我的env文件以匹配已启动且已在运行的sql server的连接凭据。

我访问该网站时出错

> PDOException in Connector.php line 55: could not find driver in
> Connector.php line 55 at
> PDO->__construct('sqlsrv:Server=xxxx.database.windows.net;Database=xxxx', 'xxxx@xxxx', 'xxxxxx', array('0', '2', '0', false)) in Connector.php
> line 55

我尝试从azure portal打开控制台并编写php artisan migrate ,它显示了同样的错误。

在此输入图像描述

任何人都知道如何才能使这项工作成功?

你在Azure上启用了php_sqlsrvphp_pdo_sqlsrv扩展吗? 您可以使用phpinfo()检查Azure上PHP运行时的变量和扩展。

默认情况下,DLL库php_sqlsrvphp_pdo_sqlsrv已安装在Azure上的PHP ext文件夹中,但尚未在PHP运行时中配置。 所以我们需要手动配置扩展:

  1. 在Azure上的应用程序的根目录中创建名为.user.ini的文件。
  2. .user.ini写下以下内容:

     extension=php_pdo_sqlsrv.dll extension=php_sqlsrv.dll 
  3. 重启您的申请。 再次检查sqlsrvpdo_sqlsrv的扩展名。

更新

因为PHP 7的库sqlsrvpdo sqlsrv现在可用。 请尝试以下操作在Azure Web Apps上启用PHP 7的sqlsrv扩展:

  1. https://github.com/Azure/msphpsql/tree/PHP-7.0下载PHP 7的扩展包,解压缩以供以下使用。
  2. 按照https://azure.microsoft.com/en-us/documentation/articles/web-sites-php-configure/#how-to-enable-extensions-in-the-default-php-runtime的指南进行上传DLL库和PHP运行时配置。(默认情况下,Azure Web App需要带有nts版本的X86。请使用之前解压缩的msphpsql-PHP-7.0\\binaries\\x86的库,并使用php_sqlsrv_7_nts.dllphp_pdo_sqlsrv_7_nts.dll
  3. 配置设置后重新启动站点。

如有任何疑问,请随时告诉我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM