


Comment exécuter PHP sur une architecture AWS ServerLess ? Partie présentant le runtime Bref
이 시리즈의 이전 게시물에서는 서버리스 서비스와 Lambda가 무엇인지에 대해 논의했습니다. 이제 AWS Lambda에서 PHP 스크립트 또는 전체 애플리케이션을 실행할 수 있는 방법을 보여줄 차례입니다.
이 게시물에서는 Bref 런타임을 사용하는 방법과 Symfony 데모 애플리케이션 및 Terraform을 사용하여 예제 구현이 포함된 저장소를 공유하는 방법을 설명합니다.
브레프가 온다!
독립 컨설턴트이자 AWS Serverless Hero인 Matthieu Napoli는 2018년에 Bref를 출시했으며 그 이후 Bref는 7월에 40,000,000,000회 이상의 호출을 제공하며 전년 대비 300% 성장하면서 번창했습니다.
Bref는 어떻게 작동하나요?
Bref는 사용자 정의 Lambda 런타임입니다. 또는 세 가지 맛이 있기 때문에 오히려 런타임입니다.
- 첫 번째는 웹 애플리케이션을 실행하도록 설계되었습니다. Bref는 API 게이트웨이 이벤트를 포착하여 이를 FastCGI 요청으로 변환합니다(Apache의 httpd 또는 nginx와 같은 웹 서버가 PHP FPM 프로세스에 요청하는 것과 동일한 종류). 또한 PHP FPM 프로세스도 실행합니다. 이렇게 하면 애플리케이션이 거의 수정되지 않은 상태로 유지될 수 있습니다(bref/bref 작성기 패키지를 가져오기만 하면 됩니다). $_POST 매직 변수를 사용하여 웹 요청 콘텐츠에 액세스하는 등의 모든 표준 PHP 기능이 작동합니다.
- 두 번째는 비동기식으로 실행되도록 설계되었습니다. AWS Lambda 함수는 모든 종류의 AWS 생성 또는 사용자 지정 이벤트를 처리할 수 있습니다. 이 경우 PHP 함수는 $event를 인수로 사용하는 PHP 호출 가능 핸들러 메소드를 사용하여 작성해야 합니다.
- 세 번째 런타임을 사용하면 php bin/console Doctrine:database:create 와 같은 CLI 명령을 실행할 수 있습니다.
Bref로 어떤 종류의 애플리케이션을 실행할 수 있나요?
거의 모든 종류의 PHP 애플리케이션이 Bref로 실행됩니다. 이 문서는 Laravel 및 Symfony를 기반으로 한 훌륭한 튜토리얼을 제공합니다.
기존 애플리케이션을 조정하는 것은 매우 쉽습니다(예를 들어 Bref는 내부 버스가 아닌 SQS를 사용하도록 Symfony Messenger를 조정하는 멋진 bref/symfony-messenger 라이브러리를 제공합니다. 알림: 실행 환경은 동시에 하나의 요청만 처리하며 일시적입니다. 따라서 데이터를 수명이 짧은 내부 버스로 푸시하는 것은 데이터 손실의 원인입니다.
유일한 제한은 극도의 반응성이 필요한 경우입니다(예: 요청의 100%가 10ms 내에 처리됨). 실제로 프레임워크는 230ms 콜드 스타트를 추가합니다. 그럼에도 불구하고 이 시리즈의 이전 기사에서 설명한 것처럼 프로비저닝된 동시성을 사용하면 이를 완화할 수 있습니다(그리고 너무 많은 비용을 지출하지 않고 이를 수행하려면 애플리케이션 자동 크기 조정이 가장 적합한 문서입니다).
Bref 기반 애플리케이션을 배포하는 방법
위에 언급된 Symfony/Larevel 문서는 서버리스 배포 프레임워크를 사용하여 Bref 기반 PHP 애플리케이션을 배포합니다.
다른 기사(여기 및 여기)에서는 CDK를 배포 옵션으로 살펴봅니다.
저는 Terraform 팬이므로 배포 옵션으로 Terraform을 사용하여 완전히 작동하는 저장소를 아래에서 공유하게 되어 기쁩니다.
Terraform을 사용하여 PHP 애플리케이션을 생성하고 Lambda에 배포하는 단계별 접근 방식
단 8단계만 거치면 됩니다
GitHub 저장소
다음 GitHub 저장소에서 이 앱을 배포하기 위한 모든 기능을 갖춘 설정을 공유합니다.
프산투스
/
PHP-서버리스-람다-bref-테라폼
Terraform으로 배포된 Bref 프레임워크를 사용하는 AWS Lambda의 PHP
이 저장소는
- Symfony 데모 애플리케이션 계측 Bref 프레임워크를 사용하여 PHP용 Lambda 런타임을 제공합니다.
- Terraform을 사용하여 애플리케이션을 배포합니다.
배포
Après vous être connecté à AWS avec votre CLI, exécutez simplement
terraform apply
Le fichier data.sql contient les données nécessaires pour amorcer la base de données Aurora. Vous pouvez le déployer avec un bastion.
Résultat
Restez à l'écoute de mon prochain article sur Comment déployer du code PHP sur Lambda à l'aide de Lambda Web Adaptor !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Dans PHP, Password_Hash et Password_verify Les fonctions doivent être utilisées pour implémenter le hachage de mot de passe sécurisé, et MD5 ou SHA1 ne doit pas être utilisé. 1) Password_hash génère un hachage contenant des valeurs de sel pour améliorer la sécurité. 2) Password_verify Vérifiez le mot de passe et assurez-vous la sécurité en comparant les valeurs de hachage. 3) MD5 et SHA1 sont vulnérables et manquent de valeurs de sel, et ne conviennent pas à la sécurité de mot de passe moderne.

PHP et Python ont chacun leurs propres avantages et choisissent en fonction des exigences du projet. 1.Php convient au développement Web, en particulier pour le développement rapide et la maintenance des sites Web. 2. Python convient à la science des données, à l'apprentissage automatique et à l'intelligence artificielle, avec syntaxe concise et adaptée aux débutants.

PHP est largement utilisé dans le commerce électronique, les systèmes de gestion de contenu et le développement d'API. 1) E-commerce: Utilisé pour la fonction de panier et le traitement des paiements. 2) Système de gestion du contenu: utilisé pour la génération de contenu dynamique et la gestion des utilisateurs. 3) Développement des API: Utilisé pour le développement de l'API RESTful et la sécurité de l'API. Grâce à l'optimisation des performances et aux meilleures pratiques, l'efficacité et la maintenabilité des applications PHP sont améliorées.

Le type PHP invite à améliorer la qualité et la lisibilité du code. 1) Conseils de type scalaire: Depuis PHP7.0, les types de données de base sont autorisés à être spécifiés dans les paramètres de fonction, tels que INT, Float, etc. 2) Invite de type de retour: Assurez la cohérence du type de valeur de retour de fonction. 3) Invite de type d'union: Depuis PHP8.0, plusieurs types peuvent être spécifiés dans les paramètres de fonction ou les valeurs de retour. 4) Invite de type nullable: permet d'inclure des valeurs nulles et de gérer les fonctions qui peuvent renvoyer les valeurs nulles.

PHP est toujours dynamique et occupe toujours une position importante dans le domaine de la programmation moderne. 1) La simplicité de PHP et le soutien communautaire puissant le rendent largement utilisé dans le développement Web; 2) sa flexibilité et sa stabilité le rendent exceptionnelle dans la gestion des formulaires Web, des opérations de base de données et du traitement de fichiers; 3) PHP évolue et optimise constamment, adapté aux débutants et aux développeurs expérimentés.

PHP est principalement la programmation procédurale, mais prend également en charge la programmation orientée objet (POO); Python prend en charge une variété de paradigmes, y compris la POO, la programmation fonctionnelle et procédurale. PHP convient au développement Web, et Python convient à une variété d'applications telles que l'analyse des données et l'apprentissage automatique.

L'utilisation de déclarations de prétraitement et l'APD dans PHP peut effectivement empêcher les attaques d'injection SQL. 1) Utilisez PDO pour vous connecter à la base de données et définir le mode d'erreur. 2) Créez des instructions de prétraitement via la méthode de préparation et transmettez des données à l'aide des espaces réservés et exécutez des méthodes. 3) Traitez les résultats de la requête et assurez la sécurité et les performances du code.

PHP et Python ont leurs propres avantages et inconvénients, et le choix dépend des besoins du projet et des préférences personnelles. 1.Php convient au développement rapide et à la maintenance des applications Web à grande échelle. 2. Python domine le domaine de la science des données et de l'apprentissage automatique.
