sqlsrv在azure上找不到驱动程序laravel
问题描述:
部署应用程序后,我更改了我的env文件以匹配已启动并已在运行的sql服务器的连接凭据。sqlsrv在azure上找不到驱动程序laravel
当我访问的网站
> 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', '[email protected]', 'xxxxxx', array('0', '2', '0', false)) in Connector.php
> line 55
我试图从蔚蓝的门打开控制台,写php artisan migrate
有一个错误,它显示了同样的错误。
任何人都知道如何管理,使这项工作?
答
您是否启用了Azure上的php_sqlsrv
和php_pdo_sqlsrv
扩展?您可以使用phpinfo()
来检查Azure上PHP运行时的变量和扩展。
默认情况下,DLL库php_sqlsrv
和php_pdo_sqlsrv
已安装在Azure上的PHP ext文件夹中,但尚未在PHP运行时配置。所以我们需要手动配置扩展名:
- 在Azure上应用程序的根目录下创建一个名为
.user.ini
的文件。 -
写
.user.ini
以下内容:extension=php_pdo_sqlsrv.dll extension=php_sqlsrv.dll
重新启动应用程序。再次检查
sqlsrv
和pdo_sqlsrv
的扩展名。
更新
由于库sqlsrv
和pdo sqlsrv
为PHP 7现已上市。请尝试以下到Azure上的Web应用程序启用PHP 7 SQLSRV扩展:
- 从https://github.com/Azure/msphpsql/tree/PHP-7.0下载扩展包PHP 7,解压缩为以下使用。
- 遵循的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应用程序需要X86与NTS版本。请使用图书馆
msphpsql-PHP-7.0\binaries\x86
你之前解压缩,并使用php_sqlsrv_7_nts.dll
和php_pdo_sqlsrv_7_nts.dll
) - 配置设置后重新启动站点。
任何进一步的关注,请随时让我知道。
我使用的是php7,sqlsrv扩展名仍然不可用:/ –
我无法使用我的应用只能运行在php7中。你没有解决办法,我只想等待。感谢您的帮助gary –
对不起,我发现PHP 7的库现在可用。请参阅更新。 –