Jadual Kandungan
Déploiement
Keputusan
Rumah pembangunan bahagian belakang tutorial php Bagaimana untuk menjalankan PHP pada seni bina AWS ServerLess? Bahagian memperkenalkan masa jalan Bref

Bagaimana untuk menjalankan PHP pada seni bina AWS ServerLess? Bahagian memperkenalkan masa jalan Bref

Oct 07, 2024 pm 10:11 PM

Dans l'article précédent de cette série, j'ai discuté des services sans serveur et de ce qu'est Lambda. Il est maintenant temps de montrer comment des scripts PHP ou même des applications complètes peuvent s'exécuter sur AWS Lambda.

Dans cet article, j'explique comment utiliser le runtime Bref et partager un référentiel contenant un exemple d'implémentation, en utilisant l'application de démonstration Symfony et Terraform.

Voilà Bref !

Matthieu Napoli, consultant indépendant et AWS Serverless Hero, a présenté Bref en 2018 et, depuis lors, Bref a prospéré, traitant plus de 40 000 000 000 d'invocations en juillet, avec une croissance de 300 % d'une année sur l'autre.

How to run PHP on AWS ServerLess architecture ? Part  introducing Bref runtime

Comment fonctionne Bref ?

Bref est un runtime Lambda personnalisé. Ou plutôt les durées d'exécution, car il se décline en trois versions.

  • Le premier est conçu pour exécuter des applications Web. Bref capturera les événements API Gateway et les convertira en requêtes FastCGI (le même type de requêtes que les serveurs Web comme httpd ou nginx d'Apache feront au processus PHP FPM) ; il exécute également le processus PHP FPM pour vous. De cette façon, votre application peut rester presque totalement inchangée (il vous suffit d'importer le package bref/bref composer). Toutes les fonctionnalités PHP standard, telles que l'accès au contenu des requêtes Web avec la variable magique $_POST, fonctionnent.
  • Le second est conçu pour fonctionner de manière asynchrone. Les fonctions AWS Lambda peuvent traiter toutes sortes d'événements générés par AWS ou personnalisés. Dans ce cas, votre fonction PHP doit être écrite avec une méthode de gestionnaire, c'est-à-dire un appelable PHP qui prend $event comme argument.
  • Un troisième runtime permet d'exécuter une commande CLI, telle que php bin/console doctrine:database:create

How to run PHP on AWS ServerLess architecture ? Part  introducing Bref runtime

Quel type d'application puis-je exécuter avec Bref ?

Presque tous les types d'applications PHP fonctionnent avec Bref. La documentation propose de jolis tutoriels basés sur Laravel et Symfony.

Adapter une application existante est assez simple (par exemple, Bref fournit une jolie bibliothèque bref/symfony-messenger pour adapter Symfony Messenger pour utiliser SQS plutôt que son bus interne - rappel : les environnements d'exécution ne gèrent qu'une seule requête simultanément et sont éphémères, donc pousser les données vers un bus interne de courte durée est la recette de la perte de données).

La seule limitation, vraiment, est si vous avez besoin d'une réactivité extrême (comme 100% de vos requêtes servies en 10 ms). En effet, le framework ajoute 230 ms de démarrage à froid. Néanmoins, comme indiqué dans l'article précédent de cette série, en utilisant la simultanéité provisionnée, vous pouvez atténuer ce problème (et si vous voulez le faire sans trop dépenser, la mise à l'échelle automatique des applications est votre documentation de référence).

How to run PHP on AWS ServerLess architecture ? Part  introducing Bref runtime

Comment déployer une application basée sur Bref

Les documentations Symfony/Larevel mentionnées ci-dessus utilisent le framework de déploiement sans serveur pour déployer des applications PHP basées sur Bref.

D'autres articles (ici et ici) explorent le CDK comme option de déploiement.

Je suis plutôt un fan de Terraform, je suis donc heureux de partager ci-dessous un référentiel entièrement fonctionnel utilisant Terraform comme option de déploiement.

Approche étape par étape pour créer et déployer une application PHP sur Lambda à l'aide de Terraform

Cela ne prend que 8 étapes simples

How to run PHP on AWS ServerLess architecture ? Part  introducing Bref runtime

Un dépôt GitHub

Dans le référentiel GitHub suivant, je partage une configuration entièrement fonctionnelle pour déployer cette application :

How to run PHP on AWS ServerLess architecture ? Part  introducing Bref runtime psantus / php-serverless-lambda-bref-terraform

PHP sur AWS Lambda avec framework Bref, déployé avec Terraform

Ce référentiel montre comment

  • instrumenter une application de démonstration Symfony avec le framework Bref, qui fournit un runtime Lambda pour PHP.
  • déployer l'application avec Terraform.

Déploiement

Selepas log masuk ke AWS dengan CLI anda, jalankan sahaja

terraform apply
Salin selepas log masuk

Fail data.sql mengandungi data yang diperlukan untuk menyemai pangkalan data Aurora. Anda boleh menggunakan ia dengan benteng.

Keputusan

How to run PHP on AWS ServerLess architecture ? Part  introducing Bref runtime How to run PHP on AWS ServerLess architecture ? Part  introducing Bref runtime


Lihat di GitHub


Nantikan siaran seterusnya saya tentang Cara menggunakan kod PHP pada Lambda menggunakan Penyesuai Web Lambda!

Atas ialah kandungan terperinci Bagaimana untuk menjalankan PHP pada seni bina AWS ServerLess? Bahagian memperkenalkan masa jalan Bref. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1673
14
Tutorial PHP
1278
29
Tutorial C#
1257
24
Terangkan hashing kata laluan yang selamat di PHP (mis., Password_hash, password_verify). Mengapa tidak menggunakan MD5 atau SHA1? Terangkan hashing kata laluan yang selamat di PHP (mis., Password_hash, password_verify). Mengapa tidak menggunakan MD5 atau SHA1? Apr 17, 2025 am 12:06 AM

Dalam php, kata laluan_hash dan kata laluan 1) password_hash menjana hash yang mengandungi nilai garam untuk meningkatkan keselamatan. 2) Kata Laluan_verify Sahkan kata laluan dan pastikan keselamatan dengan membandingkan nilai hash. 3) MD5 dan SHA1 terdedah dan kekurangan nilai garam, dan tidak sesuai untuk keselamatan kata laluan moden.

Bagaimanakah jenis membayangkan jenis PHP, termasuk jenis skalar, jenis pulangan, jenis kesatuan, dan jenis yang boleh dibatalkan? Bagaimanakah jenis membayangkan jenis PHP, termasuk jenis skalar, jenis pulangan, jenis kesatuan, dan jenis yang boleh dibatalkan? Apr 17, 2025 am 12:25 AM

Jenis PHP meminta untuk meningkatkan kualiti kod dan kebolehbacaan. 1) Petua Jenis Skalar: Oleh kerana Php7.0, jenis data asas dibenarkan untuk ditentukan dalam parameter fungsi, seperti INT, Float, dan lain -lain. 2) Return Type Prompt: Pastikan konsistensi jenis nilai pulangan fungsi. 3) Jenis Kesatuan Prompt: Oleh kerana Php8.0, pelbagai jenis dibenarkan untuk ditentukan dalam parameter fungsi atau nilai pulangan. 4) Prompt jenis yang boleh dibatalkan: membolehkan untuk memasukkan nilai null dan mengendalikan fungsi yang boleh mengembalikan nilai null.

PHP dan Python: Paradigma yang berbeza dijelaskan PHP dan Python: Paradigma yang berbeza dijelaskan Apr 18, 2025 am 12:26 AM

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

Bagaimana anda menghalang suntikan SQL di PHP? (Penyataan yang disediakan, PDO) Bagaimana anda menghalang suntikan SQL di PHP? (Penyataan yang disediakan, PDO) Apr 15, 2025 am 12:15 AM

Menggunakan penyataan preprocessing dan PDO dalam PHP secara berkesan dapat mencegah serangan suntikan SQL. 1) Gunakan PDO untuk menyambung ke pangkalan data dan tetapkan mod ralat. 2) Buat kenyataan pra -proses melalui kaedah menyediakan dan lulus data menggunakan ruang letak dan laksanakan kaedah. 3) Hasil pertanyaan proses dan pastikan keselamatan dan prestasi kod.

PHP dan Python: Contoh dan perbandingan kod PHP dan Python: Contoh dan perbandingan kod Apr 15, 2025 am 12:07 AM

PHP dan Python mempunyai kelebihan dan kekurangan mereka sendiri, dan pilihannya bergantung kepada keperluan projek dan keutamaan peribadi. 1.PHP sesuai untuk pembangunan pesat dan penyelenggaraan aplikasi web berskala besar. 2. Python menguasai bidang sains data dan pembelajaran mesin.

PHP: Pengendalian pangkalan data dan logik sisi pelayan PHP: Pengendalian pangkalan data dan logik sisi pelayan Apr 15, 2025 am 12:15 AM

PHP menggunakan sambungan MySQLI dan PDO untuk berinteraksi dalam operasi pangkalan data dan pemprosesan logik sisi pelayan, dan memproses logik sisi pelayan melalui fungsi seperti pengurusan sesi. 1) Gunakan MySQLI atau PDO untuk menyambung ke pangkalan data dan laksanakan pertanyaan SQL. 2) Mengendalikan permintaan HTTP dan status pengguna melalui pengurusan sesi dan fungsi lain. 3) Gunakan urus niaga untuk memastikan atomik operasi pangkalan data. 4) Mencegah suntikan SQL, gunakan pengendalian pengecualian dan sambungan penutup untuk debugging. 5) Mengoptimumkan prestasi melalui pengindeksan dan cache, tulis kod yang sangat mudah dibaca dan lakukan pengendalian ralat.

Tujuan PHP: Membina Laman Web Dinamik Tujuan PHP: Membina Laman Web Dinamik Apr 15, 2025 am 12:18 AM

PHP digunakan untuk membina laman web dinamik, dan fungsi terasnya termasuk: 1. Menjana kandungan dinamik dan menghasilkan laman web secara real time dengan menyambung dengan pangkalan data; 2. Proses Interaksi Pengguna dan Penyerahan Bentuk, Sahkan Input dan Menanggapi Operasi; 3. Menguruskan sesi dan pengesahan pengguna untuk memberikan pengalaman yang diperibadikan; 4. Mengoptimumkan prestasi dan ikuti amalan terbaik untuk meningkatkan kecekapan dan keselamatan laman web.

Memilih antara php dan python: panduan Memilih antara php dan python: panduan Apr 18, 2025 am 12:24 AM

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

See all articles