cari
Rumahpembangunan bahagian belakangtutorial phpPHP Master | Menyebarkan aplikasi CakePHP di Appfog dengan cara yang betul

Menggunakan Aplikasi CakePHP di Appfog: Panduan Komprehensif

PHP Master | Deploy CakePHP Apps on AppFog the Right Way

Panduan ini, yang asalnya diterbitkan di Cloudspring, butiran yang menggunakan aplikasi CakePHP ke Appfog, platform sebagai perkhidmatan (PAAS), sambil menekankan amalan terbaik untuk struktur aplikasi PHP. Kami akan membuat aplikasi pengambilan nota mudah, kemudian menyusunnya untuk penggunaan dan penyelenggaraan yang optimum.

Konsep Utama:

    Penyebaran CakePHP yang cekap pada Appfog dicapai dengan menstrukturkan aplikasi ke dalam komponen yang berbeza: kod aplikasi, data & tetapan aplikasi, dan kod perpustakaan/vendor.
  • Appfog memudahkan penggunaan, menyokong pelbagai bahasa dan pelbagai penyedia infrastruktur (Amazon AWS, HP OpenStack, Microsoft Azure, Rackspace DFW).
  • Struktur direktori yang jelas adalah penting untuk memisahkan kod aplikasi dari rangka kerja dan perpustakaan, memudahkan kemas kini, sandaran, dan penyelenggaraan.
  • Appfog menawarkan alat pemantauan prestasi (CPU, memori, trafik rangkaian) dan keupayaan amaran.

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:

    Muat turun dan ekstrak versi CakePHP terkini. Namakan semula direktori (mis., "Fognotes").
  1. Buat aplikasi yang boleh diakses melalui pelayan web (mis.,
  2. ), menetapkan root dokumen ke http://fognotes.local. app/webroot
  3. Buat pangkalan data MySQL kosong (mis., ).
  4. fognotes_local Buat direktori
  5. dengan subdirektori
  6. dan data. Bergerak config ke logs. Pastikan direktori app/tmp boleh ditulis oleh pelayan web. data data/logs Buat pautan simbolik untuk konsol CakePHP:
  7. ln -s lib/Cake/Console/cake cake
  8. struktur direktori anda harus menyerupai ini:

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

ke
<?php
// Custom TMP directory
if (!defined('TMP')) {
    define('TMP', ROOT . DS . 'data' . DS . 'tmp' . DS);
}
?>
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:

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

dan pada akhir 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() carian data/config untuk fail yang sepadan dengan persekitaran (mis., local.php, prod.php). Sampel local.php disediakan dalam artikel asal.

Menyebarkan ke appfog:

Buat aplikasi Appfog baru (pilih PHP dan penyedia pilihan anda).
  1. mengikat perkhidmatan MySQL (mis.,
  2. ).
  3. fognotes_prod Tetapkan pembolehubah persekitaran
  4. ke "prod".
  5. APP_ENV membuat
  6. , mengekstrak tetapan pangkalan data dari pembolehubah persekitaran
  7. (seperti yang terperinci dalam artikel asal). data/config/prod.php VCAP_SERVICES Gunakan utiliti
  8. (pemasangan arahan yang disediakan di Appfog) untuk menolak kod tempatan anda (
  9. ). af af update FogNotes
  10. Selepas penempatan, import skema pangkalan data (
) ke dalam pangkalan data jauh anda menggunakan terowong (

). 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!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Pembalakan PHP: Amalan Terbaik untuk Analisis Log PHPPembalakan PHP: Amalan Terbaik untuk Analisis Log PHPMar 10, 2025 pm 02:32 PM

Pembalakan PHP adalah penting untuk memantau dan menyahpepijat aplikasi web, serta menangkap peristiwa kritikal, kesilapan, dan tingkah laku runtime. Ia memberikan pandangan yang berharga dalam prestasi sistem, membantu mengenal pasti isu -isu, dan menyokong penyelesaian masalah yang lebih cepat

Bekerja dengan Data Sesi Flash di LaravelBekerja dengan Data Sesi Flash di LaravelMar 12, 2025 pm 05:08 PM

Laravel memudahkan mengendalikan data sesi sementara menggunakan kaedah flash intuitifnya. Ini sesuai untuk memaparkan mesej ringkas, makluman, atau pemberitahuan dalam permohonan anda. Data hanya berterusan untuk permintaan seterusnya secara lalai: $ permintaan-

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API RESTCurl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API RESTMar 14, 2025 am 11:42 AM

Pelanjutan URL Pelanggan PHP (CURL) adalah alat yang berkuasa untuk pemaju, membolehkan interaksi lancar dengan pelayan jauh dan API rehat. Dengan memanfaatkan libcurl, perpustakaan pemindahan fail multi-protokol yang dihormati, php curl memudahkan execu yang cekap

Respons HTTP yang dipermudahkan dalam ujian LaravelRespons HTTP yang dipermudahkan dalam ujian LaravelMar 12, 2025 pm 05:09 PM

Laravel menyediakan sintaks simulasi respons HTTP ringkas, memudahkan ujian interaksi HTTP. Pendekatan ini dengan ketara mengurangkan redundansi kod semasa membuat simulasi ujian anda lebih intuitif. Pelaksanaan asas menyediakan pelbagai jenis pintasan jenis tindak balas: Gunakan Illuminate \ Support \ Facades \ http; Http :: palsu ([ 'Google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

12 skrip sembang php terbaik di codecanyon12 skrip sembang php terbaik di codecanyonMar 13, 2025 pm 12:08 PM

Adakah anda ingin memberikan penyelesaian segera, segera kepada masalah yang paling mendesak pelanggan anda? Sembang langsung membolehkan anda mempunyai perbualan masa nyata dengan pelanggan dan menyelesaikan masalah mereka dengan serta-merta. Ia membolehkan anda memberikan perkhidmatan yang lebih pantas kepada adat anda

Terangkan konsep pengikatan statik lewat dalam PHP.Terangkan konsep pengikatan statik lewat dalam PHP.Mar 21, 2025 pm 01:33 PM

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

Menyesuaikan/Memperluas Rangka Kerja: Cara Menambah Fungsi Custom.Menyesuaikan/Memperluas Rangka Kerja: Cara Menambah Fungsi Custom.Mar 28, 2025 pm 05:12 PM

Artikel ini membincangkan menambah fungsi khusus kepada kerangka kerja, memberi tumpuan kepada pemahaman seni bina, mengenal pasti titik lanjutan, dan amalan terbaik untuk integrasi dan debugging.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini