it-swarm.asia

كيفية: نقل بسهولة تثبيت ووردبريس من التنمية إلى الإنتاج؟

أقوم بالتطوير في صندوق واحد واستخدم الثانية للإنتاج. في الوقت الحالي ، قمت فقط بتفريغ قاعدة البيانات ثم العثور على بديل لتغييرات عنوان URL ؛ ثم قم بنسخ الملفات واستيراد SQL الجديد.

هل هناك طرق أفضل للقيام بذلك؟

197
Ryan Gibbons

@ Insanity5902 : نشر موقع WordPress من صندوق إلى آخر كان PITA منذ اليوم الأول الذي بدأت فيه العمل مع WordPress. (صدق الحقيقة ، لقد كانت PITA مع دروبال لمدة عامين قبل أن أبدأ مع WordPress وبالتالي فإن المشكلة بالتأكيد ليست حصرية مع WordPress.)

لقد أزعجني أنه في كل مرة أحتاج فيها إلى نقل موقع ما ، كنت مضطرًا إلى إنفاق جهد مكرر كثيرًا ومنعني من الانتشار للاختبار كثيرًا كما كنت أفضّل. منذ حوالي 4-6 أشهر ، بدأت العمل على مكون إضافي لحل مشكلة ترحيل مضيف الويب و ذكرت أفكاري في WP منتدى Tavern .

حسنًا سريعًا للتقدم إلى اليوم ، لقد عملت إلى حد كبير وأنا أسميها بشكل ملائم "WP ترحيل خوادم الويب." على الرغم من أن المكوّن الإضافي لا يزال كثيرًا (تجريبيًا حتى ألفا) بالنظر إلى سؤالك ، فأنا أعتقد أنني على استعداد للسماح للناس بالبدء في التأثير عليه.

حالة الاستخدام المتوخاة هي:

  1. أولاً ، يعالج المطور تحميل جميع السمات والملفات الإضافية التي تم تغييرها عبر FTP ،
  2. ثم تحميل قاعدة بيانات تطوير الخلية إلى خادم الاختبار في مجملها وأخيرا
  3. ثم يقوم بتشغيل البرنامج المساعد لترحيل أي مراجع من المجال السابق إلى المجال الجديد. (لا يحاول المكون الإضافي الخاص بي لا حل دمج حقول أو جداول قاعدة البيانات الجديدة مع البيانات المباشرة ؛ أن مشكلة أكبر بكثير لست متأكدًا من كيفية حلها.)

يمكنك تنزيل المكوّن الإضافي من موقعي الإلكتروني وفك ضغطه في دليل الإضافات الخاص بك (إذا كنت لا تعرف كيفية القيام بذلك ، فهذا المكون الإضافي ليس لك ، لأنه يتطلب من شخص يعرف ما يفعله لاستخدامه. ) سأبقي هذا البرنامج المساعد على الإنترنت حتى أصدره إلى WordPress.org وبعد ذلك يجب عليك البحث عنه هناك.

لاستخدامه ، اتبع مقاربة مختلفة في wp-config.php الخاص بك وذلك من خلال التعليق على الأربعة (4) التي تعرف DB_NAME و DB_USER و DB_PASSWORD و DB_Host وبدلاً من ذلك تسجيل الإعدادات الافتراضية لمضيفات الويب ثم تسجيل المعلومات [] عن كل مضيف ويب نفسه. إليك ما قد يبدو عليه هذا الجزء من wp-config.php (لاحظ أن القسم الأول هو التعليمة البرمجية غير الضرورية التي تم تعليقها ولاحظ أيضًا أنني قمت بإعداد ملف مضيفي على جهازي المحلي مع نطاقات المستوى الأعلى غير القابلة للتوجيه .dev للتطوير اليومي أسهل على جهاز Mac VirtualHostX يجعل هذا نسيمًا):

// ** MySQL settings - You can get this info from your web Host ** //
/** The name of the database for WordPress */
//define('DB_NAME', 'wp30');

/** MySQL database username */
//define('DB_USER', 'wp30_anon');

/** MySQL database password */
//define('DB_PASSWORD', '12345');

/** MySQL hostname */
//define('DB_Host', '127.0.0.1:3306');

require_once(ABSPATH . 'wp-content/plugins/wp-migrate-webhosts/wp-webhosts.php');
register_webhost_defaults(array(
 'database'  => 'example_db',
 'user'      => 'example_user',
 'password'  => '12345',
 'Host'      => 'localhost',
 'sitepath'  => '',        // '' if WordPress is installed in the root
));
register_webhost('dev',array(
 'name'      => 'Example Local Development',
 'Host'      => '127.0.0.1:3306',
 'domain'    => 'example.dev',
 'rootdir'   => '/Users/mikeschinkel/Sites/example/trunk',
));
register_webhost('test',array(
 'name'      => 'Example Test Server',
 'rootdir'   => '/home/example/public_html/test',
 'domain'    => 'test.example.com',
));
register_webhost('stage',array(
 'name'      => 'Example Staging Server',
 'rootdir'   => '/home/example/public_html/stage',
 'domain'    => 'stage.example.com',
));
register_webhost('live',array(
 'name'      => 'Example Live Site',
 'rootdir'   => '/home/example/public_html/',
 'password'  => '%asd59kar12*fr',
 'domain'    => 'www.example.com',
));
require_once(ABSPATH . 'wp-content/plugins/wp-migrate-webhosts/set-webhost.php');

نأمل أن يكون هذا (في الغالب) توضيحيًا ذاتيًا. لقد حاولت أن أجعل الكود نظيفًا بقدر ما أستطيع ولكن لسوء الحظ ، فإنه يتطلب هذين الخطين require_once() المشفرين قبل وبعد كتلة كود التسجيل في webhost حيث لم يكن هناك طريقة بالنسبة لي لـ "hook" WordPress قبل wp-config.php.

بمجرد تحديث wp-config.php ، يمكنك ببساطة استخدام اختصار URL wp-migrate-webhosts للانتقال إلى شاشة المسؤول مثل ذلك:

http://example.com/wp-migrate-webhosts

سيأخذك أعلاه إلى شاشة مسؤول مثل التالية التي تحتوي على جزء لا بأس به من نص الوصف ويسمح لك بترحيل من أي من نطاقات مضيف الويب الأخرى بنقرة واحدة بعد تحديد النطاقات المراد ترحيلها من ( NOTE: يوضح هذا المثال الانتقال من لأسفل من خوادم الاختبار/المرحلة/الحية إلى التنمية المحلية ولكن كن مطمئنًا إلى أنه يمكن نقل إلى أي مجال يتم فيه تحديد موقعه هذا يعني أيضًا سيكون المكون الإضافي مفيدًا لأخذ موقع مباشر موجود والحصول بسرعة على بيئة تطوير محلية! ):

 enter image description here 

إذا لم يكن واضحًا "الترحيل" في هذا السياق يعني تحديث جميع المراجع في قاعدة البيانات الحالية لتكون مناسبة لاستضافة الويب المعرفة حاليًا (و "الحالي" يتم استنشق عن طريق فحص $_SERVER['SERVER_NAME'] .)

الأمر الممتع في البرنامج المساعد هو أنه ينفذ بعض عمليات الترحيل الأساسية ولكن يمكن لأي شخص أن يربطها ويؤدي عمليات الترحيل الخاصة به . على سبيل المثال ، إذا قمت بإضافة مكون إضافي للمعرض يخزن مسارات كاملة للصور في قاعدة البيانات ، فيمكنك ربط إجراء migrate_webhosts والذي سيتم تمريره "من" مضيف الويب و "إلى" مضيف ويب كل مجموعة من البيانات الوصفية وسيُسمح لك بأداء كل ما عليك القيام به في قاعدة البيانات باستخدام SQL أو أي وظائف ووردبريس API قابلة للتطبيق للقيام بالترحيل. نعم ، يمكن لأي منا القيام بذلك دون البرنامج المساعد ولكن بدون البرنامج المساعد ، وجدت أن كتابة جميع الكود المطلوب كان جهداً أكبر مما كان يستحق. مع البرنامج المساعد ، من الأسهل فقط كتابة هذه السنانير الصغيرة والحصول عليها.

قد تجد أيضًا أن عمليات الترحيل الخاصة بي تفشل في حالات Edge التي لم أختبرها ، وربما يمكنك مساعدتي في تحسين المكون الإضافي؟ أي شخص يريد إرسال بريد إلكتروني إلي عبر حساب gmail الخاص بي (الاسم المستعار الخاص بي هو "mikeschinkel.")

أيضًا ، تم تصميم المكون الإضافي لقبول البيانات التعريفية لاستضافة webhost التي يحددها المستخدم بالإضافة إلى البيانات التي يتعرف عليها مثل database و user و password و Host و domain إلخ. قد يكون المثال الأمثل هو googlemaps_apikey حيث يمكنك تخزين مفاتيح API مختلفة لكل مجال أن البرنامج المساعد لخريطة Google يجب أن يعمل بشكل صحيح (من بينك الذي استخدم مكون Google Maps الإضافي لم ينشر تطبيقًا على خادم مباشر ونسى تغيير الرمز إلى مفتاح API الصحيح؟ هيا ، كن صريحًا ... :) باستخدام هذا المكون الإضافي ، عنصر googlemaps_apikey في صفيف register_webhost () الخاص بك وربط صغير migrate_webhosts صغير ، يمكنك التخلص من ذلك بشكل فعال كمصدر قلق!

حسنا هذا عن ذلك. أقوم بإطلاق هذا المكون الإضافي هنا على تطبيق WordPress Answerer's Exchange لأن سؤال @ Insanity5902 قد أثاره. اسمحوا لي أن أعرف ما إذا كان من المفيد ، هنا إذا كان ذلك مناسبا أو عبر البريد الإلكتروني إن لم يكن.

ملاحظة إذا قررت استخدام هذا ، تذكر أنه alpha/beta ، وهذا يعني أنه سيتغير ، لذا يجب أن تكون مستعدًا لبعض العمليات الجراحية البسيطة إذا كنت ترغب في استخدامه الآن ، ثم استخدم الإصدار الذي تم إصداره بمجرد التغلب عليه من قبل العديد من الأيدي.

P.P.S. ما هي أهدافي مع هذا؟ أحب أن أرى هذا يهاجر إلى ووردبريس كي يتمكن الجميع من الوصول إليه. لكن قبل ذلك يمكن اعتبار أن الكثير من الناس يجب أن يهتموا باستخدامه للتأكد من أنه في الواقع يحل المزيد من المشاكل ثم يمكن أن يخلقها. لذا ، إذا كنت تحب الفكرة ، فاستخدمها بكل الوسائل وساعدني على اكتساب المزيد من الزخم لإدراجها في نهاية المطاف في برنامج WordPress الأساسي.

121
MikeSchinkel

عندما يكون ذلك ممكنًا ، قمت بتعيين WP_HOME و WP_SITEURL في wp-config.php. هذا ، بالإضافة إلى تفريغ واستيراد قاعدة البيانات ، هو أبسط الحلول التي أعرفها.

http://codex.wordpress.org/Changing_The_Site_URL#Edit_wp-config.php

35
Annika Backstrom

الاختراق المفضل لدي أضف إعدادًا إلى /etc/hosts لجعل نقطة الإنتاج تشير إلى مربع التطوير لديك ، فقط على جهازك. للنشر في الإنتاج ، يمكنك إعادة جميع الملفات ودفع قاعدة البيانات.

مخاطر هذه الاستراتيجية واضحة ؛ قد تخلط بين بيئة التطوير الخاصة بك وبيئة الإنتاج الخاصة بك.

لا يزال حل سهل على الرغم من.

27
Wietse Venema

أردت شيئًا مشابهًا عندما انتقلت إلى WP قبل بضعة أشهر ، لذلك كتبت برنامجًا شل بسيطًا جدًا يستخدم رسينك و mysqldump على ssh:

http://snarfed.org/sync_wordpress

إنه ليس متطورًا أو قائمًا على الويب ، لكنني سعيد به.

9
ryan

WP Engine هي خدمة جديدة تقدم "التدريج بنقرة واحدة":

يحتوي WPEngine على ميزة حصرية تسمى "التدريج". إليك طريقة عمله: قبل إجراء تغيير مخيف على مدونتك ، انقر فوق الزر "لقطة". نحن نصنع نسخة كاملة من مدونتك ونعدها في منطقة منفصلة وآمنة. يمكنك أن تلعب مع أي شيء تريده. لا شيء يعيش. فقط عندما تكون مستعدًا لجعله حيًا ، يمكنك لمس موقعك الرئيسي.

يبدو أنه وسيلة سهلة للغاية للانتقال بسرعة من التطوير إلى الإنتاج ، خاصة مع موقع مباشر بالفعل.

8
Travis Northcutt

Duplicator Plugin: هنا هو البرنامج المساعد الذي كنت أعمل عليه. إنه حاليًا في مرحلة تجريبية ولكنه ينجز المهمة لمعظم المواقع. يستهدف الآن تثبيتات WordPress الأصغر. http://wordpress.org/extend/plugins/duplicator/

الموارد: يمكن العثور على موارد إضافية للمكون الإضافي هنا: http://lifeinthegrid.com/duplicator/

المجتمع: يرجى إعلامنا بنجاحاتك أو أي مشاكل قد تواجهها! في محاولة لإدارة سلاسل الرسائل المختلفة بسهولة أكبر ، الرجاء نشر المشكلات في منتديات البرنامج المساعد WordPress.org. يرجى عدم نشر أي بيانات تسجيل من البرنامج المساعد في المنتديات عبر الإنترنت. يمكن تقديم بيانات التسجيل إلى موقع الدعم الخاص بنا.

7
Cory

يمكنك إلقاء نظرة على منتج من iThemes ، يسمى BackUpBuddy . لقد استعملتها مرتين فقط ، في كل مرة كان لدي عقبة أو اثنتين ، لكن بشكل عام تبدو واعدة.

6
MikeK

هذا يبدو واعدا. نحن نعمل على بعض البرامج النصية للتعامل مع ترحيل بعض البيانات ، خيارات wp على سبيل المثال ، تغيير المسارات في ديسيبل ، نسخ عبر الوسائط.

المشكلة لدي هي أن الموقع المباشر مستمر في النمو بينما الآخر قيد التطوير. يحتوي موقع واحد نعمل عليه على 20 مشاركة في اليوم وأكثر من 3000 تعليق يوميًا. هذه بيانات كثيرة جدًا لا يمكن نقلها باستخدام phpmyadmin أو عبر سطر الأوامر. أيضًا ، يؤدي نقل البيانات دائمًا إلى حدوث مشكلات في UTF لسبب ما.

الآن ، يبدو أن خيارات القائمة مخزنة في قاعدة البيانات ، ولدي المزيد للتعامل معها.

أتحقق من كل الكود الخاص بي في SVN ونشر الرمز عبر FTP من الخادم (Beanstalk). هذا لا يجعل التغييرات على قاعدة البيانات بالنسبة لي على الرغم من أو تفعيل الإضافات الجديدة.

خطتي الآن هي إنشاء ملف بيان أثناء قيامي بالتطوير للقيام بجميع التغييرات التي أجريتها على الموقع المباشر.

على سبيل المثال ، سيكون للملف خطوط بشرية قابلة للقراءة

وستشمل المكونات الإضافية للتنشيط ، وخيارات wp للتنقل ، والصور المراد نقلها ، والصفحات المراد نقلها. بعد ذلك ، سوف يقوم المكون الإضافي الخاص بي باكتشاف ملف البيان وإجراء جميع التغييرات على موقع التدريج.

بمجرد اختبار ذلك وتأكدًا من حصولي على كل شيء ، يمكن أن أكون متأكدًا من أنه سيعمل على الإنتاج.

لا يزال هذا البرنامج المساعد مجرد فكرة ، لكن لديّ رمز مكتوب له.

أيضًا ، إذا كنت تريد إجراء تغييرات على عنوان URL فقط في قاعدة بياناتك ، فيمكنك استخدام SQL التالية.

فقط استبدل $old$ بالنطاق القديم و $new$ بالجديد

update wp_postmeta set meta_value = replace(meta_value, '$old$' , '$new$') ;
update wp_posts set post_content = replace(post_content, '$old$' , '$new$') ;
update wp_options set option_value = replace(option_value, '$old$' , '$new$') ;
5
Andrew

أنا شخصيا أعالج هذه المشكلة مع مشروعي على جيثب ، ودعا Autopress . ليس لدي حل مثالي حتى الآن ، لكنني أقترب ، خاصة مع البرنامج المساعد wpstage من أهل wpengine.

5
Vid Luther

مشروعان لبرنامج Google Summer of Code لهما هدف مماثل:

4
Jan Fabry

اعتبارًا من عام 2017 ، إليك أفضل طريقتين وجدتهما للتعامل مع نقل قاعدة بيانات WordPress من التطوير إلى الإنتاج.

WP Migrate DB Pro/WP Sync DB

https://wordpress.org/plugins/wp-migrate-db/

تتيح لك إضافات WordPress هذه دفع جداول قاعدة البيانات وسحبها ومزامنتها بين عمليات تثبيت WordPress. هذا أفضل بكثير من العثور على/استبدال لأسباب عديدة لأنه:

  • يصدر قاعدة بياناتك كملف بيانات MySQL (يشبه إلى حد كبير phpMyAdmin)
  • هل البحث والاستبدال على عناوين URL ومسارات الملفات
  • يعالج البيانات المتسلسلة
  • يتيح لك حفظه على جهاز الكمبيوتر الخاص بك كملف SQL

أنا معجب بالدفع مقابل العمل الذي أقوم به ، لذلك أوصيك بدعم السيد براد توسنارد وشراء نسخة من تراخيص الشيء الحقيقي. WP تعد Sync DB نسخة متكررة وتظل دائمًا متأخرة في الدعم نتيجة لذلك. مع هذا البرنامج المساعد ، أصبحت العملية بسيطة:

  1. تثبيت/تفعيل البرنامج المساعد على المضيف المحلي وبيئة الإنتاج
  2. تكوين نقل Push من الخادم المضيف المحلي/التنمية إلى الإنتاج الخاص بك
  3. املأ القواعد التي سيتم نقل الجداول إليها ، وحدد إيجاد واستبدال القواعد التي يجب تنفيذها
  4. هذا هو!

البحث في قواعد البيانات واستبدال قواعد بيانات WordPress بواسطة InterconnectIT

https://interconnectit.com/products/search-and-replace-for-wordpress-databases/

هذه الأداة المجانية ليست مكونًا إضافيًا ، ولكن تم تثبيتها في الدليل الجذر لتثبيت تثبيت إنتاج WordPress الخاص بك. هذا ليس جيدًا مثل WP Migrate DB Pro لأنه يتطلب بعض الخطوات اليدوية ، ومع ذلك فهو خيار رائع يعمل باستمرار. عند استخدام هذا النهج ، تبدو العملية كما يلي:

  1. قم بعمل نسخة احتياطية لقاعدة البيانات المحلية الخاصة بك ، فهناك حاجة مطلقة لأننا سنعيد استيرادها قريبًا
  2. أضف البرنامج النصي إلى مجلد في الدليل الجذر للتثبيتات
  3. تشغيل البحث واستبدالها في قاعدة البيانات الخاصة بك
  4. تصدير قاعدة البيانات الخاصة بك وحفظها لبيئة الإنتاج الخاصة بك
  5. أعد استيراد النسخة الاحتياطية من الخطوة رقم 1 لاستعادة مضيفك المحلي
  6. قم بالاتصال بقاعدة بيانات الإنتاج الخاصة بك وعمل نسخة احتياطية منها (كما يجب دائمًا قبل القيام بهذه الأشياء)
  7. قم باستيراد التصدير الذي أجريناه بعد تشغيل الروتين find/replace من الخطوة رقم 4

يمكنك استخدام نهج أسرع ، ولكنه ينطوي على التوقف عن العمل في موقع الإنتاج الخاص بك والذي في رأيي غير مقبول. لهذا السبب نسميها الإنتاج ، أليس كذلك؟

3
Kevin Leary

بينما لا يوجد نقص في الحلول الجيدة هنا ، وبروح المشاركة اعتقدت أنني سأضيف نص نشر bash الخاص بي إلى الكومة: https://github.com/jplew/SyncDB

SyncDB هو bash نشر سيناريو يهدف إلى إخراج tedium من مزامنة الإصدارات المحلية والبعيدة من موقع Wordpress. يسمح للمطورين الذين يعملون في بيئة محلية (على سبيل المثال ، MAMP) بسرعة "دفع" أو "سحب" التغييرات إلى أو من خادم الإنتاج مع أمر محطة واحد.

يعمل هذا البرنامج النصي بشكل جيد مع Mark Jaquith's WP-Skeleton ، ويسخر mysqldump و git و rsync لمزامنة موقعك بالكامل - قاعدة البيانات والرمز والوسائط - في خطوتين سهلتين:

./syncdb
git Push hub master
3
JP Lew

أنا أستخدم http://wordpress.org/plugins/wp-clone-by-wp-academy/ . انها تعمل بشكل جيد!

فقط 3 خطوات:

  1. تثبيت البرنامج المساعد على كلا الموقعين.
  2. استخدم المكوّن الإضافي لإنشاء نسخة احتياطية على الموقع القديم.
  3. خذ عنوان URL الاحتياطي الذي يوفره لك وقم بتوصيله في صفحة البرنامج المساعد على الموقع الجديد ، ثم اضغط على go ، ثم اكتمل الترحيل خلال ثوانٍ معدودة!

يقوم بضبط جميع عناوين URL تلقائيًا - بما في ذلك بدائل السلسلة المتسلسلة - لذلك لا يوجد خطر لفقد تكوينات عنصر واجهة المستخدم ، إلخ.

المشكلات الوحيدة التي أواجهها هي بعض مواقع الويب التي تحتوي على قواعد بيانات أكبر (~ 300 ميجابايت) ، والتي تسببت في مهل تنفيذ البرنامج النصيPHPأثناء استيراد نسخة احتياطية للموقع.

3
jmotes

أستخدم أمر تصدير Subversion لتثبيت ملفات WordPress (http://core.svn.wordpress.org/tags//) وكذلك جميع الإضافات في المستودع (http://plugins.svn.wordpress.org//tags //) ، ثم فقط اضغط على السمات والإضافات المخصصة وتثبيتها بشكل طبيعي. بمجرد أن يتم تشغيل كل ذلك بدون محتوى ، أقوم بتصدير قاعدة بيانات الاختبار وأجري عملية بحث/استبدال لعنوان URL وملف file (المخزن للوسائط) والاستيراد إلى قاعدة بيانات فارغة ، ثم قم فقط بتبديل معلومات قاعدة البيانات في wp-config فب. عموما يأخذني حوالي 10 - 20 دقيقة.

3
John P Bloch

عادةً ما أقوم بتسجيل الدخول إلى phpMyadmin لتحميل قاعدة البيانات وتحرير محتويات wp_options> siteurl و wp_options> الموطن إلى المجال المتوقع. إذا كنت بحاجة إلى تحديث عناوين URL في محتوى منشوراتك وصفحاتك ، يمكنك إجراء بحث/استبدال عنوان URL ومسار الوسائط/التحميلات على ملف .SQL قبل التحميل. إنها مهمة سريعة.

3
Alex Costa

لقد تم استخدام البرنامج المساعد backupbuddy لفترة من الوقت الآن. يتيح لك عمل نسخة احتياطية من قاعدة البيانات وجميع الملفات ، وتنزيلها على شكل Zip أو إرسالها مباشرة إلى خادم آخر عبر FTP. كما يفعل URL لإيجاد واستبدال لك. عادة ما يستغرق الأمر حوالي 5 دقائق ليخوض العملية بأكملها. ولأن جميع الملفات مضغوطة ، فإن عملية التحميل/التنزيل أسرع بكثير. لا ، أنا لا أعمل من أجلهم ، لكن هذا البرنامج المساعد قد جعل هذه العملية برمتها أسهل بكثير.

1
gdaniel

حل آخر للدفع: إطار عمل Xtreme One theme الإصدار 1.2 مع Xtreme Backup الذي يسمح لك بـ "تصدير أو استيراد إعدادات Childthemes أو التخطيطات أو عناصر واجهة المستخدم الخاصة بك مع كل إعداداتها/محتواها مثل ملف XML. "

1
Jan Fabry

منذ أن قمت بتشغيل موقعي في IIS (أنا أيضًا أدير asp.net ، لذلك أحتاج إلى windows) أستخدم WebPI من Msft لتثبيت مثيل جديد ، ثم أقوم بنسخ القالب واستخدم الاستيراد/التصدير لنقل البيانات.

إنه ليس مثاليًا ولكن الأمر برمته يستغرق أقل من ساعة.

من الواضح أنه سيكون من الجيد الحصول على حل بنقرة واحدة ، ولكن هذا ما وجدته أسهل بالنسبة لي.

1
Sruly

RAMP هو مكون إضافي جديد لنشر المحتوى من Crowd Favorite ، ويبدو أنه بقعة بالفعل. إنه 250 دولار ، لذلك لم أجربها بعد. قد تدفع فقط لنفسها في مقدار الوقت المدخر ، لذلك ، أنا أفكر في ذلك.

الفائدة الكبيرة التي يتمتع بها على معظم الطرق الأخرى المذكورة ، هي أنه يمكنه دمج النشرات والتعليقات بذكاء ، وما إلى ذلك. إنها ليست فقط استيراد mysqldump ، إنها أشبه بالتحكم في مصدر قاعدة البيانات. على سبيل المثال ، عند نشر منشور ، فإنه سينشر أيضًا العلامات لهذا المنشور ، إذا لم تكن موجودة بالفعل في الإنتاج.

1
Ian Dunn

وجد زميل في العمل هذا. مفهوم مثير للاهتمام ، على الرغم من أنه لا يعمل عبر خادم يبدو. ما زلت أستكشفها ، لكن يبدو أنها قد تنجح بشكل رائع في حالة التدريج

http://code.google.com/p/deploymint/

1
Ryan Gibbons

قد لا يكون هذا موجودًا عند طرح السؤال ، لكنني أستخدم خدمة تدعى Blogvault لمدة شهرين وقد فعلت ذلك بلا عيب. ربما قمت بأكثر من 50 عملية ترحيل (نطاقات متقاطعة ، نطاقات فرعية ، ومضيفات ويب) ، وليس عقبة ولا تستغرق وقتًا على الإطلاق.

إنها خدمة مدفوعة (لكل مجال/شهر) ، ولكن ليس كثيرًا.

1
Larry

هذه هي أسهل طريقة على الإطلاق: https://themes.artbees.net/docs/website-migration/
لا يستغرق الأمر سوى نقرتين. واحد للتصدير ، واحد للاستيراد.

إنه ممكن باستخدام المكوّن الإضافي الكل في واحد WP المكوّن الإضافي. الرابط أعلاه يوضح كيفية استخدامه.

1
Mohsenr1

أداة WordPress CLI هي أداة مفيدة أخرى لمعالجة ترحيلات الخوادم للمواقع ، حيث تحتوي هذه المقالة على نظرة عامة جيدة حول ما يمكن أن تفعله ، لكن قسم "البحث والاستبدال" على وجه التحديد مفيد للعثور على جميع المراجع إلى عنوان url للموقع القديم/dev :

إدارة WordPress المتقدمة مع WP-CLI

1
Rick Curran

اسمحوا لي أن أقدم بعيدا واحدة من المفضلة :-)

// proven local<->live codefork (covers local network testing, i.e. from mobile devices):
$GLOBALS['is_local'] =  
    in_array( $_SERVER['REMOTE_ADDR'], array("127.0.0.1","::1")) || // simple localhost (IPv4 IPv6)
              $_SERVER['HTTP_Host'] == 'local.workblog'          || // call by local name (adjust)
       substr($_SERVER["REMOTE_ADDR"],0,8) == '192.168.';           // (mobile) device in local network

$table_prefix  = NULL; // ensure scope

if ( $GLOBALS['is_local'] )  // LOCAL fork ------------------------
{
        ....
}
else  // STAGE/LIVE fork -------------------
{

... ثم تعمل طريقك من هناك. DB_NAME ، DB_USER ... table_prefix. أنا شخصياً أقوم بتشغيل ALTERNATE_WP_CRON على المحلي (لتجنب بعض التحذيرات المزعجة ) أو WP_DEBUG على كلاهما (إذا لم تكن مطورًا) أو تعمل مباشرًا (إذا كنت) ، يمكن أن تقوم ini_set('display_errors', '0'); أخرى بث مباشر أيضًا جيد ، أخيرًا ، كما ذكر أعلاه: WP_HOME و WP_SITEURL لعنوان URL المحلي/الفعلي ذي الصلة.

هذا كل شيء إلى حد كبير ، لم يتبق شيء فوق WordPress الكلاسيكي "هذا كل شيء ، توقف عن التحرير!" خط ...

ال 192.168. يسمح لك الجزء بإجراء بعض الاختبارات المحلية (أي من منصات أو هواتف) داخل شبكتك المحلية)

يمكن أن يكون $ GLOBALS ['is_local'] مفيدًا في تطوير السمات الخاصة بك ، أيضًا ، بالنسبة لبعض مخرجات تصحيح الأخطاء الإضافية ، إلخ ...

1
Frank Nocke

بعد اتباع هذه الإجابة لفترة من الوقت ، قمتُ بإنشاء مكون إضافي صغير - Pitta Migration . الأسباب هي:

  1. من بين كل الأفكار التي تمت تجربتها هنا - أبسطها هي خيارات WP_HOME و WP_SITEURL
  2. أنا بعد ذلك استخدم هذين الخيارين لتعيين اثنين من عناوين URL wp_options المطابقة - والتي تغطي عندما تتجاهل المكونات الإضافية/السمات هذه
  3. هذا يعطيني ثقة بنسبة 100 ٪ في ما يجري تغييره في قاعدة البيانات الخاصة بي
  4. يعمل هذا أيضًا عبر الأنظمة الأساسية (لا تعمل جميع نصوص bash هذه بشكل جيد على نظام Windows)
  5. من السهل أن نفهم ما يفعله البرنامج المساعد
  6. لا يوجد أي تكوين يتجاوز الثوابتين - قم بإجراء mysqldump واستيراد mysql إلى قاعدة البيانات المحلية الخاصة بك ويرى المكوّن الإضافي أن الثابت والجدول مختلفان ويحدّثانهما لمطابقتهما
  7. لا البحث عن نص واستبداله
  8. لا توجد فرصة لمهاجمة قاعدة البيانات الخاصة بك - يمكنني استخدام كائن قاعدة بيانات WordPress للقيام بتحديثين وليس أكثر
  9. يتم تشغيله بشكل جيد مع أشياء مثل WordPress Skeleton حيث يمكنك التحكم في مصدر كل شيء وتعيين تكوين محلي
  10. لقد وضعته في دليل الإضافات ووردبريس وعلى جيثب بحيث يكون مجانيًا ، مفتوح المصدر بالكامل ، يسهل عليك شوكة وسهل التثبيت
  11. بمجرد تثبيته ، يمكنك نسيانه ويجب أن "يعمل فقط" - إنه يعطيك إشعارًا قليلًا للقول إن قاعدة البيانات قد تم تعديلها
  12. يجب أن تعمل مع أي عملية النسخ الاحتياطي/FTP/استعادة
0
icc97

إذا كنت تحاول تحقيق التزامن المستمر ، أقترح استخدام rsync مع مهمة cron مخصصة لإعادة كتابة أي رابط أو بيانات خاصة بالموقع.

0
user92899

في رأيي ، أسهل طريقة تتبعها هي النقل اليدوي .. ما عليك سوى نسخ مجلد محتوى wp وملف wp-config.php إلى المضيف الجديد. تصدير قاعدة البيانات من المضيف القديم واستيرادها في قاعدة بيانات جديدة من المضيف الجديد ..

في قاعدة بيانات المضيف الجديدة ، انتقل إلى جدول خيار wp وهناك تغيير عنوان URL للموقع وعنوان URL للمدونة إلى عنوان مضيف جديد من المضيف القديم. الإعجابات من http: // localhost/wp إلى http://example.com

الآن في ملف wp-config قم فقط بتغيير معلومات قاعدة البيانات والمستخدم باستخدام معلومات مضيف جديدة.

قم الآن بتسجيل الدخول إلى wp-admin الجديد وانتقل إلى الإعدادات وحفظ الرابط الثابت.

انتهيت. أعتقد أن هذا أمر بسيط دون استخدام أي ملحقات.

لقد جربت أنواعًا مختلفة من الإضافات وكل هذه لديها العديد من المشكلات ..

لذلك أنا أفضل هذا النقل اليدوي البسيط الذي أعتقد أنه أسهل.

0
Md. Amanur Rahman