首页 >后端开发 >php教程 >PHP主|在AppFog上部署CakePHP应用程序正确

PHP主|在AppFog上部署CakePHP应用程序正确

Jennifer Aniston
Jennifer Aniston原创
2025-02-25 20:10:13555浏览

>在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路径:>

<code class="language-php"><?php
// Custom TMP directory
if (!defined('TMP')) {
    define('TMP', ROOT . DS . 'data' . DS . 'tmp' . DS);
}
?></code>

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

<code class="language-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;
    }
}
?></code>

>搜索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