PHP geliştirme ve üretim ortamı

4 Cevap php

PHP ile yazılmış benim yeni web sitesi için kurulum iki ortamları istiyoruz. One - yeni sürümlerini geliştirmek ve bunları test etmek. Ve web sitesi benim gerçek kararlı sürüm mevcut olacak ikinci üretim.

PHP web sitesi, birçok PHP ve diğer dosyaları (JS, görüntüler, ve) oluşacaktır. Bu yüzden onlar fiili çalışma ilerleme görmek mümkün olacak böylece kolay geliştirme ortamından üretim ortamına kaynak kontrolü, hızlı kopya web sitesi yapmak için ve web üzerinde insanlar için geliştirme sürümü kullanılabilir yapmak yapmak için en iyi şekilde bu ortamı hazırlamak için nasıl düşünmek ve değişiklik veya rapor hataları öneririz.

Bana bu başlangıç ​​noktasından gitmek için bazı tavsiyeler verebilir misiniz? Bu konuda kitaplar (? Görüş pratik açıdan) vardır veya deneyime ya da ipucu var ne dikkat ve ne bana ve yeni proje geliştirme dahil diğer insanlar için bu işlem kolay ve iyi yapmak önemlidir?

4 Cevap

Başlayanlar, aşağıdaki üç kullanın:

  1. SVN - Bu size kaynak kontrol vermek ve değişiklikleri izlemek için izin verecektir. Sen öğrenme eğrisi kolaylaştırmak için (Kaplumbağa popüler biridir) bu üstüne GUI'leri almak isteyebilirsiniz.

  2. RSYNC - Bu tek bir komut ile yerel ve uzak site arasındaki senkronizasyonu düzene sağlayacak. RSYNC artışlı senkronizasyonlar birkaç saniye içinde gerçekleşmesi demektir eşitlemek için bir fark motoru kullanır. Yoğun programlama sırasında, bazen sadece elimden çünkü çok kolayca gerçek hızlı küçük değişiklikleri dışarı iterek, bir saat içinde 4-5 kez senkronize edecektir.

  3. Mysqldump - Bu, üretim yerinden / ihracat verileri almak için izin verecektir. Ben genellikle bana bir yerel yedekleme verir ama aynı zamanda yerel bir test ortamında üretim verileri ile bana oyuncak etrafında sağlar sadece ki benim yerel sunucularda üretim verileri almak için haftada bir kez yapmak.

Yalnız bu üç uzun vadede size çok fazla zaman tasarrufu ve ölçek sağlayacaktır. Daha sonra otomatik bir derleme araçları, birim test çerçeveler, xml belgeler çerçevesinde ve bazı ciddi ürünler oluşturmak için benzer içine bakabilirsiniz.

Ben böyle bir kurulum ile çalışmak, bu yüzden sana bunu nasıl bazı ipuçları verebilir. Ben burada ve orada çalışma karışıklığı, bir süre için şimdi bu yapıyor, ve bu gibi hissediyorum oldum ben dürüst oldukça lanetlemek üretken olduğunu söyleyebiliriz bir kurumdur.

Küçük not: Ben OSX üzerinde çalışmak, böylece bir linux / windows kullanıcı iseniz kullanılan özel uygulamalar sizden biraz daha farklı olabilir.

Ben kolayca PHP ve MySQL ile bir Apache sunucusu bana temin mAmp (www.mamp.info) kullanarak, benim Mac üzerinde bir üretim 'sunucu' çalıştırın. Siz XAMPP gibi benzer bir araç kullanabilir veya el her şeyi yüklemek olabilir, bu size kalmış gerçekten.

Sonra benim web siteleri ve müşteri siteleri barındırılan benim canlı sunucuları var. Her yeni web projesi için benim test yapmak hangi staging.abc.com adında bir subdomain oluşturmak (Bir örnek olarak abc.com atalım). Her zaman aslında canlı gitmeden önce aynı zor ve yazılım şeyleri test etmek için iyi bir şey.

Ben kolayca ben SVN sunucusu benim yeni güncellenmiş bir sürümünü göndermek zaman otomatik olarak benim online üretim sunucuyu güncelleştirmek için 'kanca' ekleyebilirsiniz avantaj ile, benim sürüm ihtiyaçları için Subversion (veya, kısa SVN'de) kullanın. SVN da kolayca aynı proje üzerinde birden fazla kişi ile çalışma olanağı sağlar. SVN ve nasıl kullanılacağı konusunda daha fazla bilgi için, ben burada bulunan büyük (ve ücretsiz) bir online kitap önermek: http://svnbook.red-bean.com/

Yani Kısacası: Ben MAMP sunucu 'çalışma' ile yerel bana sağlayan lokal olarak çalışır. Bundan sonra, her şey iyi çalıştığını görmek için bir staging.abc.com yere çevrimiçi test and muhtemelen diğerleri için sizin istemci üzerinde neler olup bittiğini görmek istediğiniz durumda proje (görmek için izin örnek), ve bundan sonra ben aslında gerçek etki üzerine koyarak projeyi yayımlamak.

Orada iş akışını optimize etmek için yapılabilir daha pek çok şey vardır, ama bu size başlamak gerekir.

Bu yardımcı olur umarım!

-Dave

Ben mümkünse geliştirme geliştiriciler yerel kutusunu meydana olmasını tercih. Diğer geliştiriciler yer varsa, muhtemelen (/ onlar doğru LAMBASI sahip varsayarak versiyon kontrol gibi veritabanı şeması, javascript, css ve php kod hem kontrol ve oldukça kolay bir geliştiricinin kişisel kutuyu kurulum olabilir kurulum istiyor WAMP kurulumu)

Insanların aktif bir gelişme yaşanır bir sunucu üzerinde bir test web sitesi korumak nerede ben de onu gördüm. Ben aktif gelişme için bunu önlemek, ancak bu kodu kontrol son siyah-box test (son sürüme) için bu kullanmak istiyorsunuz.

Test sitesi denetler kez, o zaman onun konuma sürüm denetimi kod ihracat meselesi canlı web sitesidir. Svn ile, gerçekten sadece svn update geçerli canlı sürümünü belirten bir revizyon veya etiketi belirterek ile canlı kodu bir güncelleştirme yapabilirsiniz.

Ben daha fazla sürüm kontrollü değildir, ayrı bir dosya içinde yer, db erişim / username / geçiş gibi, bazı ayarları tutmak öneriyoruz. Başka bir yerde bu tutun, geliştiriciler kendi PC'de kendi yerel veritabanına erişim haklarını takmanıza izin. Sunucu üzerinde, orada veritabanına erişmek için gereken her şeyi takın. Bu (bir kaç değişkenleri tanımlarken) gerçekten önemsiz kodu olmalıdır yüzden versiyon kontrol o sahip değil büyük bir anlaşma olmamalıdır. İsterseniz, sürüm bir şablonu sürümünü kontrol edebilecek, ama ben sürüm kontrolü içine gerçek bir veritabanı bilgi koymak olmaz.

Here is a pretty good starting place if you want to use MAMP or WAMP to develop locally and then push that to github and then update your live site from github: http://www.mybringback.com/bringers/14509/git-local-and-shared-server-development-environment-with-ssh-setup/

Umut olur.