備忘錄_20160105(定位) 修改 回首頁

程式 2017-11-16 02:22:00 1510770120 100
再次試用 Windows Azure

再次試用 Windows Azure
測試首頁

01.申請 Windows Azure 免費試用帳戶 (一組微軟帳號、一張信用卡)

 

02.從 https://portal.azure.com/ 登入

 

03.New→Web App

App name:liujiaje (.azurewebsites.net)

Subscription:......

Resource Group:Create new:liujiajeResources

OS:Windows

App Service plan/Location:Create new→ServicePlana3c2506d-99f2(S1)(New) Central US

Application Insights:Off

勾選 Pin to dashboard

Create

等待一段時間後就完成了

可以抄一下登入 ftp 的帳號與密碼以及網站首頁

 

04.變更 php 的版本,調整設定

All resources→liujiaje(App Service)→SETTINGS→Application settings→PHP version:7.0→Save

建立 .user.ini ,裡面寫上 display_errors=On,存檔,上傳到 /site/wwwroot。這樣有錯誤發生的時候,可以看到較詳細的錯誤訊息。

All resources→liujiaje(App Service)→Overview→Restart→Yes 重新整理服務,這樣 .user.ini 的設定可以馬上套用

 

05.測試

建立 phpinfo.php 裡面就呼叫 phpinfo(); ,測試看看。例如 http://liujiaje.azurewebsites.net/phpinfo.php

建立 index.php 並寫入程式碼,這個可以變成首頁。

 

06.加入其他擴充元件(以 mongodb 為例)

 

建立 d:\home\site\ext

從 http://pecl.php.net/package/mongodb 下載 php_mongodb.dll (注意:non-thread-safe,vc##,x86/x64)(對應的資訊請參考 phpinfo )

把 dll 上傳到 ext 中,例如 php_mongodb.dll

 

建立 d:\home\site\ini

建立 extensions.ini 裡面寫上 extension=d:\home\site\ext\php_mongodb.dll 存檔並上傳到 d:\home\site\ini 中

 

All resources→liujiaje(App Service)→SETTINGS→Application settings→App settings:Key(PHP_INI_SCAN_DIR),Value(d:\home\site\ini)→Save

重新啟動 App Service 服務,再執行 phpinfo ,就可以看到 mongodb 正確啟動了

 

07.加入其他擴充元件所需要的SDK(以 mongodb 為例)

 

先加入 Composer。All resources→liujiaje(App Service)→DEVELOPMENT TOOLS→Extensions→Add→選取 Composer→OK→OK

 

All resources→liujiaje(App Service)→DEVELOPMENT TOOLS→Extensions→Composer→Browse→DebugConsole (可以神奇的在網頁上執行 命令列模式)

在命令列模式(Kudu Remote Execution Console)底下執行下面指令(用 linux 指令)

cd site→cd wwwroot→ls -al→composer require mongodb/mongodb→等畫面回應成功→這樣 SDK 也安裝完畢

 

08.安裝 Azure Cosmos DB 的 mongodb

 

New→Cosmos DB

ID:liujiaje

API:MongoDB

Subscription:......

ResourceGroup:Use existing:liujiajeResources

Location:Central US

勾選 Pin to dashboard

Create

等待一段時間後就完成了

選點 SETTINGS→Connection String→可以抄一下 connection string

 

09.寫一個 mongodb.php,上傳到 wwwroot 中並測試即完成

 

參考程式碼如下

 

<?php

 

// echo extension_loaded("mongodb") ? "loaded" : "not loaded";

// echo '<br />' . "\r\n";

require 'vendor/autoload.php';

 

$client = new MongoDB\Client("mongodb://liujiaje:......liujiaje.documents.azure.com:#####/?ssl=true&replicaSet=globaldb");

$collection = $client->demo->beers;

 

$result = $collection->insertOne( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );

 

echo "Inserted with Object ID '{$result->getInsertedId()}'";

?>