Artikel ini telah dikemas kini untuk versi Deployer terkini (pada 26 Mac, 2017).
Automasi aliran kerja pembangunan, termasuk ujian, gaya kod, dan pemeriksaan sistem, adalah amalan biasa. Automasi penempatan, memindahkan versi aplikasi baru ke pengeluaran, sama pentingnya. Kaedah terdiri daripada muat naik FTP manual ke alat yang canggih seperti PHING dan UNDANG -UNDANG LARELV. Artikel ini memperkenalkan Deployer, alat penempatan PHP yang kuat.
Ciri -ciri utama Deployer:
- Deployer adalah alat berasaskan PHP yang mengautomasikan aplikasi aplikasi PHP. Ia menyokong pengesahan SSH, membolehkan menetapkan pelayan penempatan, dan menggunakan arahan
- untuk melaksanakan tugas yang ditetapkan.
dep
penyebaran sifar-downtime dicapai dengan menguruskan siaran dan menghubungkan akar pelayan ke direktori - yang mewakili pelepasan terkini. Ini menghapuskan keperluan untuk mod penyelenggaraan pelayan semasa penyebaran.
current
Tugas pra-dibina memenuhi keperluan aplikasi PHP yang biasa, dan resipi pra-konfigurasi wujud untuk kerangka popular (Laravel, Symfony, Yii, Zend). - Penyebaran atom memastikan konsistensi aplikasi, walaupun penggunaan terganggu. Tugas terbina dalam
- membolehkan kembali kepada siaran terdahulu.
rollback
Aplikasi Contoh:
Pemasangan:
Deployer diedarkan sebagai fail phar. Muat turunnya dan beralih ke direktori bin sistem anda untuk akses global (lihat dokumentasi untuk butiran):
mv deployer.phar /usr/local/bin/dep chmod +x /usr/local/bin/depKonfigurasi pelayan:
Selepas mengkloning repositori demo, buat
untuk menentukan langkah -langkah penempatan. Mulakan dengan menentukan pelayan. Pengesahan Nama Pengguna/Kata Laluan Asas:
deploy.php
// deploy.php server('digitalocean', '104.131.27.106') ->user($_ENV['staging_server_user']) ->password($_ENV['staging_server_password']);
// deploy.php use function Deployer\set; use function Deployer\server; set('default_stage', 'staging'); server('digitalocean', '104.131.27.106') ->user($_ENV['staging_server_user']) ->password($_ENV['staging_server_password']) ->stage('staging') ->env('deploy_path', '/var/www');adalah penting apabila menggunakan peringkat; Jika tidak, ralat berlaku. Nota: Php 7 membolehkan menggabungkan
pernyataan (default_stage
use
use function Deployer{set, server};
Pengesahan SSH:
Pengesahan Utama SSH disyorkan untuk pengeluaran. (Rujuk panduan persediaan utama SSH jika diperlukan.)
Defaults to
// deploy.php use function Deployer\{set, server}; set('default_stage', 'staging'); server('digitalocean', '104.131.27.106') ->identityFile() ->user($_ENV['staging_server_user']) ->password($_ENV['staging_server_password']) ->stage('staging');. Sesuaikan jalan jika perlu:
identityFile()
~/.ssh/id_rsa
Deployer menyokong pelbagai kaedah sambungan SSH, memungkiri perintah sistem asli.
// deploy.php ->identityFile('path/to/id_rsa', 'path/to/id_rsa.pub', 'pass phrase')
SSH2 Extension:
PHP SSH2 Extension menawarkan alternatif. Pasang dan aktifkannya, kemudian memerlukan pakej herzult/php-ssh
dan tetapkan ssh_type
:
mv deployer.phar /usr/local/bin/dep chmod +x /usr/local/bin/dep
(nota: herzult/php-ssh
tidak termasuk dalam phar deployer; anda mungkin perlu membina phar tersuai.)
konfigurasi yaml:
pelayan boleh ditakrifkan dalam fail yaml (servers.yml
: serverList()
// deploy.php server('digitalocean', '104.131.27.106') ->user($_ENV['staging_server_user']) ->password($_ENV['staging_server_password']);
// deploy.php use function Deployer\set; use function Deployer\server; set('default_stage', 'staging'); server('digitalocean', '104.131.27.106') ->user($_ENV['staging_server_user']) ->password($_ENV['staging_server_password']) ->stage('staging') ->env('deploy_path', '/var/www');
Definisi Tugas:
tugas dilaksanakan melalui perintah (mis., dep
). dep deploy:staging
// deploy.php use function Deployer\{set, server}; set('default_stage', 'staging'); server('digitalocean', '104.131.27.106') ->identityFile() ->user($_ENV['staging_server_user']) ->password($_ENV['staging_server_password']) ->stage('staging');Tugas sampel mungkin memuat naik fail, menjalankan arahan pelayan, dan lain -lain:
// deploy.php ->identityFile('path/to/id_rsa', 'path/to/id_rsa.pub', 'pass phrase')kaedah
menambah teks bantuan kepada tugas: desc()
// deploy.php set('ssh_type', 'ext-ssh2'); // ...
Organisasi tugas:
memecahkan tugas besar ke dalam yang lebih kecil, yang boleh diguna semula menggunakan dan before
cangkuk: after
# servers.yml digitalocean: host: 104.131.27.106 user: root identity_file: ~ stage: staging deploy_path: /var/www/
penyebaran sifar-downtime:
Gunakan symlink menunjuk kepada pelepasan terkini dalam direktori current
untuk mengelakkan downtime: releases
serverList('servers.yml');
Tugas dan Resipi Biasa:
Deployer menyediakan tugas-tugas biasa dan resipi khusus rangka kerja (Laravel, Symfony, dan lain-lain). Contoh Menggunakan Tugas Biasa:
// deploy.php use function Deployer\{server, task, run, set, get, add, before, after, upload}; task('deploy:staging', function() { // ... deployment tasks ... });Bahagian yang tinggal pada resipi dan Soalan Lazim yang ditempatkan diabaikan untuk keringkasan, kerana ia diliputi secukupnya dalam teks asal. Konsep utama dan contoh kod telah diuraikan dan disusun semula untuk kejelasan dan kesimpulan sambil mengekalkan makna dan struktur asal. Imej kekal dalam format dan kedudukan asalnya.
Atas ialah kandungan terperinci Penggunaan aplikasi PHP yang mudah dengan Deployer. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kaedah yang berkesan untuk mengelakkan serangan tetap sesi termasuk: 1. Meningkatkan semula ID Sesi selepas log pengguna masuk; 2. Gunakan algoritma penjanaan ID sesi yang selamat; 3. Melaksanakan mekanisme masa tamat sesi; 4. Menyulitkan data sesi menggunakan HTTPS. Langkah -langkah ini dapat memastikan bahawa aplikasi itu tidak dapat dihancurkan apabila menghadapi serangan tetap sesi.

Melaksanakan pengesahan bebas sesi boleh dicapai dengan menggunakan JSONWEBTOKENS (JWT), sistem pengesahan berasaskan token di mana semua maklumat yang diperlukan disimpan dalam token tanpa penyimpanan sesi pelayan. 1) Gunakan JWT untuk menjana dan mengesahkan token, 2) memastikan bahawa HTTPS digunakan untuk mengelakkan token daripada dipintas, 3) menyimpan token dengan selamat di sisi klien, 4) mengesahkan token di sisi pelayan untuk mengelakkan gangguan, 5) melaksanakan mekanisme pembatalan token.

Risiko keselamatan sesi PHP terutamanya termasuk rampasan sesi, penetapan sesi, ramalan sesi dan keracunan sesi. 1. Sesi rampasan boleh dicegah dengan menggunakan HTTPS dan melindungi kuki. 2. Penetapan sesi boleh dielakkan dengan menanam semula ID sesi sebelum log pengguna masuk. 4. Keracunan sesi boleh dicegah dengan mengesahkan dan menapis data sesi.

Untuk memusnahkan sesi PHP, anda perlu memulakan sesi terlebih dahulu, kemudian membersihkan data dan memusnahkan fail sesi. 1. Gunakan session_start () untuk memulakan sesi. 2. Gunakan session_unset () untuk membersihkan data sesi. 3. Akhirnya, gunakan session_destroy () untuk memusnahkan fail sesi untuk memastikan keselamatan data dan pelepasan sumber.

Bagaimana cara menukar laluan penjimatan sesi lalai PHP? Ia boleh dicapai melalui langkah -langkah berikut: gunakan session_save_path ('/var/www/sesi'); session_start (); Dalam skrip PHP untuk menetapkan laluan penjimatan sesi. Tetapkan session.save_path = "/var/www/sesi" dalam fail php.ini untuk menukar laluan penjimatan sesi di seluruh dunia. Gunakan memcached atau redis untuk menyimpan data sesi, seperti ini_set ('session.save_handler', 'memcached'); ini_set (

Tomodififydatainaphpsession, startTheSessionWithSsion_start (), thenuse $ _SessionToset, Modify, Orremovariables.1) startTheSession.2) setOrmodifySessionVariabelinging $ _Session.3) ReveVariablesWithunset ()

Array boleh disimpan dalam sesi PHP. 1. Mulakan sesi dan gunakan session_start (). 2. Buat array dan simpan dalam $ _Session. 3. Dapatkan array melalui $ _Session. 4. Mengoptimumkan data sesi untuk meningkatkan prestasi.

Pengumpulan sampah sesi PHP dicetuskan melalui mekanisme kebarangkalian untuk membersihkan data sesi yang telah tamat tempoh. 1) Tetapkan kebarangkalian pencetus dan kitaran hayat sesi dalam fail konfigurasi; 2) Anda boleh menggunakan tugas cron untuk mengoptimumkan aplikasi beban tinggi; 3) Anda perlu mengimbangi kekerapan dan prestasi pengumpulan sampah untuk mengelakkan kehilangan data.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

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

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!
