我有一个 Azure 免费试用帐户。 这是我在 Azure 门户中拥有的内容(当然,此列表中的所有内容都是 Azure 资源):
- PHP Web 应用,安装了可用的 Laravel 框架
- 网络应用已连接(并自行更新)到 Bitbucket 存储库
- SQL 数据库(以及相关的 SQL 服务器)
现在的问题是,如何将 Laravel Web 应用程序与 SQL 数据库连接起来?
其他重要细节:
- 在解决方案中,我希望坚持免费计划(因此,请不要涉及更改 Azure 计划的解决方案);
- 我尝试在本地进行连接(来 self 在线获取的示例代码),但由于此错误而无法进行:
PHP fatal error :未捕获错误:调用未定义的函数 sqlsrv_connect()
我发现这个错误是因为我没有this驱动程序安装在本地。我什至没有尝试安装它,因为我的“真正用途”将来自 Azure 上的 Laravel 网站。
<小时/><?php
$serverName = "****.database.windows.net";
$connectionOptions = array(
"Database" => "****",
"Uid" => "admin-****",
"PWD" => "#####"
);
//Establishes the connection
$conn = sqlsrv_connect($serverName, $connectionOptions);
$tsql= "SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName
FROM [SalesLT].[ProductCategory] pc
JOIN [SalesLT].[Product] p
ON pc.productcategoryid = p.productcategoryid";
$getResults= sqlsrv_query($conn, $tsql);
echo ("Reading data from table" . PHP_EOL);
if ($getResults == FALSE)
echo (sqlsrv_errors());
while ($row = sqlsrv_fetch_array($getResults, SQLSRV_FETCH_ASSOC)) {
echo ($row['CategoryName'] . " " . $row['ProductName'] . PHP_EOL);
}
sqlsrv_free_stmt($getResults);
?>
最佳答案
我不知道你为什么在 laravel 中使用这段代码。
对于 Sql Server Connection laravel 提供的驱动程序,请根据您的情况使用它:
在配置文件夹>数据库文件中编辑这些:
'default' => env('DB_CONNECTION', 'mysql'),
至'默认'=>'sqlsrv',
如果您不想使用环境文件变量,请更新环境变量 反射(reflect)同样的情况。
更新此驱动程序值:
'连接' => [ 'sqlsrv' => [,
有关在 azure 上部署 Laravel 应用程序的更多帮助,请检查:https://medium.com/@coderonfleek/hosting-a-laravel-application-on-azure-web-app-b55e12514c46
关于php - 具有与 SQL Server 的 Laravel 连接的 Azure Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52640299/