Udostępnij za pośrednictwem


Tworzenie aplikacji internetowej w języku PHP w usłudze aplikacja systemu Azure

Ostrzeżenie

Język PHP w systemie Windows osiągnął koniec wsparcia w listopadzie 2022 r. Język PHP jest obsługiwany tylko w przypadku usługi App Service w systemie Linux. Ten artykuł dotyczy tylko informacji referencyjnych.

Usługa Azure App Service oferuje wysoce skalowalną i samonaprawialną usługę hostingu w Internecie. W tym szybkim starcie pokazano, jak wdrożyć aplikację PHP w usłudze Azure App Service na Windows.

Aplikacja internetowa zostanie utworzona przy użyciu interfejsu wiersza polecenia platformy Azure w usłudze Cloud Shell, a przykład kodu w języku PHP zostanie wdrożony w aplikacji internetowej za pomocą usługi Git.

Przykładowa aplikacja działająca na platformie Azure

Poniższe kroki możesz wykonać przy użyciu komputera z systemem Mac, Windows lub Linux. Po zainstalowaniu wymagań wstępnych wykonanie czynności trwa około pięciu minut.

Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Wymagania wstępne

Aby ukończyć ten szybki start:

Pobierz przykład lokalnie

  1. W oknie terminalu uruchom następujące polecenia. Sklonuje przykładową aplikację na komputer lokalny i przejdzie do katalogu zawierającego przykładowy kod.

    git clone https://github.com/Azure-Samples/php-docs-hello-world
    cd php-docs-hello-world
    
  2. Upewnij się, że gałąź domyślna to main.

    git branch -m main
    

    Napiwek

    Zmiana nazwy gałęzi nie jest wymagana przez usługę App Service. Jednak ponieważ wiele repozytoriów zmienia swoją domyślną gałąź na main, ten przewodnik szybkiego startu pokazuje również, jak wdrożyć repozytorium z main.

Lokalne uruchamianie aplikacji

  1. Uruchom aplikację lokalnie, aby zobaczyć, jak powinna ona wyglądać, gdy wdrożysz ją na platformie Azure. Otwórz okno terminala i użyj polecenia php w celu uruchomienia wbudowanego serwera internetowego środowiska PHP.

    php -S localhost:8080
    
  2. Otwórz przeglądarkę internetową i przejdź do przykładowej aplikacji pod adresem http://localhost:8080.

    Zostanie wyświetlony komunikat Hello World! z przykładowej aplikacji wyświetlanej na stronie.

    Przykładowa aplikacja działająca w środowisku lokalnym

  3. W oknie terminalu naciśnij kombinację klawiszy Ctrl + C, aby zamknąć serwer sieci Web.

Azure Cloud Shell

Na platformie Azure jest hostowany Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell. Aby uruchomić kod w tym artykule, możesz użyć wstępnie zainstalowanych poleceń usługi Cloud Shell bez konieczności instalowania niczego w środowisku lokalnym.

Aby uruchomić środowisko Azure Cloud Shell:

Opcja Przykład/link
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu lub polecenia. Wybranie pozycji Wypróbuj nie powoduje automatycznego skopiowania kodu lub polecenia do usługi Cloud Shell. Zrzut ekranu przedstawiający przykład narzędzia Try It dla usługi Azure Cloud Shell.
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. Przycisk uruchamiania usługi Azure Cloud Shell.
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. Zrzut ekranu przedstawiający przycisk usługi Cloud Shell w witrynie Azure Portal

Aby użyć usługi Azure Cloud Shell:

  1. Uruchom usługę Cloud Shell.

  2. Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.

  3. Wklej kod lub polecenie do sesji usługi Cloud Shell, wybierając Ctrl++V w systemie macOS.

  4. Wybierz Enter, aby uruchomić kod lub polecenie.

Konfigurowanie użytkownika wdrożenia

Protokół FTP i lokalna usługa Git może zostać wdrożona w aplikacji internetowej platformy Azure przy użyciu użytkownika wdrożenia. Po skonfigurowaniu użytkownika wdrożenia możesz go użyć dla wszystkich wdrożeń platformy Azure. Nazwa użytkownika i hasło wdrożenia na poziomie konta różnią się od poświadczeń subskrypcji platformy Azure.

Aby skonfigurować użytkownika wdrożenia, uruchom polecenie az webapp deployment user set w konsoli Azure Cloud Shell. Zastąp <nazwę użytkownika> i <hasło> danymi użytkownika wdrożeniowego: nazwą użytkownika i hasłem.

  • Nazwa użytkownika musi być unikatowa w usłudze Azure, a dla lokalnych operacji push Git nie może zawierać symbolu "@".
  • Hasło musi mieć długość co najmniej ośmiu znaków, z dwoma z następujących trzech elementów: literami, cyframi i symbolami.
az webapp deployment user set --user-name <username> --password <password>

Dane wyjściowe JSON zawierają hasło jako null. Jeśli wystąpił błąd 'Conflict'. Details: 409, zmień nazwę użytkownika. Jeśli wystąpił błąd 'Bad Request'. Details: 400, użyj silniejszego hasła.

Zarejestruj swoją nazwę użytkownika i hasło do użycia w celu wdrożenia aplikacji internetowych.

Tworzenie grupy zasobów

Grupa zasobów to logiczny kontener, w którym są wdrażane i zarządzane zasoby platformy Azure, takie jak aplikacje internetowe, bazy danych i konta magazynu. Na przykład można później usunąć całą grupę zasobów w jednym prostym kroku.

W usłudze Cloud Shell utwórz grupę zasobów za pomocą polecenia az group create. Poniższy przykład obejmuje tworzenie grupy zasobów o nazwie myResourceGroup w lokalizacji West Europe (Europa Zachodnia). Aby wyświetlić wszystkie obsługiwane lokalizacje dla usługi App Service w warstwie Bezpłatna, uruchom polecenie az appservice list-locations --sku FREE.

az group create --name myResourceGroup --location "West Europe"

Zwykle tworzysz swoją grupę zasobów i zasoby w regionie blisko ciebie.

Po zakończeniu działania polecenia zostaną wyświetlone dane wyjściowe JSON z właściwościami grupy zasobów.

Tworzenie planu usługi Azure App Service

W usłudze Cloud Shell utwórz plan usługi App Service za pomocą polecenia az appservice plan create.

W poniższym przykładzie jest tworzony plan usługi App Service o nazwie myAppServicePlan przy użyciu warstwy cenowej Bezpłatna:

az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku FREE --is-linux

Po utworzeniu planu usługi App Service interfejs wiersza polecenia platformy Azure wyświetli informacje podobne do następujących:

{ 
  "freeOfferExpirationTime": null,
  "geoRegion": "West Europe",
  "hostingEnvironmentProfile": null,
  "id": "/subscriptions/0000-0000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan",
  "kind": "linux",
  "location": "West Europe",
  "maximumNumberOfWorkers": 1,
  "name": "myAppServicePlan",
  < JSON data removed for brevity. >
  "targetWorkerSizeId": 0,
  "type": "Microsoft.Web/serverfarms",
  "workerTierName": null
} 

Tworzenie aplikacji internetowej

  1. W usłudze Cloud Shell utwórz aplikację internetową w planie usługi App Service myAppServicePlan za pomocą polecenia az webapp create.

    W poniższym przykładzie zastąp ciąg <app-name> globalnie unikatową nazwą aplikacji (prawidłowe znaki to a-z, 0-9 i -). Czas wykonywania jest ustawiony na PHP|7.4. Aby wyświetlić wszystkie obsługiwane środowiska uruchomieniowe, uruchom az webapp list-runtimes.

    az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --runtime 'PHP|8.1' --deployment-local-git
    

    Po utworzeniu aplikacji internetowej w interfejsie wiersza polecenia platformy Azure zostaną wyświetlone dane wyjściowe podobne do następujących:

     Local git is configured with url of <URL>
     {
       "availabilityState": "Normal",
       "clientAffinityEnabled": true,
       "clientCertEnabled": false,
       "cloningInfo": null,
       "containerSize": 0,
       "dailyMemoryTimeQuota": 0,
       "defaultHostName": "<app-name>.azurewebsites.net",
       "enabled": true,
       < JSON data removed for brevity. >
     }
     

    Utworzono pustą nową aplikację internetową z włączonym wdrażaniem usługi Git.

    Uwaga

    Zdalny adres URL repozytorium Git jest wyświetlany we właściwości o nazwie deploymentLocalGitUrl. Zapisz ten adres URL, ponieważ będzie on potrzebny później.

  2. Przejdź do nowo utworzonej aplikacji internetowej.

    Oto, jak powinna wyglądać nowa aplikacja internetowa:

    Pusta strona aplikacji internetowej

Przesyłanie z Git na Azure

  1. Ponieważ wdrażasz gałąź main, musisz ustawić domyślną gałąź wdrożenia dla aplikacji usługi App Service na main (zobacz Zmienianie gałęzi wdrażania). W usłudze Cloud Shell ustawienie aplikacji DEPLOYMENT_BRANCH za pomocą polecenia az webapp config appsettings set.

    az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings DEPLOYMENT_BRANCH='main'
    
  2. W lokalnym oknie terminala dodaj zdalne repozytorium Azure do lokalnego repozytorium Git. Zastąp <deploymentLocalGitUrl-from-create-step> adresem URL zdalnego repozytorium Git, który zapisałeś w Tworzeniu aplikacji internetowej.

    git remote add azure <deploymentLocalGitUrl-from-create-step>
    
  3. Wypchnij na zdalną platformę Azure w celu wdrożenia aplikacji za pomocą następującego polecenia. Gdy menedżer poświadczeń usługi Git wyświetli monit o podanie poświadczeń, upewnij się, że wprowadzono poświadczenia utworzone w sekcji Konfigurowanie lokalnego wdrożenia usługi Git, a nie poświadczenia używane do logowania się w witrynie Azure Portal.

    git push azure main
    

    Uruchomienie tego polecenia może potrwać kilka minut. Podczas uruchamiania wyświetla informacje podobne do następującego przykładu:

  Counting objects: 2, done.
  Delta compression using up to 4 threads.
  Compressing objects: 100% (2/2), done.
  Writing objects: 100% (2/2), 352 bytes | 0 bytes/s, done.
  Total 2 (delta 1), reused 0 (delta 0)
  remote: Updating branch 'main'.
  remote: Updating submodules.
  remote: Preparing deployment for commit id '25f18051e9'.
  remote: Generating deployment script.
  remote: Running deployment command...
  remote: Handling Basic Web Site deployment.
  remote: Kudu sync from: '/home/site/repository' to: '/home/site/wwwroot'
  remote: Copying file: '.gitignore'
  remote: Copying file: 'LICENSE'
  remote: Copying file: 'README.md'
  remote: Copying file: 'index.php'
  remote: Ignoring: .git
  remote: Finished successfully.
  remote: Running post deployment command(s)...
  remote: Deployment successful.
  To <URL>
      cc39b1e..25f1805  main -> main
  

Przechodzenie do aplikacji

Przejdź do wdrożonej aplikacji za pomocą przeglądarki sieci Web.

Przykładowy kod w języku PHP jest uruchamiany w aplikacji internetowej usługi Azure App Service.

Przykładowa aplikacja działająca na platformie Azure

Gratulacje! Udało Ci się wdrożyć pierwszą własną aplikację w języku PHP w usłudze App Service.

Lokalne aktualizowanie i ponowne wdrażanie kodu

  1. Za pomocą lokalnego edytora tekstów otwórz plik index.php w aplikacji w języku PHP i wprowadź niewielką zmianę w tekście ciągu obok polecenia echo:

    echo "Hello Azure!";
    
  2. W oknie lokalnego terminala zatwierdź zmiany w usłudze Git, a następnie wypchnij zmiany kodu na platformę Azure.

    git commit -am "updated output"
    git push azure main
    
  3. Po zakończeniu wdrożenia wróć do okna przeglądarki otwartego w kroku przechodzenia do aplikacji, a następnie odśwież stronę.

    Zaktualizowana przykładowa aplikacja działająca na platformie Azure

Zarządzanie nową aplikacją platformy Azure

  1. Przejdź do witryny Azure Portal, aby zarządzać utworzoną aplikacją internetową. Wyszukaj i wybierz pozycję App Services.

    Wyszukaj usługę App Services, witrynę Azure Portal, utwórz aplikację internetową w języku PHP

  2. Wybierz nazwę aplikacji platformy Azure.

    Nawigacja w portalu do aplikacji platformy Azure

    Zostanie wyświetlona strona Przegląd aplikacji internetowej. W tym miejscu możesz wykonywać podstawowe zadania zarządzania, takie jak Przeglądanie, zatrzymywanie, ponowne uruchamianie i usuwanie.

    Strona usługi App Service w witrynie Azure Portal

    Menu aplikacji internetowej zawiera różne opcje konfigurowania aplikacji.

Czyszczenie zasobów

W poprzednich krokach utworzono zasoby platformy Azure w grupie zasobów. Jeśli te zasoby nie będą raczej potrzebne w przyszłości, usuń grupę zasobów, uruchamiając następujące polecenie w usłudze Cloud Shell:

az group delete --name myResourceGroup

Wykonanie tego polecenia może potrwać około minutę.

Azure App Service zapewnia wysoce skalowalną, samodzielną usługę poprawek dla hostingu internetowego. W tym przewodniku pokazano, jak wdrożyć aplikację PHP w Azure App Service na Linuxie.

Zrzut ekranu przedstawiający przykładową aplikację działającą na platformie Azure.

Poniższe kroki możesz wykonać przy użyciu komputera z systemem Mac, Windows lub Linux. Po zainstalowaniu wymagań wstępnych wykonanie kroków zajmuje około dziesięciu minut.

Wymagania wstępne

Pobierz przykładowe repozytorium

W poniższych krokach utworzysz aplikację internetową przy użyciu interfejsu wiersza polecenia platformy Azure, a następnie wdrożysz przykładowy kod PHP w aplikacji internetowej.

Możesz użyć usługi Azure Cloud Shell.

  1. W oknie terminalu uruchom następujące polecenia, aby sklonować przykładową aplikację na maszynę lokalną i przejść do katalogu głównego projektu.

    git clone https://github.com/Azure-Samples/php-docs-hello-world
    cd php-docs-hello-world
    
  2. Aby uruchomić aplikację lokalnie, użyj php polecenia , aby uruchomić wbudowany serwer internetowy PHP.

    php -S localhost:8080
    
  3. Przejdź do przykładowej aplikacji w http://localhost:8080 przeglądarce internetowej.

    Zrzut ekranu przedstawiający przykładową aplikację działającą lokalnie.

  4. W oknie terminalu naciśnij kombinację klawiszy Ctrl + C, aby zamknąć serwer sieci Web.

Wdrażanie kodu aplikacji na platformie Azure

Interfejs wiersza polecenia platformy Azure zawiera polecenie az webapp up , które tworzy niezbędne zasoby i wdraża aplikację w jednym kroku.

W terminalu wdróż kod w folderze lokalnym przy użyciu az webapp up polecenia :

az webapp up --runtime "PHP:8.2" --os-type=linux
  • az Jeśli polecenie nie zostało rozpoznane, upewnij się, że masz zainstalowany interfejs wiersza polecenia platformy Azure.
  • Argument --runtime "PHP:8.2" tworzy aplikację internetową z językiem PHP w wersji 8.2.
  • Argument --os-type=linux tworzy aplikację internetową w App Service dla systemu Linux.
  • Opcjonalnie możesz określić nazwę z argumentem --name <app-name>. Jeśli go nie podasz, zostanie automatycznie wygenerowana nazwa.
  • Opcjonalnie możesz dołączyć argument --location <location-name> , w którym <location_name> jest dostępny region platformy Azure. Listę dozwolonych regionów dla konta platformy Azure można pobrać, uruchamiając az account list-locations polecenie .
  • Jeśli zostanie wyświetlony komunikat o błędzie Nie można automatycznie wykryć stosu środowiska uruchomieniowego aplikacji, upewnij się, że uruchamiasz polecenie w katalogu kodu. Aby dowiedzieć się więcej, zobacz Rozwiązywanie problemów z automatycznym wykrywaniem przy użyciu az webapp up.

Wykonanie tego polecenia może potrwać kilka minut. Gdy jest uruchomiona, udostępnia komunikaty o tworzeniu grupy zasobów, planie usługi App Service i zasobie aplikacji, konfigurowaniu rejestrowania i wdrażaniu pliku ZIP. Następnie podaje adres URL aplikacji na platformie Azure.

The webapp '<app-name>' doesn't exist
Creating Resource group '<group-name>' ...
Resource group creation complete
Creating AppServicePlan '<app-service-plan-name>' ...
Creating webapp '<app-name>' ...
Configuring default logging for the app, if not already enabled
Creating zip with contents of <directory-location> ...
Getting scm site credentials for zip deployment
Starting zip deployment. This operation can take a while to complete ...
Deployment endpoint responded with status code 202
You can launch the app at http://<app-name>.azurewebsites.net
{
  "URL": "http://<app-name>.azurewebsites.net",
  "appserviceplan": "<app-service-plan-name>",
  "location": "centralus",
  "name": "<app-name>",
  "os": "linux",
  "resourcegroup": "<group-name>",
  "runtime_version": "php|8.2",
  "runtime_version_detected": "0.0",
  "sku": "FREE",
  "src_path": "<directory-path>"
}

Uwaga

Polecenie az webapp up wykonuje następujące akcje:

  • Utwórz domyślną grupę zasobów.

  • Utwórz domyślny plan usługi App Service.

  • Utwórz aplikację o określonej nazwie.

  • Wdróż przy użyciu Zip wszystkie pliki z bieżącego katalogu roboczego, z włączoną automatyzacją budowania.

  • Buforuj parametry lokalnie w pliku .azure/config , aby nie trzeba było ich ponownie określać podczas wdrażania później za pomocą az webapp up polecenia lub innych az webapp poleceń z folderu projektu. Buforowane wartości są domyślnie używane automatycznie.

Przejdź do wdrożonej aplikacji w przeglądarce internetowej pod adresem URL podanym w terminalu.

Przykładowy kod PHP jest uruchomiony w usłudze aplikacja systemu Azure.

Zrzut ekranu przedstawiający przykładową aplikację działającą na platformie Azure przedstawiającą funkcję Hello World.

Gratulacje! Twoja pierwsza aplikacja PHP została wdrożona w usłudze App Service za pomocą Azure Portal.

Aktualizowanie i ponowne wdrażanie aplikacji

  1. Znajdź katalog php-docs-hello-world i otwórz plik index.php za pomocą lokalnego edytora tekstu. Wprowadź niewielką zmianę w tekście w ciągu obok echo:

    echo "Hello Azure!";
    
  2. Zapisz zmiany, a następnie ponownie wdróż aplikację przy użyciu polecenia az webapp up z następującymi argumentami:

    az webapp up --runtime "PHP:8.2" --os-type=linux
    
  3. Po zakończeniu wdrażania wróć do okna przeglądarki otwartego podczas kroku Przeglądaj do aplikacji i odśwież stronę.

    Zrzut ekranu zaktualizowanej przykładowej aplikacji działającej na platformie Azure.

Zarządzanie nową aplikacją platformy Azure

  1. Przejdź do witryny Azure Portal, aby zarządzać utworzoną aplikacją internetową. Wyszukaj i wybierz pozycję App Services.

    Zrzut ekranu przedstawiający Azure Portal z usługami App Services wpisanymi w polu tekstowym wyszukiwania.

  2. Wybierz aplikację platformy Azure, aby ją otworzyć.

    Zrzut ekranu przedstawiający listę App Services na platformie Azure. Nazwa demonstracyjnej usługi App Service jest wyróżniona.

    Powinna zostać wyświetlona strona Przegląd aplikacji internetowej. W tym miejscu możesz wykonywać podstawowe zadania zarządzania, takie jak Przeglądanie, zatrzymywanie, ponowne uruchamianie i usuwanie.

    Zrzut ekranu przedstawiający stronę przeglądu App Service w portalu Azure. Na pasku akcji jest wyróżniona grupa przycisków Przeglądaj, Zatrzymaj, Zamień, Uruchom ponownie i Usuń.

    Menu aplikacji internetowej zawiera różne opcje konfigurowania aplikacji.

Czyszczenie zasobów

Po zakończeniu pracy z przykładową aplikacją możesz usunąć wszystkie zasoby aplikacji z platformy Azure, aby uniknąć dodatkowych opłat i zachować porządek w subskrypcji platformy Azure. Usunięcie grupy zasobów spowoduje również usunięcie wszystkich zasobów w grupie zasobów i jest najszybszym sposobem usunięcia wszystkich zasobów platformy Azure dla aplikacji.

Usuń grupę zasobów przy użyciu polecenia az group delete .

az group delete --name myResourceGroup

Uruchomienie tego polecenia trwa minutę.