Tembel WordPress geliştiricileri için gelişmiş geçiş iş akışı ipuçları
Tabii ki WordPress veritabanını düzenli olarak taşıyorsunuz ve ne yaptığınız hakkında oldukça iyi bir fikriniz var, ancak geçişinizi daha hızlı veya sorunsuz bir şekilde çalıştırabilecek bir şey var mı? Bu yazıda, lezzetli beyin rütbeleri için en iyi profesyonel ipuçlarıyla WordPress geliştirmenizin iş akışını geliştirmenize yardımcı olacağım – WP Migrat DB Pro. Tamam, Pete ne olursa olsun, sadece üzerinde çalıştığınız ürün budur … bu doğru olabilir, ama bence bazı insanları şaşırtabilecek WPMDB hakkında bilinmeyen bazı şeyler var! Geçmişte bir dizi güçlü kullanıcı ipucunu tartıştık, ancak Addon & eklentisi yayınlandıktan sonra şimdi geri kazmak istiyorum. Öyleyse bir şeyler kazıp öğrenelim.
Bir arıza veritabanı geçişinden ve tartışmak istediğim ilk uç geçiş hatasından kaçınmak daha fazla yönlüdür. Göçünüz başarısız olduğunda ne yaparsınız? Ellerinizi yukarı fırlatın ve dizüstü bilgisayarınızdan mı kaçıyorsunuz? Yapabilirsiniz veya bir hata ayıklama şapkası giyebilir ve çalışmaya başlayabilirsiniz. Bunu fark etmeyebilirsiniz, ancak başarısız olma eğiliminde olan birkaç göç türü vardır. Aktarılan medyayı iten itme göçü birçok soruna neden oldu. Bunun nedeni, ModSecurity ve bazı eklentiler gibi bazı sunucu yazılımlarının (sizi WordFence’ı görüyorum), ona yönelik belirli bir HTTP Post isteği almak istememesidir.
“Güvenlik Duvarı” nın çalışma şekli, URL sorgularının desenini ve yazının içeriğini ve belirli karakterleri içeren doğrudan engelleme isteklerini eşleştirir. /\. (P (p (p | tml) [0-9]? | L | y) | (j $ | \.)/İ İsteğiniz hakkında bu kalıplardan biriyle eşleşen bir şey varsa, alacaksınız çeşitli hata türleri. Bu durumda, 500 sunucu hatası, 403 sunucu yanıtı, 404 sunucu yanıtı görebilirsiniz veya hiç görebilirsiniz. Bu tür bir hata hakkında bir belgemiz var, ancak hangi hataların olduğunu anlamak için en iyi yer sunucunuzun hata günlüğü. Bu sorunla ilgili ne yapabilirsiniz? Bazı durumlarda, en iyi seçeneğiniz göçü tersine çevirmek ve koşmaktır. Her zaman mümkün değildir, ancak Jeff’in belirttiği gibi ngrok’u kullanabilirsiniz. Başka bir seçenek, sitenizde çalıştırdığınız güvenlik eklentilerini devre dışı bırakmak, geçiş yapmak ve daha sonra etkinleştirmektir. Ancak, sunucunuz bir modsecurity çalıştırıyorsa bu her zaman bir seçenek değildir. Medya olmadan geçiş yapabilirsiniz ve medya öğelerini başka şekillerde (belki de kancalarla) aktarabilirsiniz. Son seçim, ağ bileşenlerini tamamen geçmek ve veritabanınızı dışa aktarmak ve bunları uzun mesafeli sitelere aktarmaktır. Bu medyanızı taşımayacak, ancak oradaki seyahatin bir parçası olacaksınız.
Ayrıca, medya dosyalarını taşırken şu anda böyle sorunların üstesinden gelmeye çalıştığımızdan bahsetmeliyim, ancak ne tür hataların olabileceğini ve bunların üstesinden nasıl geleceğini bilmek çok yardımcı olacaktır. Bir geliştirici sitesi hazırlamak için daha az zaman harcayın ve WP Migrate DB Pro, Tema ve Eklenti Dosyaları Addon’un en son eklenti sürümü, geliştirici verimliliği için gerçek bir oyun değişikliğidir. @Dliciousbrains’den WP Migrate DB Pro için eklentiler ve eklentiler gerçekten dahidir. O kadar çok kullanım vakası, serbest bıraktıklarında düşünmedim. Özellikle: 1) Site 2) Eklenti Desteği her hafta zamanımı kaydeder. – Clifton Griffin (@clifgrifin) 22 Ocak 2019 Addon için beyin fırtınası yaparken düşündüğümüz bazı ana kullanım durumları:
SFTP kimlik bilgilerinin müşterinin sitesinde çalışmaya başlamasını beklemenize gerek yok
Evreleme sitesini ayarlamak kolay
Geliştirici tembellik
Cidden, geliştiricinin tembelliği gerçek bir itici faktördür. TPF Addon için gördüğümüz ana kullanım, tema dosyalarını ve eklentileri yerel geliştirici ortamınıza çekmektir. Ayrıca, güncellenmiş eklentilerin uzun mesafeli sitelerden indirilmesine de yardımcı olur. Müşterinizin yeni bir eklenti eklediğini veya eklentiyi doğrudan bir web sitesinde güncellemek için daha da kötüsü ekleyin. Addon Dosya Teması ve Eklentisi ile en son veritabanı sürümünü aldığınızda bu yeni veya güncellenmiş eklentiyi indirebilirsiniz.
Veritabanını değil, yalnızca birkaç tema dosyası ve/veya eklenti indirmek istiyorsanız ne olur? Şimdilik veritabanlarını taşımadan geçiş yapmanın bir yolumuz yok, ancak en son dosyanızı almak için ‘WP_LINKS Table Hack’i kullanabilirsiniz. Bu ‘retas’ için var olan şey sadece WP_Links tablosuna (veya diğer boş veritabanı tablolarını) taşıma. Birçok dosyaya sahip temaları ve eklentileri indirirken SFTP’den daha mı? Bana inanmıyor musun? Aşağıdaki videoya bakın:
WP Engine’den Woocommerce’ı indirin – 794 ürün, 7.78MB TPF: 23S (WP_Links Veritabanı Tablosu dahil) SFTP: ~ 32S Grup taleplerini gruplandırdığımız ve paket/sökme, aslında daha hızlı bir şekilde tema dosyaları ve eklentilerle dosyaları daha hızlı indirin. SFTP ile. Yani evet, bu hızlı ve geliştirme ortamınızı ve sahnelemenizi hazırlamanın hızlı bir yolu! Bazı müşterilerle ilişkili, WP Migrate DB Pro’yu genişletmek için kullanılabilecek bir dizi örnek filtre olan Tweaks eklentileri hakkında bilgi sahibi olabilir. Ama bu sadece buzdağının tepesi!
Şu anda temel kod ve eklentilerdeki 128 Applate_filters () ve 48 DO_ACTION () çağrılarımız var. Bu kancaların çoğu eklentinin kendisi tarafından kullanılabilir, ancak bu, geliştiriciler tarafından da kullanılamadıkları anlamına gelmez! Bu kancaların bazılarına ve ‘neden’ ve ‘nasıl’ kullanılacağına bakalım. Moar Not: Göreceğimiz ilk kancanın ilk göçünü hızlandırın çok basit, her bir partide taşınacak kayıt sayısını düzenler. Varsayılan olarak WP, DB Pro, Yalnızca parti başına 100 kayıt gönderir. Onlarca veya yüz binlerce nota sahip büyük bir veritabanınız varsa, bunun taşınması uzun zaman alabilir. WPMDB_RROWS_PER_SEGENT filtresi bu numarayı değiştirmenizi sağlar. Örneğin, istek başına 10.000 not indirmek için bunu artırmak için, tek yapmanız gereken eklenti/mu-plugin’e uzak bir sunucuda böyle bir şey eklemektir: ‘wpmdb_rows_per_segment’, function () {return 10000;}) ; Bunun sunucunuzu ve CPU belleğinizi büyük ölçüde geliştireceğinden bahsetmeliyim, bu yüzden dikkatlice kullanın. SQL filtresi yukarıdaki WPMDB_ROWS_PER_SEGENT filtresine benzer, tabloyu taşırken kullanılan hemen hemen tüm seçenekler veya ayarlar için bir filtre vardır. WPMDB_RROWS_SQL filtresi ile aldığınız SQL’i kontrol edebilirsiniz ve seçilen SQL’in çeşitli kısımlarına erişiminiz vardır. Ne kadar olduğunu öğrenmek için ücretsiz eklentiler için Repo Github’da Applate_filters’ı bulabilirsiniz!
Burada yaygın olarak kullanılan filtre, wpmdb_preserved_options filtresidir. Bu filtre, WP_Opations tablosundaki notları değiştirilmemeyi/taşımamayı belirlemenizi sağlar. Bu, diğer eklentiler tarafından kullanılan ayarları ve lisans anahtarlarının korunması için kullanışlıdır. Değilse, bu göçten sonra silinecektir. Bu filtreyi kullanmak oldukça basittir. Yukarıda olduğu gibi, bir eklenti/mu-plugin aşağıdaki gibi bir şey ekleyin: add_filter (‘wpmdb_presered_opations’, işlev ($ options [] = ‘option-to-preserve’; $ options [] = ‘başka bir seçenek -To Crevve ‘; $ options;}); WPMDB_PRESERED_OPATIONS filtresi kesinleştirme sırasında etkinleştirilir, bu nedenle filtre çekme için yerel olarak ve itme için uzun mesafe yerleştirilmelidir. Tartışacağımız son filtre otomatik olarak wpmdb_migration_complete’dir. Bu aslında bir do_ace () çağrısıdır, bu yüzden burada filtrelenecek bir değer yoktur. Tahmin edebileceğiniz zaman, göç tamamlandığında ateşlendi. Bu eylemle yapabileceğiniz birçok harika şey var. Webhook Slack URL’nize, geçişin tamamlandığını söylemek için bir istekte bulunabilirsiniz. En son kodu almak için Git Pull veya Git Push’ı çalıştırabilir, hatta sitenizin varlıklarını yeniden oluşturmak için komut dosyasını çalıştırabilirsiniz. Önceki kullanım örneği, medya dosyası geçişi “güvenlik duvarı” nedeniyle işe yaramazsa, bunun etrafında çalışmak için bir kanca çözümü kullanabileceğinizi belirttim. Aşağıda, medya kitaplığınızı SCP CLI komutuyla göndermek için kullanabileceğiniz bir mini eklenti örneği verilmiştir. SCP, “Güvenli Kopyalama” için bir komut satırıdır
Bir arıza veritabanı geçişinden ve tartışmak istediğim ilk uç geçiş hatasından kaçınmak daha fazla yönlüdür. Göçünüz başarısız olduğunda ne yaparsınız? Ellerinizi yukarı fırlatın ve dizüstü bilgisayarınızdan mı kaçıyorsunuz? Yapabilirsiniz veya bir hata ayıklama şapkası giyebilir ve çalışmaya başlayabilirsiniz. Bunu fark etmeyebilirsiniz, ancak başarısız olma eğiliminde olan birkaç göç türü vardır. Aktarılan medyayı iten itme göçü birçok soruna neden oldu. Bunun nedeni, ModSecurity ve bazı eklentiler gibi bazı sunucu yazılımlarının (sizi WordFence’ı görüyorum), ona yönelik belirli bir HTTP Post isteği almak istememesidir.
“Güvenlik Duvarı” nın çalışma şekli, URL sorgularının desenini ve yazının içeriğini ve belirli karakterleri içeren doğrudan engelleme isteklerini eşleştirir. /\. (P (p (p | tml) [0-9]? | L | y) | (j $ | \.)/İ İsteğiniz hakkında bu kalıplardan biriyle eşleşen bir şey varsa, alacaksınız çeşitli hata türleri. Bu durumda, 500 sunucu hatası, 403 sunucu yanıtı, 404 sunucu yanıtı görebilirsiniz veya hiç görebilirsiniz. Bu tür bir hata hakkında bir belgemiz var, ancak hangi hataların olduğunu anlamak için en iyi yer sunucunuzun hata günlüğü. Bu sorunla ilgili ne yapabilirsiniz? Bazı durumlarda, en iyi seçeneğiniz göçü tersine çevirmek ve koşmaktır. Her zaman mümkün değildir, ancak Jeff’in belirttiği gibi ngrok’u kullanabilirsiniz. Başka bir seçenek, sitenizde çalıştırdığınız güvenlik eklentilerini devre dışı bırakmak, geçiş yapmak ve daha sonra etkinleştirmektir. Ancak, sunucunuz bir modsecurity çalıştırıyorsa bu her zaman bir seçenek değildir. Medya olmadan geçiş yapabilirsiniz ve medya öğelerini başka şekillerde (belki de kancalarla) aktarabilirsiniz. Son seçim, ağ bileşenlerini tamamen geçmek ve veritabanınızı dışa aktarmak ve bunları uzun mesafeli sitelere aktarmaktır. Bu medyanızı taşımayacak, ancak oradaki seyahatin bir parçası olacaksınız.
Ayrıca, medya dosyalarını taşırken şu anda böyle sorunların üstesinden gelmeye çalıştığımızdan bahsetmeliyim, ancak ne tür hataların olabileceğini ve bunların üstesinden nasıl geleceğini bilmek çok yardımcı olacaktır. Bir geliştirici sitesi hazırlamak için daha az zaman harcayın ve WP Migrate DB Pro, Tema ve Eklenti Dosyaları Addon’un en son eklenti sürümü, geliştirici verimliliği için gerçek bir oyun değişikliğidir. @Dliciousbrains’den WP Migrate DB Pro için eklentiler ve eklentiler gerçekten dahidir. O kadar çok kullanım vakası, serbest bıraktıklarında düşünmedim. Özellikle: 1) Site 2) Eklenti Desteği her hafta zamanımı kaydeder. – Clifton Griffin (@clifgrifin) 22 Ocak 2019 Addon için beyin fırtınası yaparken düşündüğümüz bazı ana kullanım durumları:
SFTP kimlik bilgilerinin müşterinin sitesinde çalışmaya başlamasını beklemenize gerek yok
Evreleme sitesini ayarlamak kolay
Geliştirici tembellik
Cidden, geliştiricinin tembelliği gerçek bir itici faktördür. TPF Addon için gördüğümüz ana kullanım, tema dosyalarını ve eklentileri yerel geliştirici ortamınıza çekmektir. Ayrıca, güncellenmiş eklentilerin uzun mesafeli sitelerden indirilmesine de yardımcı olur. Müşterinizin yeni bir eklenti eklediğini veya eklentiyi doğrudan bir web sitesinde güncellemek için daha da kötüsü ekleyin. Addon Dosya Teması ve Eklentisi ile en son veritabanı sürümünü aldığınızda bu yeni veya güncellenmiş eklentiyi indirebilirsiniz.
Veritabanını değil, yalnızca birkaç tema dosyası ve/veya eklenti indirmek istiyorsanız ne olur? Şimdilik veritabanlarını taşımadan geçiş yapmanın bir yolumuz yok, ancak en son dosyanızı almak için ‘WP_LINKS Table Hack’i kullanabilirsiniz. Bu ‘retas’ için var olan şey sadece WP_Links tablosuna (veya diğer boş veritabanı tablolarını) taşıma. Birçok dosyaya sahip temaları ve eklentileri indirirken SFTP’den daha mı? Bana inanmıyor musun? Aşağıdaki videoya bakın:
WP Engine’den Woocommerce’ı indirin – 794 ürün, 7.78MB TPF: 23S (WP_Links Veritabanı Tablosu dahil) SFTP: ~ 32S Grup taleplerini gruplandırdığımız ve paket/sökme, aslında daha hızlı bir şekilde tema dosyaları ve eklentilerle dosyaları daha hızlı indirin. SFTP ile. Yani evet, bu hızlı ve geliştirme ortamınızı ve sahnelemenizi hazırlamanın hızlı bir yolu! Bazı müşterilerle ilişkili, WP Migrate DB Pro’yu genişletmek için kullanılabilecek bir dizi örnek filtre olan Tweaks eklentileri hakkında bilgi sahibi olabilir. Ama bu sadece buzdağının tepesi!
Şu anda temel kod ve eklentilerdeki 128 Applate_filters () ve 48 DO_ACTION () çağrılarımız var. Bu kancaların çoğu eklentinin kendisi tarafından kullanılabilir, ancak bu, geliştiriciler tarafından da kullanılamadıkları anlamına gelmez! Bu kancaların bazılarına ve ‘neden’ ve ‘nasıl’ kullanılacağına bakalım. Moar Not: Göreceğimiz ilk kancanın ilk göçünü hızlandırın çok basit, her bir partide taşınacak kayıt sayısını düzenler. Varsayılan olarak WP, DB Pro, Yalnızca parti başına 100 kayıt gönderir. Onlarca veya yüz binlerce nota sahip büyük bir veritabanınız varsa, bunun taşınması uzun zaman alabilir. WPMDB_RROWS_PER_SEGENT filtresi bu numarayı değiştirmenizi sağlar. Örneğin, istek başına 10.000 not indirmek için bunu artırmak için, tek yapmanız gereken eklenti/mu-plugin’e uzak bir sunucuda böyle bir şey eklemektir: ‘wpmdb_rows_per_segment’, function () {return 10000;}) ; Bunun sunucunuzu ve CPU belleğinizi büyük ölçüde geliştireceğinden bahsetmeliyim, bu yüzden dikkatlice kullanın. SQL filtresi yukarıdaki WPMDB_ROWS_PER_SEGENT filtresine benzer, tabloyu taşırken kullanılan hemen hemen tüm seçenekler veya ayarlar için bir filtre vardır. WPMDB_RROWS_SQL filtresi ile aldığınız SQL’i kontrol edebilirsiniz ve seçilen SQL’in çeşitli kısımlarına erişiminiz vardır. Ne kadar olduğunu öğrenmek için ücretsiz eklentiler için Repo Github’da Applate_filters’ı bulabilirsiniz!
Burada yaygın olarak kullanılan filtre, wpmdb_preserved_options filtresidir. Bu filtre, WP_Opations tablosundaki notları değiştirilmemeyi/taşımamayı belirlemenizi sağlar. Bu, diğer eklentiler tarafından kullanılan ayarları ve lisans anahtarlarının korunması için kullanışlıdır. Değilse, bu göçten sonra silinecektir. Bu filtreyi kullanmak oldukça basittir. Yukarıda olduğu gibi, bir eklenti/mu-plugin aşağıdaki gibi bir şey ekleyin: add_filter (‘wpmdb_presered_opations’, işlev ($ options [] = ‘option-to-preserve’; $ options [] = ‘başka bir seçenek -To Crevve ‘; $ options;}); WPMDB_PRESERED_OPATIONS filtresi kesinleştirme sırasında etkinleştirilir, bu nedenle filtre çekme için yerel olarak ve itme için uzun mesafe yerleştirilmelidir. Tartışacağımız son filtre otomatik olarak wpmdb_migration_complete’dir. Bu aslında bir do_ace () çağrısıdır, bu yüzden burada filtrelenecek bir değer yoktur. Tahmin edebileceğiniz zaman, göç tamamlandığında ateşlendi. Bu eylemle yapabileceğiniz birçok harika şey var. Webhook Slack URL’nize, geçişin tamamlandığını söylemek için bir istekte bulunabilirsiniz. En son kodu almak için Git Pull veya Git Push’ı çalıştırabilir, hatta sitenizin varlıklarını yeniden oluşturmak için komut dosyasını çalıştırabilirsiniz. Önceki kullanım örneği, medya dosyası geçişi “güvenlik duvarı” nedeniyle işe yaramazsa, bunun etrafında çalışmak için bir kanca çözümü kullanabileceğinizi belirttim. Aşağıda, medya kitaplığınızı SCP CLI komutuyla göndermek için kullanabileceğiniz bir mini eklenti örneği verilmiştir. SCP, “Güvenli Kopyalama” için bir komut satırıdır
dosyaları bir yerden diğerine.RSYNC gibi bir şey aracılığıyla platformlarda çalışmak için en iyi fırsata sahiptir.<? php add_ace ('wpmdb_migration_complete', function () {$ server_address = '[e -posta korumalı] ‘; $ local_dir = wp_content_dir. ‘/uploads’; s %s: %s ‘, $ local_dir, $ server_address, $ remote_dir); // scp command exec ($ cmd); $ webhook_url =’ https: //hooks.slack. com/service/Secretstuff ‘; // Uzaktan isteği gevşek $ data = wp_remote_post ($ webhook_url, dizi (‘başlıklar’ => dizi (‘content-type’ => ‘uygulama/json; charset = utf-8’), ‘gövde’ => json_encode ([JSON_ENCODE ( ‘text’ => ‘taşındı medya.’], ‘yöntem’ => ‘post’, ‘data_format’ => ‘vücut beden’,));});