首頁 > 後端開發 > php教程 > PHP主|在AppFog上部署CakePHP應用程序正確

PHP主|在AppFog上部署CakePHP應用程序正確

Jennifer Aniston
發布: 2025-02-25 20:10:13
原創
547 人瀏覽過

>在AppFog上部署CakePHP應用程序:綜合指南

>

PHP Master | Deploy CakePHP Apps on AppFog the Right Way

本指南最初發表在CloudSpring上,詳細介紹了將CakePHP應用程序部署到AppFog,AppFog,一個平台作為服務(PAAS),同時強調了PHP應用程序結構的最佳實踐。 我們將創建一個簡單的筆記應用程序,然後將其組織起來以進行最佳部署和維護。

>

密鑰概念:

    通過將應用程序構造成不同的組件:應用程序代碼,應用程序數據和設置以及Library/vendor Code。
  • > AppFog簡化了部署,支持多種語言和各種基礎架構提供商(Amazon AWS,HP OpenStack,Microsoft Azure,Rackspace DFW)。
  • >定義明確的目錄結構對於將應用程序代碼與框架和庫分開,簡化更新,備份和維護。
  • > AppFog提供性能監控工具(CPU,內存,網絡流量)和警報功能。
  • 從AppFog開始入門:
> 基於Cloud Foundry的AppFog

> AppFog支持多種編程語言,並允許在各種基礎架構提供商中部署。 註冊一個免費帳戶(需要電子郵件和密碼),提供2GB RAM,10個服務(每個100MB)和50GB數據傳輸限制。 您也可以將應用程序遷移到任何云鑄造兼兼容的服務。 >

創建本地應用程序:

>

>下載並提取最新的CakePHP版本。重命名目錄(例如,“ fognotes”)。 使該應用程序可通過Web服務器(例如)訪問,將文檔root設置為

>。
  1. 創建一個空的mysql數據庫(例如,
  2. )。
  3. > http://fognotes.local>使用子目錄app/webroot
  4. 創建
  5. >目錄。將fognotes_local移至
  6. >。 確保Web服務器可寫
  7. >目錄。 data> config>為CAKEPHP控制台創建符號鏈接: logs app/tmp data您的目錄結構應該類似於以下內容:data/logs>
  8. 此結構將應用程序代碼(ln -s lib/Cake/Console/cake cake),框架(
  9. ),庫(

)和data/settings()。

修改
<code>FogNotes/
    app/
    data/
        config/
        logs/
        tmp/
            cache/
            logs/
            sessions/
            tests/
    lib/
        Cake/
    plugins/
    vendors/
    cake
    index.php</code>
登入後複製
登入後複製
定義自定義臨時目錄:>

app接下來,調整數據庫配置。將lib/Cake複製到plugins>,然後替換為:vendors>

<code>FogNotes/
    app/
    data/
        config/
        logs/
        tmp/
            cache/
            logs/
            sessions/
            tests/
    lib/
        Cake/
    plugins/
    vendors/
    cake
    index.php</code>
登入後複製
登入後複製

inapp/Config/bootstrap.php>,添加這些行(Configure::write('Dispatcher.filters'...之後)以註冊data/config路徑:>

<?php
// Custom TMP directory
if (!defined('TMP')) {
    define('TMP', ROOT . DS . 'data' . DS . 'tmp' . DS);
}
?>
登入後複製

>的末尾:app/Config/bootstrap.php>

<?php
class DATABASE_CONFIG {
    public $default = null;
    public $test = null;
    public $env = null;

    function __construct() {
        if (!defined('APP_ENV')) return false;
        $this->env = APP_ENV;
        $config = Configure::read('Database.config');
        if (!is_array($config)) return false;
        foreach ($config as $name => $data) $this->$name = $data;
        if (empty($config['default']) || empty($this->default)) return false;
    }
}
?>
登入後複製

>搜索Configure::load()data/config與環境匹配的文件(例如,local.phpprod.php)。 原始文章中提供了樣本local.php

>部署到appfog:

創建一個新的AppFog應用程序(選擇PHP和您的首選提供商)。
    綁定mysql服務(例如,
  1. )。
  2. >
  3. 將環境變量設置為“ prod”。 fognotes_prod
  4. 創建
  5. ,從APP_ENV>環境變量中提取數據庫設置(如原始文章中詳細介紹)。
  6. >使用data/config/prod.php>實用程序(AppFog中提供的安裝說明)來推動本地代碼(VCAP_SERVICES)。
  7. af>部署後,使用隧道(af update FogNotes)將數據庫架構(
  8. )導入到遠程數據庫中。 然後,使用CakePHP的烘焙命令來生成應用程序的模型,視圖和控制器。最後,更新路由,將主頁指向筆記。 使用

原始文章還包括涵蓋AppFog上CakePHP部署的各個方面的常見問題解答,包括故障排除,縮放,安全性和監視。 data/config/notes.sql>

以上是PHP主|在AppFog上部署CakePHP應用程序正確的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板