Rumah >pembangunan bahagian belakang >tutorial php >PHP Master | Menyebarkan aplikasi CakePHP di Appfog dengan cara yang betul
Menggunakan Aplikasi CakePHP di Appfog: Panduan Komprehensif
Konsep Utama:
Bermula dengan Appfog:
Appfog, berdasarkan Foundry Cloud, menyokong pelbagai bahasa pengaturcaraan dan membolehkan penempatan merentasi pelbagai penyedia infrastruktur. Daftar untuk akaun percuma (memerlukan e -mel dan kata laluan) yang menawarkan 2GB RAM, 10 perkhidmatan (100MB setiap satu), dan had pemindahan data 50GB. Anda juga boleh memindahkan aplikasi anda ke mana-mana perkhidmatan yang bersesuaian dengan awan.
Mewujudkan aplikasi tempatan:
http://fognotes.local
. app/webroot
fognotes_local
Buat direktori data
. Bergerak config
ke logs
. Pastikan direktori app/tmp
boleh ditulis oleh pelayan web. data
data/logs
Buat pautan simbolik untuk konsol CakePHP: ln -s lib/Cake/Console/cake cake
Struktur ini memisahkan kod aplikasi (
<code>FogNotes/ app/ data/ config/ logs/ tmp/ cache/ logs/ sessions/ tests/ lib/ Cake/ plugins/ vendors/ cake index.php</code>), kerangka (
), perpustakaan (app
, lib/Cake
), dan data/tetapan (plugins
vendors
Ubah suai data/*
untuk menentukan direktori sementara tersuai:
app/webroot/index.php
Seterusnya, laraskan konfigurasi pangkalan data. Salin
<code class="language-php"><?php // Custom TMP directory if (!defined('TMP')) { define('TMP', ROOT . DS . 'data' . DS . 'tmp' . DS); } ?></code>dan menggantikan
dengan: app/Config/database.php.default
<code>FogNotes/ app/ data/ config/ logs/ tmp/ cache/ logs/ sessions/ tests/ lib/ Cake/ plugins/ vendors/ cake index.php</code>
dalam app/Config/bootstrap.php
, tambahkan baris ini (selepas Configure::write('Dispatcher.filters'...
) untuk mendaftarkan jalan data/config
:
<code class="language-php"><?php // Custom TMP directory if (!defined('TMP')) { define('TMP', ROOT . DS . 'data' . DS . 'tmp' . DS); } ?></code>
dan pada akhir 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()
carian data/config
untuk fail yang sepadan dengan persekitaran (mis., local.php
, prod.php
). Sampel local.php
disediakan dalam artikel asal.
Menyebarkan ke appfog:
fognotes_prod
Tetapkan pembolehubah persekitaran APP_ENV
membuat data/config/prod.php
VCAP_SERVICES
Gunakan utiliti af
af update FogNotes
). Kemudian, gunakan arahan Bake CakePHP untuk menghasilkan model, pandangan, dan pengawal aplikasi. Akhirnya, kemas kini penghalaan untuk menunjuk halaman rumah ke nota anda. Redeploy menggunakan data/config/notes.sql
. af tunnel
af update FogNotes
Artikel asal juga termasuk Soalan Lazim yang meliputi pelbagai aspek penyebaran CakePHP pada Appfog, termasuk penyelesaian masalah, penskalaan, keselamatan, dan pemantauan.
Atas ialah kandungan terperinci PHP Master | Menyebarkan aplikasi CakePHP di Appfog dengan cara yang betul. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!