2016-05-16 89 views
3

部署應用程序後,我更改了我的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有一個錯誤,它顯示了同樣的錯誤。

enter image description here

任何人都知道如何管理,使這項工作?

回答

2

您是否啓用了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的擴展名。

更新

由於庫sqlsrvpdo sqlsrv爲PHP 7現已上市。請嘗試以下到Azure上的Web應用程序啓用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應用程序需要X86與NTS版本。請使用圖書館msphpsql-PHP-7.0\binaries\x86你之前解壓縮,並使用php_sqlsrv_7_nts.dllphp_pdo_sqlsrv_7_nts.dll
  3. 配置設置後重新啓動站點。

任何進一步的關注,請隨時讓我知道。

+0

我使用的是php7,sqlsrv擴展名仍然不可用:/ –

+0

我無法使用我的應用只能運行在php7中。你沒有解決辦法,我只想等待。感謝您的幫助gary –

+1

對不起,我發現PHP 7的庫現在可用。請參閱更新。 –