Maison >développement back-end >tutoriel php >CloudSpring | Déployer les applications CakePHP sur AppFog dans le bon sens

CloudSpring | Déployer les applications CakePHP sur AppFog dans le bon sens

William Shakespeare
William Shakespeareoriginal
2025-02-25 20:58:09900parcourir

CloudSpring | Deploying CakePHP apps on AppFog the right way

Ce didacticiel montre le déploiement d'une application CakePHP à AppFog, une plate-forme en tant que service (PAAS), tout en mettant en évidence les meilleures pratiques pour la structure d'application PHP. Nous créerons une application simple de prise de notes, puis organiserons ses composants pour une gestion efficace.

Concepts clés:

  • appfog: Un PaaS offrant un déploiement multi-prodive et un support linguistique. Son niveau gratuit fournit 2 Go de RAM, 10 services et 50 Go de transfert de données.
  • Structure d'application PHP: Les meilleures pratiques impliquent la séparation du code d'application, des données / paramètres et des bibliothèques / code fournisseur pour des mises à jour et une maintenance plus faciles.
  • Configuration AppFog: Les étapes cruciales incluent la liaison d'un service de base de données et des variables d'environnement de définition (comme APP_ENV) pour contrôler le comportement de l'application.
  • Fonctions AppFog: La fonctionnalité de clonage d'AppFog simplifie la création d'environnements de mise en scène ou de débogage.

Pour commencer avec appfog:

AppFog, basé sur Cloud Foundry, prend en charge diverses langues et des cibles de déploiement (AWS, HP OpenStack, Azure, Rackspace). L'inscription ne nécessite qu'un e-mail et un mot de passe, accordant l'accès au plan gratuit. Créez votre compte pour continuer.

Développement des applications locales:

  1. Configuration: Télécharger CakePhp, renommer le répertoire (par exemple, "Fognotes") et le rendre accessible via un serveur Web (par exemple, http://fognotes.local). Créez une base de données MySQL (par exemple, fognotes_local).
  2. Structure du répertoire: Créer un répertoire data avec des sous-répertoires config et logs. Déplacez le répertoire app/tmp dans data et assurez-vous que le répertoire logs a des autorisations d'écriture de serveur Web. Créez un lien symbolique à la console de CakePHP: ln -s lib/Cake/Console/cake cake. La structure résultante doit ressembler:
<code>FogNotes/
    app/
    data/
        config/
        logs/
        tmp/
            cache/
            logs/
            sessions/
            tests/
    lib/
        Cake/
    plugins/
    vendors/
    cake
    index.php</code>

Cette structure isole le code d'application, le framework, les bibliothèques et les données pour une meilleure gestion.

  1. Configuration CakePHP: Modifier app/webroot/index.php pour définir le répertoire personnalisé TMP:
<code>FogNotes/
    app/
    data/
        config/
        logs/
        tmp/
            cache/
            logs/
            sessions/
            tests/
    lib/
        Cake/
    plugins/
    vendors/
    cake
    index.php</code>
  1. Configuration de la base de données: Modifier app/Config/database.php pour charger dynamiquement les paramètres de base de données basés sur l'environnement:
<code class="language-php"><?php // Custom TMP directory
if (!defined('TMP')) {
    define('TMP', ROOT . DS . 'data' . DS . 'tmp' . DS);
}</code>
  1. Configuration de bootstrap: modifier app/Config/bootstrap.php pour enregistrer le chemin data/config et déterminer l'environnement (en utilisant APP_ENV variable d'environnement ou défaut en `` local ''):
<code class="language-php"><?php class DATABASE_CONFIG {
    // ... (code to dynamically load database config based on APP_ENV) ...
}</code>
  1. Configuration spécifique à l'environnement: Créer data/config/local.php et data/config/prod.php Fichiers pour maintenir les paramètres de base de données spécifiques à l'environnement et autres configurations. Exemple local.php:
<code class="language-php"><?php // ... (code to register data/config path and set APP_ENV) ...</code>

Déploiement sur appfog:

  1. Création de l'application: Créez une nouvelle application PHP dans la console AppFog, en sélectionnant votre fournisseur d'infrastructure préféré.
  2. liaison du service: lier un service mysql (par exemple, fognotes_prod).
  3. Variables d'environnement: Définissez la variable APP_ENV sur "prod".
  4. Déploiement du code: Utilisez l'utilitaire af pour pousser votre code local sur appfog: af update FogNotes.
  5. Configuration de la base de données: Utilisez af tunnel pour créer un tunnel dans votre base de données distante et importez le schéma data/config/notes.sql.

étapes finales et résumé:

Créez le tableau notes dans votre base de données locale et utilisez la commande Bake de CakePHP (./cake bake) pour générer le modèle, la vue et le contrôleur nécessaires. Mettre à jour app/Config/routes.php pour diriger l'URL racine vers l'index de vos notes. Redéployez votre application en utilisant af update FogNotes.

Cette approche structurée simplifie le développement, le déploiement et l'entretien de vos applications CakePHP sur AppFog. La fonction de clonage d'AppFog ajoute une plus grande flexibilité pour gérer différents environnements.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn