Comment: déplacer facilement une installation WordPress du développement à la production?
-
-
Pour lesnouveaux venus à la qeustion.1 anplustardet j'utilisetoujours leplugin @MikeSchinkel.Il a un 0.7 sur lequelj'ai déplacé quelquesinstallations sansproblème.http://mikeschinkel.com/downloads/wp-migrate-webhosts-0.7.zipFor the newcomers to the qeustion. 1 Year later and I'm still using @MikeSchinkel plugin. He has a 0.7 out that I've moved a couple installs to without problems. http://mikeschinkel.com/downloads/wp-migrate-webhosts-0.7.zip
- 3
- 2011-08-26
- Ryan Gibbons
-
Voici un script sansplugin quej'aipubliéet qui a énormément aidémonprocessus.http://philipdowner.com/2012/01/script-to-make-wordpress-site-migrations-easier/Here's a plugin-free script that I've release that has helped my process immensely. http://philipdowner.com/2012/01/script-to-make-wordpress-site-migrations-easier/
- 0
- 2012-01-17
- Philip Downer
-
http://wp.tutsplus.com/tutorials/how-to-sync-a-local-remote-wordpress-blog-using-version-control/http://wp.tutsplus.com/tutorials/how-to-sync-a-local-remote-wordpress-blog-using-version-control/
- 0
- 2012-01-27
- agileapricot
-
Aujourd'hui,ilexiste unplugin appelé Duplicator: http://wordpress.org/extend/plugins/duplicator/C'est littéralement unprocessusen trois étapeset fonctionne comme un charme.Utiliséplusieursfois déjàpour déployer un site Web d'unenvironnement detest vers unenvironnementen direct.Today, there is a plugin called Duplicator: http://wordpress.org/extend/plugins/duplicator/ It's literally a three-step process and works like a charm. Used this multiple times already to deploy a website from a test environment to a live one.
- 7
- 2012-07-30
- Matthias
-
26 réponses
- votes
-
- 2010-08-12
Lorsque c'estpossible,j'ai défini
WP_HOME
etWP_SITEURL
danswp-config.php
.Ceci,combiné avec un vidageet uneimportation debase de données,est laplus simple detoutes les solutions queje connais.http://codex.wordpress.org/Changing_The_Site_URL#Edit_wp-config.php
When possible, I set
WP_HOME
andWP_SITEURL
inwp-config.php
. This, combined with a database dump and import, is the most simple of all solutions I'm familiar with.http://codex.wordpress.org/Changing_The_Site_URL#Edit_wp-config.php
-
Quandne serait-ilpaspossible de les définir?Cela semble unpeuplus simple que de changer des choses dans labase de données.When would it not be possible to set these? This sounds slightly simpler than changing things in the database.
- 1
- 2011-10-20
- jfklein
-
@jfklein Jetravaillepresquetoujours avec un réseau WordPress,ce quiestincompatible avec ces constantes.@jfklein I'm almost always working with a WordPress Network, which is incompatible with these constants.
- 3
- 2011-10-20
- Annika Backstrom
-
Faire lamême chose.Malheureusement,tous lesthèmesn'honorentpas cela.c'est-à-dire 'Repsonsive Theme' de ThemeID.Rechercher dans le vidage/toutes lestables 'http://localhost' (ou lenom local que vous avez choisi),en particulier wp_optionset effectuer une rechercheet des remplacementsest souventinévitable.Doing the same. Regrettably, not all themes honor this. i.e. 'Repsonsive Theme' from ThemeID. Searching the dump/all tables for 'http://localhost' (or whatever you chosen local name), especially wp_options and making search&replaces is often unavoidable.
- 1
- 2013-05-26
- Frank Nocke
-
@FranKee J'ai créé unplugin https://wordpress.org/plugins/pitta-migration/qui utilise les constantespourmettre àjour latable wp_options qui devrait couvrir laplupart desthèmeset plugins@FranKee I've create a plugin https://wordpress.org/plugins/pitta-migration/ that uses the constants to update the wp_options table which should cover most themes and plugins
- 0
- 2015-08-21
- icc97
-
@icc97: Charmant.Je vais le regarder.PS: Belleimage d'en-tête,représente la situation.@icc97: Lovely. Will look at it. PS: Nice header image, pictures the situation.
- 0
- 2015-08-21
- Frank Nocke
-
@FranKee applaudit :)@FranKee cheers :)
- 0
- 2015-08-22
- icc97
-
- 2011-03-02
Mon hackpréféré;ajoutez unparamètre à votre
/etc/hosts
pour que le domaine deproductionpointe vers votreboîte de développement,juste sur votremachine.Pour déployeren production,vous resynchroniseztous lesfichierset transférez labase de données.Les risques de cette stratégie sont clairs;vouspouvez confondre votreenvironnement de développement avec votreenvironnement deproduction.
Cela reste cependant une solutionfacile.
My favourite hack; add a setting to your
/etc/hosts
to make the production domain point to your development box, just on your machine. To deploy to production you rsync all the files and push the database over.The risks of this strategy are clear; you might confuse your development environment with your production environment.
It still an easy fix though.
-
Oui!Je suistellement content dene pas être la seulepersonne à avoirpensé à ça!_toute_ différenceentre devet prodestmauvaise.Supprimer complètement cette différenceestbien mieux que d'essayer de la contourner.Et cette configurationne demande aucuntravail.Onpeutmêmefaire destests sur unemachine virtuelle avec unfichier d'hôtesmodifié sinécessaire.Yes! I'm so glad I wasn't the only person to have thought of that! _any_ difference between dev and prod is bad. Removing that difference altogether is far better than trying to work around it. And this setup takes no work at all. One can even do testing on a virtual machine with modded hosts file if needed.
- 5
- 2011-11-21
- Alexander Bird
-
J'aimebeaucoup cetteméthode,mais commentgérez-vous labase de donnéespush/pull?I like this method a lot, but how do you handle the database push/pull?
- 2
- 2015-04-26
- Joel Peltonen
-
En ce qui concerne le risque de confondre dev avecprod,j'utilise unplugin Chrome qui affiche l'adresse IP de lapage Web.Vous saurez que vous êtesen local lorsque son 127.0.0.1As for the risk of confusing dev with prod, I use a Chrome plugin that displays the IP address of the webpage. You'll know you're on local when its 127.0.0.1
- 0
- 2016-05-12
- kosinix
-
- 2010-08-31
Je voulais quelque chose de similaire lorsquej'aimigré vers WPil y a quelquesmois,j'ai donc écrit un script shell assez simple qui utilise rsyncet mysqldump sur ssh:
http://snarfed.org/sync_wordpress
Cen'estni sophistiquéni basé sur le Web,maisj'en suis satisfait.
I wanted something similar when I migrated to WP a few months back, so I wrote a pretty simple shell script that uses rsync and mysqldump over ssh:
http://snarfed.org/sync_wordpress
It's not sophisticated or web based, but I'm happy with it.
-
- 2010-08-12
WP Engine est unnouveau service quipropose un "One-Click Staging":
WPEngine a unefonctionnalitéexclusive appelée "miseen scène".Voici comment celafonctionne: avant d'apporter unemodificationeffrayante à votreblog,cliquez sur lebouton "instantané".Nousfaisons une copie complète de votrebloget l'installons dans une zone séparéeet sûre.Vouspouvezjouer avectout ce que vous voulez;rienn’esten direct.Cen'est que lorsque vous êtesprêt à lemettreen ligne que voustouchez votre siteprincipal.
Cela semble être unmoyentrès simple depasser rapidement du développement à laproduction,en particulier avec un site déjàen ligne.
WP Engine is a new service that offers "One-Click Staging":
WPEngine has an exclusive feature called “staging.” Here’s how it works: Before you make a scary change to your blog, click the “snapshot” button. We make a complete copy of your blog and set it up in a separate, safe area. You can play with anything you want; nothing’s live. Only when you’re ready to make it live do you touch your main site.
Looks like a very easy way to quickly move from development to production, especially with an already live site.
-
C'est unetrèsbelle optionen effetet seraformidablepourbeaucoup degens!Celane fonctionnebien sûrpaspour les URLintégréeset n'aidepasnonplus lespersonnes qui développent localement afin depouvoir utiliser un IDE avec un débogueur.Maintenant,si WPEnginepeut créer uneinteraction quifusionne également un déploiement local,ce sera vraiment quelque chose (Technosailor,vous écoutez?)That's a very nice option indeed and will be great for many people! That of course doesn't work for embedded URLs nor does it help for people who develop locally so they can use an IDE with a debugger. Now if WPEngine can create an interaction that merges a local deploy too then it will really be something (Technosailor, you listening?)
- 3
- 2010-08-12
- MikeSchinkel
-
D'accord,ce serait un ajoutfantastique.Agreed, that would be a fantastic addition.
- 0
- 2010-08-20
- Travis Northcutt
-
Lafonction de captureinstantanéene copie * que * de laproduction à lapréparation,et non l'inverse.C'estidéalpourtester lesmodifications,mais celan'aiderapaspour le déploiementen production.The snapshot feature copies *only* from production to staging, not the other way around. It's great for testing changes, but it won't help for deploying to production.
- 0
- 2013-05-02
- sam
-
@samen fait,ils ont récemment commencé à déployer lapossibilité de copier de lamiseen scène à laproduction.http://wpengine.com/2013/04/user-portal-v2-and-staging-to-production/@sam actually, they just recently started rolling out the ability to copy from staging to production. http://wpengine.com/2013/04/user-portal-v2-and-staging-to-production/
- 2
- 2013-05-02
- Travis Northcutt
-
- 2012-03-16
Plug-in Duplicator: Voici unplugin sur lequelj'aitravaillé.Ilest actuellementen versionbêta,maisilfait letravailpour laplupart des sites.À l'heure actuelle,ilest destiné auxpetitesinstallations WordPress. http://wordpress.org/extend/plugins/duplicator/
Ressources: Des ressources supplémentairespour lepluginpeuvent êtretrouvéesici: http://lifeinthegrid.com/duplicator/
Communauté: Veuilleznousfairepart de vos succès ou detoutproblème que vouspourriez rencontrer!Dans lebut degérerplusfacilement les différentsfils,veuillezpublier lesproblèmes sur lesforums deplugins WordPress.org.Veuillezne paspublier de données dejournalisation duplugin dans lesforumsen ligne.Les données dejournalisationpeuvent être soumises ànotre site d'assistance.
Duplicator Plugin: Here is a plugin that I have been working on. It's currently in beta but it gets the job done for most sites. Right now it is targeted at smaller WordPress installs. http://wordpress.org/extend/plugins/duplicator/
Resources: Additional resources for the plugin can be found here: http://lifeinthegrid.com/duplicator/
Community: Please let us know about your successes or any issues you might run into! In an effort to more easily manage the various threads please post issues to the WordPress.org plugin forums. Please do not post any logging data from the plugin into the online forums. Logging data can be submitted to our support site.
-
- 2010-08-20
Vouspouvezjeter un œil à unproduit d'iThemes,appelé BackUpBuddy .Jene l'ai utilisé que deuxfois,à chaquefoiseu un accroc ou deux,mais dans l'ensemble,cela sembleprometteur.
You might take a look at a product from iThemes, called BackUpBuddy. I've only used it twice, each time had a hitch or two, but overall it looks promising.
-
- 2010-08-11
Jetraitepersonnellement ceproblème avecmonprojet sur Github,appelé Autopress .Jen'aipasencore de solutionparfaite,maisje me rapproche,surtout avec leplugin wpstage desgens de wpengine.
I am personally addressing this issue with my project on Github, called Autopress. I don't have a perfect solution yet, but I'm getting closer, especially with the wpstage plugin from the wpengine folks.
-
Je viens de vérifier votre script.Agréable.Sij'ai compris,ilinstalle unnouveau WP sur le serveur.La questioniciest de savoir commentpasser du développement à laproduction.Celapeut-il aider?Just checked out your script. Nice. If I understood it installs a fresh WP on the server. The question here is how to migrate from development to production. Can it help with that?
- 0
- 2010-08-11
- Sruly
-
Est-ce ceci?http://github.com/vluther/Autopress Je suggère de créer des liens dans vos réponses afin que lesgenspuissent cliquer directement!Is this it? http://github.com/vluther/Autopress I suggest creating links in your answers so people can click right through!
- 17
- 2010-08-12
- artlung
-
@Mike Lee: Oui,vouspouvez voterpour les commentaires.Vous voyez,j'ai votépour le commentaire d'artlung.Recherchez laflèche vers le hauten survolant àgauche du commentaire.@Mike Lee: Yes, you can up-vote comments. See, I upvoted artlung's comment. Look for the uparrow on hover to the left of the comment.
- 4
- 2010-08-12
- MikeSchinkel
-
Jetravaille sur unmoyen detoutgarder dans le contrôle de version,puis depasser du développement à laproduction.J'ai déjàpu lefaire sans aucunproblèmepour quelques sites,maisil y aencore quelques ajustements queje dois résoudre.I'm working on a way to keep everything in version control, and then pushing from dev to production. I've been able to do it without any issues for a few sites already, but there are still some tweaks that I need to address.
- 0
- 2010-08-14
- Vid Luther
-
Jene saispas si c'est le cas,maisilexiste unplugin WP Engine quiest utilisépour lamigration de siteentre les hôtes.Il s'appelle [Snapshot] (http://wpengine.com/plugins/) ([Lien direct] (http://plugins.wpengine.com/wpengine-snapshot.zip)).Not sure if this is it, but there is a WP Engine plugin which is used for site migration across hosts. It's called [Snapshot](http://wpengine.com/plugins/) ([Direct link](http://plugins.wpengine.com/wpengine-snapshot.zip)).
- 1
- 2011-03-13
- joelhaus
-
http://plugins.wpengine.com/wpengine-snapshot.zipestparti :(http://plugins.wpengine.com/wpengine-snapshot.zip is gone :(
- 0
- 2013-05-02
- sam
-
Il semble avoir supprimé son comptegithub.He seems to have deleted his github account.
- 0
- 2013-05-26
- Brian Ortiz
-
Oui,ceprojet a définitivement disparu.Yep this project has definitely gone.
- 0
- 2014-10-21
- icc97
-
- 2010-08-24
Cela sembleprometteur. Noustravaillons sur des scriptspourgérer lamigration de certaines données,wp-optionsparexemple,changer les chemins dans labase de données,une copie sur lemédia.
Leproblème quej'aiest que le siteen ligne continue de croîtretandis que l'autreesten développement. Un site sur lequelnoustravaillons a 20publicationsparjouret plus de 3 000 commentairesparjour. C'esttrop de données à déplacer avecphpmyadmin ou via la ligne de commande. Deplus,le déplacement des donnéesentraînetoujours desproblèmes UTFpour une raison quelconque.
Deplus,maintenant qu'il semble que les options demenu sont stockées dans labase de données,j'aiencoreplus àgérer.
Je vérifietoutmon code dans SVNet déploie le code via FTP depuis le serveur (Beanstalk). Cependant,celane modifiepas labase de donnéespourmoini n'active denouveauxplugins.
Monplanpour lemomentest de créer unfichiermanifestependant queje développepourfairetoutesmesmodifications sur le siteen ligne.
Parexemple,lefichier aurait des lignes lisiblespar l'homme
Celainclurait desplugins à activer,des wp-optionspour se déplacer,desimages à déplacer,despages à déplacer. Ensuite,monplugin détecterait lefichiermanifesteet apporteraittoutes lesmodifications au site detest.
Unefois quej'aitesté celaet quej'étais sûr detout avoir,je pouvais être sûr que celafonctionneraiten production.
Cepluginn'estencore qu'uneidée,maisj'ai du code écritpour cela.
Deplus,si vous souhaitezmodifier uniquement l'URL de votrebase de données,vouspouvez utiliser le SQL suivant.
remplacez simplement
$old$
par l'ancien domaineet$new$
par lenouveauupdate 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$') ;
This looks promising. We are working on some scripts to handle migrating some of the data, wp-options for example, changing paths in the db, a copying over media.
The issue I have is that the live site continues to grow while the other is in development. One site we work on has 20 posts a day and over 3,000 comments per day. That is too much data to move over with phpmyadmin or via the command line. Also, moving the data around always causes UTF issues for some reason.
Also, now that it looks like menu options are stored in the DB, I have even more to deal with.
I check all my code into SVN and deploy the code via FTP from the server (Beanstalk). This does not make the changes to the DB for me though or activate new plugins.
My plan right now is to create a manifest file while I am developing to do all my changes to the live site.
For example the file would have human readable lines
It would include plugins to activate, wp-options to move over, images to move, pages to move. Then my plugin, would detect the manifest file and make all the changes to the staging site.
Once I tested that and was sure I got everything, I could be sure it would work on production.
This plugin is still just an idea, but I have some code written for it.
Also, if you want to make changes to just the URL in you DB, you can use the following SQL.
just replace
$old$
with the old domain and$new$
with the newupdate 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$') ;
-
Juste unenote,mon appel SQLpeut vous casser des données sérialisées. s: 14:blogs.prod.com a la longueurencodéeen 14. Après avoirexécuté le code,nous avonsmaintenant s: 14: dev.prod.com quiest corrompu.Devrait être s: 12: dev.prod.com utiliser avecprécaution.Just a note, my sql call may break you serialized data. s:14:blogs.prod.com has the length encoded as 14. After running the code, we now have s:14:dev.prod.com which is corrupt. Should be s:12:dev.prod.com use with caution.
- 2
- 2010-08-25
- Andrew
-
- 2017-02-24
Depuis 2017,voici les deuxmeilleursmoyens quej'aitrouvéspourgérer letransfert d'unebase de données WordPress du développement à laproduction.
WP Migrate DB Pro/WP Sync DB
https://wordpress.org/plugins/wp-migrate-db/
Cesplugins WordPress vouspermettent depousser,d'extraireet de synchroniser lestables debase de donnéesentre lesinstallations WordPress. C'estbien mieux qu'une recherche/remplacementpour denombreuses raisons car:
- Exporte votrebase de donnéesen tant que vidage de données MySQL (unpeu commephpMyAdmin)
- Effectue une rechercheet un remplacement sur les URLet les chemins defichiers
- Gère les données sérialisées
- Vouspermet de l'enregistrer sur votre ordinateur sousforme defichier SQL
Je suisfan d'êtrepayépour letravail queje fais,doncje vous recommande de soutenir M. Brad Touesnardet d'acheter une copie de licence de la vraie chose. WP Sync DBest une répliqueet ilesttoujoursen retard dans le supporten conséquence. Avec ceplugin,leprocessusestextrêmement simple:
- Installer/activer leplugin sur votre hôte localet votreenvironnement deproduction
- Configurez untransfertpush de votre hôte local/serveur de développement vers votreproduction
- Renseignez les règlespour lestables àtransféreret définissez les règles de rechercheet de remplacement àeffectuer
- Voilà!
Recherche dans labase de données & amp; Remplacer lesbases de données WordPresspar InterconnectIT
https://interconnectit.com/products/search-and -replace-for-wordpress-databases/
Cet outilgratuitn'estpas unplugin,maisestinstallé dans votre répertoire racine de votreinstallation deproduction WordPress. Cen'estpas aussibon que WP Migrate DB Pro car celanécessite quelques étapesmanuelles,mais c'estnéanmoins uneexcellente option quifonctionnetoujours. Lorsque vous utilisez cette approche,leprocessus ressemble à ceci:
- Sauvegardez votrebase de données locale,c'est absolumentnécessaire carnous la réimporteronsbientôt
- Ajoutez le script à un dossier dans le répertoire racine de votreinstallation
- Exécutez la rechercheet le remplacement sur votrebase de données
- Exportez votrebase de donnéeset enregistrez-lapour votreenvironnement deproduction
- Réimportez votre sauvegarde àpartir de l'étape 1pour restaurer votre hôte local
- Connectez-vous à votrebase de données deproductionet sauvegardez-la (comme vous le devrieztoujours avant defaire ces choses)
- Importez l'exportation quenous avonseffectuée APRÈS avoirexécuté la routine de recherche/remplacement àpartir de l'étape 4
Vouspouvez utiliser une approcheplus rapide,mais celaimplique destemps d'arrêtpour votre site deproduction,ce qui àmon avisestinacceptable. C'estpourquoinous l'appelonsproduction,non?
As of 2017 here are the two best ways I've found to handle the transfer of a WordPress database from development to production.
WP Migrate DB Pro / WP Sync DB
https://wordpress.org/plugins/wp-migrate-db/
These WordPress plugins let you push, pull, and sync database tables between WordPress installations. This is much better than a find/replace for many reasons because it:
- Exports your database as a MySQL data dump (much like phpMyAdmin)
- Does a find and replace on URLs and file paths
- Handles serialized data
- Allows you to save it to your computer as an SQL file
I'm a fan of being paid for the work I do, so I recommend you support Mr. Brad Touesnard and buy a licenses copy of the real thing. WP Sync DB is a replicate and it's always behind in support as a result. With this plugin the process is dead simple:
- Install/activate the plugin on your localhost and production environment
- Configure a push transfer from your localhost/development server to your production
- Fill in rules for which tables to transfer, and define find and replace rules to perform
- That's it!
Database Search & Replace for WordPress Databases by InterconnectIT
https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
This free tool is not a plugin, but is installed in your root directory of your WordPress production install. This isn't as good as WP Migrate DB Pro because it requires a few manual steps, but nonetheless it's a great option that consistently works. When using this approach the process looks like this:
- Backup your local database, this is absolutely needed as we'll be re-importing it soon
- Add the script to a folder in your installs root directory
- Run the find and replace on your database
- Export your database and save it for your production environment
- Re-import your backup from step #1 to restore your localhost
- Connect to your production database and back it up (as you always should before doing these things)
- Import the export we made AFTER running the find/replace routine from step #4
You can use a faster approach, but it involves downtime for your production site which in my opinion is unacceptable. That's why we call it production, right?
-
- 2011-04-27
Deuxprojets Google Summer of Code ayant un objectif similaire:
- Migration automatique (GSoC 2010)
- Déplacement WordPress (proposition ) (GSoC 2011)
Two Google Summer of Code projects that have a similar goal:
- Automatic Migration (GSoC 2010)
- WordPress Move (proposal) (GSoC 2011)
-
Ilne semblepas que l'un ou l'autre de cesprojets ait démarré?It doesn't look like either of these projects got off the ground?
- 0
- 2014-10-21
- icc97
-
- 2010-08-11
J'utilise la commande d'exportation de subversionpourinstaller lesfichiers WordPress (http://core.svn.wordpress.org/tags//) ainsi quetous lesplugins du référentiel (http://plugins.svn.wordpress.org//tags//),puis zippez simplement lethèmeet lespluginspersonnaliséset installez-lesnormalement.Unefois quetout celaest opérationnel sans contenu,j'exporte labase de données detestet je recherche/remplace l'URL ET le chemin dufichier (stocképour lesmédias)et l'importe dans unebase de données vide,puisje change simplement lesinformations de labase de données dans wp-config.php.Celame prendgénéralemententre 10et 20minutes.
I use subversion's export command to install the WordPress files (http://core.svn.wordpress.org/tags//) as well as all plugins in the repository (http://plugins.svn.wordpress.org//tags//), then just zip the theme and custom plugins and install them normally. Once all of that is up and running without content, I export the test DB and do a search/replace for the URL AND the filepath (stored for media) and import into an empty database, then just switch the database info in wp-config.php. Generally takes me about 10 - 20 minutes.
-
- 2010-08-12
Normalement,je me connecte àphpMyadmintélécharge labase de donnéeset modifie le contenu de wp_options> siteurlet wp_options> home vers le domaine attendu.Si vous avezbesoin demettre àjour les URL dans le contenu de vos articleset pages,vouspouvezeffectuer une recherche/remplacement de l'URLet du cheminmultimédia/téléversement sur lefichier .SQL avant letéléchargement.C'est untravail rapide.
Normally I login to phpMyadmin upload the database and edit the contents of wp_options>siteurl and wp_options>home to the expected domain. If you need to update URLs within your posts and pages content you can do a search/replace for the URL and the media/uploads path on the .SQL file prior to uploading. It's a quick job.
-
- 2013-09-03
Bien que lesbonnes solutionsne manquentpasici,dans unesprit departage,j'aipensé ajoutermon script de déploiementbash à lapile: https://github.com/jplew/SyncDB
SyncDBest un script de déploiementbash destiné à simplifier la synchronisation versions localeset distantes d'un site Wordpress.Ilpermet aux développeurs detravailler unenvironnement local (parexemple,MAMP)pour «pousser» ou «tirer» rapidement les changements vers ou depuis leur serveur deproduction avec une seule commande determinal.
Ce scriptfonctionnebien avec WP-Skeleton de Mark Jaquithet exploite
mysqldump
,git
etrsync
pour synchroniser l'ensemble de votre site -base de données,codeet média -en deux étapesfaciles:./syncdb git push hub master
While there's no shortage of good solutions here, in the spirit of sharing I thought I would add my bash deploy script to the pile: https://github.com/jplew/SyncDB
SyncDB is bash deploy script meant to take the tedium out of synchronizing local and remote versions of a Wordpress site. It allows developers working in a local environment (eg. MAMP) to rapidly "push" or "pull" changes to or from their production server with a single terminal command.
This script works well with Mark Jaquith's WP-Skeleton, and harnesses
mysqldump
,git
andrsync
to synchronize your entire site—database, code, and media—in two easy steps:./syncdb git push hub master
-
- 2013-10-21
J'utilise http://wordpress.org/plugins/wp-clone-par-wp-academy/.Celafonctionnebien!
Seulement 3 étapes:
- Installez leplugin sur les deux sites.
- Utilisez lepluginpourgénérer une sauvegarde sur l'ancien site.
- Prenez l'URL de sauvegarde qu'elle vous donneet branchez-la sur lapage duplug-in sur lenouveau site,cliquez sur OK,et votremigrationestterminéeen quelques secondes!
Il ajuste automatiquementtoutes les URL - y compris les remplacements de chaînes sérialisés - donc aucun risque deperdre les configurations de widgets,etc.
Les seulsproblèmes quej'ai rencontrés concernent certains sites Web avec desbases de donnéesplus volumineuses (~ 300 Mo),ce qui aentraîné des délais d'exécution de script PHP lors de l'importation de la sauvegarde du site.
I've been using http://wordpress.org/plugins/wp-clone-by-wp-academy/. It works nicely!
Just 3 steps:
- Install the plugin on both sites.
- Use the plugin to generate a backup on the old site.
- Take the backup URL it gives you and plug it into the plugin page on the new site, hit go, and your migration is complete in just a few seconds!
It adjusts all the URLs automatically - including serialized string replacements - so no risk of losing widget configurations, etc.
The only issues I've had are with some websites with larger databases (~300MB), which caused PHP script execution timeouts during import of the site backup.
-
- 2010-08-11
puisquej'exécutemes sites dans IIS (j'exécute aussi asp.net,doncj'aibesoin de Windows)j'utilise WebPI de Msftpourinstaller unenouvelleinstance,puisje copie lemodèleet j'utilise l'import/exportpourtransférer les données.
Cen'estpasparfait,mais letoutprendmoins d'une heure.
Évidemment,ce seraitbien d'avoir une solutionen un clic,mais c'est ce quej'aitrouvé leplus simplepourmoi.
since I run my sites in IIS (I also run asp.net, so I need windows) I use WebPI from Msft to install a new instance, then I copy the template and use the import/export to transfer the data.
It's not perfect but the whole thing takes less than an hour.
Obviously it would be nice to have a one-click solution, but this is what I found to be easiest for me.
-
- 2011-04-20
Autre solutionpayante: leframework dethèmes Xtreme One apublié la version 1.2 avec Xtreme Backup qui vouspermet "d'exporter ou d'importer leparamètres de vosthèmesenfants,misesen page ou widgets avectous leursparamètres/contenu sousforme defichier XML. "
Another paying solution: the Xtreme One theme framework released version 1.2 with Xtreme Backup which allows you to "export or import the settings of your Childthemes, Layouts or Widgets with all their settings/content as XML file."
-
- 2011-08-30
Un collègue atrouvé ceci.Conceptintéressant,bien que celane fonctionnepasentre les serveurs,il ressemble.Je suistoujoursen train de l'explorer,maisil semble que celapourraittrèsbien fonctionnerpour uneinstanceintermédiaire
A coworker found this. Interesting concept, though it doesn't work cross server it looks like. I'm still exploring it, but looks like it could work great for a staging instance
-
Il y a quatremois,je nepouvaispasfairefonctionner ceplugin ... Etilesttoujours à la version 0.1 dans [code.google] (http://code.google.com/p/deploymint/source/browse/deploymint.php)Four months ago, I couldn't make this plugin work... And it's still at version 0.1 in [code.google](http://code.google.com/p/deploymint/source/browse/deploymint.php)
- 0
- 2012-05-04
- brasofilo
-
- 2012-04-09
Celan'apeut-êtrepas été le cas lorsque vous avezposé la question,maisj'utilise un service appelé Blogvault depuis quelquesmoiset celafonctionneparfaitement.J'aiprobablementeffectuéplus de 50migrations (croisement de domaines,sous-domaineset hébergeurs Web),cen'estpas un accrocet neprendpas dutout detemps.
C'est un servicepayant (par domaine/mois),maispastant que ça.
This may not have been around when you asked the question, but I've been using a service called Blogvault for a couple months and it has done this flawlessly. I've probably done over 50 migrations (crossing domains, sub-domains, and web hosts), not a hitch and takes no time at all.
It's a paid service (per domain/month), but not that much.
-
- 2012-08-07
RAMP est unnouveauplugin de déploiement de contenu de Crowd Favorite,et il a l'air vraiment élégant.C'est 250 $,doncje ne l'aipasencoreessayé.Celapourrait simplement être rentabilisépar letempsgagné,alorsj'y réfléchis.
Legros avantage qu'il apar rapport à laplupart des autresméthodesmentionnées,c'est qu'ilpeutfusionnerintelligemment des articles,des commentaires,etc. Ilne s'agitpas seulement d'importer unmysqldump,c'estplus comme un contrôle de sourcepour labase de données.Parexemple,lors du déploiement d'unepublication,il déploiera également lesbalises de cettepublication,siellesn'existentpas déjàen production.
RAMP is a new content deployment plugin from Crowd Favorite, and it looks really slick. It's $250, though, so I haven't tried it out yet. Might just pay for itself in the amount of time saved, though, so I'm considering it.
The big benefit that it has over most of the other methods mentioned, is that it can intelligently merge posts, comments, etc. It's not just importing a mysqldump, it's more like source control for the database. For example, when deploying a post, it'll also deploy the tags for that post, if they don't already exist in production.
-
RAMPestpour le déploiement de ** contenu **,par opposition au déploiement de ** code **,maisje suis d'accord,cela a l'air superbe.Ils ontmaintenantmisen place une [démo de RAMP] (http://rampdemo.crowdfave.com/)pour que vouspuissiezessayer lesfonctionnalités.RAMP is for **content** deployment, as opposed to **code** deployment, but I agree, it looks superb. They now have a [demo of RAMP](http://rampdemo.crowdfave.com/) set up so you can try out the features.
- 0
- 2012-11-19
- Emzo
-
La questionportait sur le déploiement de * contenu *,pas sur le déploiement de code,et j'ai commencéma réponseen disant "RAMPest unnouveauplugin de déploiement de * contenu * ..."The question was about *content* deployement, not code deployment, and I started my answer off by saying "RAMP is a new *content* deployment plugin..."
- 0
- 2012-11-19
- Ian Dunn
-
- 2013-03-30
Laissez-moi vous donner l'un demesfavoris :-)
// 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 ------------------- {
...et puis voustravaillez votre chemin àpartir de là. DB_NAME,DB_USER ...préfixe_table. Personnellementj'active ALTERNATE_WP_CRON sur local (pour éviter quelques avertissementsennuyeux ),WP_DEBUG sur les deux (si vousn'êtespas développeur) ouen direct uniquement (si vous l'êtes),un autre
ini_set('display_errors', '0');
pour le livepourrait aussifaire dubien,et enfin,commementionné ci-dessus: WP_HOMEet WP_SITEURL aux URL locale/réelle.C'est àpeuprèstout,ilne resteplus rien au-dessus de la ligne 'C'esttout,arrêtez demodifier!' ...
Le 192.168.partie vouspermet defaire destests locaux (c'est-à-dire àpartir depads ou detéléphones) au sein de votre réseau local)
Le $ GLOBALS ['is_local']peut également être utile dans le développement de votrethème,pour une sortie de débogage supplémentaire,etc.
Let me give away one of my favourites :-)
// 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 ------------------- {
...and then you work your way from there. DB_NAME, DB_USER... table_prefix. Personally I switch on ALTERNATE_WP_CRON on local (to avoid some annoying warnings), WP_DEBUG of on both (if you're not a developer) or on live-only (if you are), another
ini_set('display_errors', '0');
for live could also do good, ant lastly, as mentioned above: WP_HOME and WP_SITEURL to the respective local/actual url.That pretty much all, nothing left above the classic WordPress 'That's all, stop editing!' line...
The 192.168. part allows you to do some local testing (i.e. from pads or phones) within your local network)
The $GLOBALS['is_local'] can come in handy in your theme development, too, for some extra debug output, etc...
-
Vouspouvez utiliser [WordPress Skeleton wp-config.php] (https://github.com/markjaquith/WordPress-Skeleton/blob/master/wp-config.php) qui définit une constante `WP_LOCAL_DEV`pour obtenir quelque chose de similaireYou can use [WordPress Skeleton wp-config.php](https://github.com/markjaquith/WordPress-Skeleton/blob/master/wp-config.php) that sets a `WP_LOCAL_DEV` constant to acheive something similar
- 1
- 2015-08-21
- icc97
-
- 2013-10-21
J'utilise lepluginbackupbuddy depuis unmomentmaintenant.Il vouspermet defaire une sauvegarde de labase de donnéeset detous lesfichiers,de latélécharger sousforme de zip ou de l'envoyer directement à un autre serveur via FTP.Il rechercheet remplace également l'URLpour vous.Celame prendgénéralementenviron 5minutespourparcourir l'ensemble duprocessus.Et commetous lesfichiers sont compressés,leprocessus detéléchargement/téléchargementestbeaucoupplus rapide.Etnon,je netravaillepaspoureux,mais ceplugin a vraiment rendutout ceprocessusbeaucoupplusfacile.
I have been using the backupbuddy plugin for a while now. It lets you make a backup of database and all files, download it as a zip or send it directly to another server via FTP. It also does the URL find and replace for you. It usually takes me about 5 minutes to go through the entire process. And because all files are zipped the uploading/downloading process is much faster. And no, I do not work for them, but this plugin has really made this whole process much easier.
-
- 2015-10-01
Un autre outil utilepourgérer lesmigrations de serveurspour les sitesest la CLI WordPress,cet article a unbon aperçu de ce qu'ilpeutfairemaisplusprécisément la section "Rechercheret remplacer"est utilepourtrouvertoutes les références à l'ancien/URL du site de développement:
Another useful tool for handling server migrations for sites is the WordPress CLI, this article has a good overview of what it can do but specifically the section for "Search and Replace" is useful for finding all of the references to the old / dev site url:
-
- 2018-07-25
Voici lemoyen leplus simple: https://themes.artbees.net/docs/website-migration/
Celane prend que deux clics.Unpourexporter,unpourimporter.C'estpossibleen utilisant leplugin Allin one WP Migration.Le lien ci-dessusmontre comment l'utiliser.
This is the easiest way ever: https://themes.artbees.net/docs/website-migration/
It only takes two clicks. One to export, one to import.It's possible by using the All in one WP Migration plugin. Above link shows how to use it.
-
- 2011-08-27
Si vousessayez d'obtenir une synchronisation continue,je vous suggère d'utiliser rsync avec unetâche cronpersonnaliséepour réécriren'importe quelle URL ou données spécifiques au site.
If you are trying to achieve continuous synchronization, I suggest using rsync along with a custom cron job to rewrite any url or site-specific data.
-
- 2015-08-21
Après avoir suivi cette réponsependant unmoment,j'ai créémonproprepetit plugin - Pitta Migration . Les raisons étant:
- Detoutes lesidéesessayéesici,laplus simpleest les options
WP_HOME
etWP_SITEURL
- Je les utiliseensuitepour définir les deux URL
wp_options
correspondantes - qui couvrent les cas où lesplugins/thèmes lesignorent - Celame donne une confiance à 100% dans ce quiestmodifié dansmabase de données
- Celafonctionne également surplusieursplates-formes (tous ces scriptsbashne fonctionnentpas correctement sous Windows)
- Ilestfacile de comprendre ce quefait leplugin
- Iln'y apas de configuration au-delà des deux constantes -faites unmysqldumpet uneimportationmysql dans votrebase de données localeet leplugin voit que la constanteet latable diffèrentet lesmet àjourpour correspondre
- Pas de recherche detexteet de remplacement
- Aucune chance de détruire votrebase de données -j'utilise l'objet debase de données WordPresspourfaire deuxmises àjouret rien deplus
- Ilfonctionnebien avec des élémentstels que WordPress Skeleton où vouspouveztout avoir sous contrôle de sourceet définir une configuration locale
- Je l'aimis dans le répertoire desplugins WordPress et sur Github afin qu'il soitgratuit,entièrement open source,facile àinstalleret àinstaller
- Unefoisinstallé,vouspouvez l'oublieret cela devrait "justefonctionner" - cela vous donne unpetit préavispour dire que labase de données a étémodifiée
- Cela devraitfonctionner avecn'importe quelprocessus de sauvegarde/FTP/restauration
After having followed this answer for a while I've created my own small plugin - Pitta Migration. The reasons being:
- Of all the ideas tried here - the simplest is the
WP_HOME
andWP_SITEURL
options - I then use these to set the two matching
wp_options
URLs - which covers when plugins /themes ignore these - This gives me 100% confidence in what is being changed in my database
- This also works cross-platform (all those bash scripts don't play nicely on Windows)
- It's easy to understand what the plugin is doing
- There's no config beyond the two constants - do a mysqldump and a mysql import to your local database and the plugin sees that the constant and the table differ and updates them to match
- No text search and replace
- No chance of knackering your database - I use the WordPress Database Object to do two updates and nothing more
- It plays nicely with things like WordPress Skeleton where you can have everything in source control and set a local config
- I've put it in the WordPress plugins directory and on Github so that it's free, fully opensource, easy for you to fork and easy to install
- Once it's installed you can forget about it and it should 'just work' - it gives you a little notice to say that the database has been modified
- It should work with any backup / FTP / restore process
-
- 2017-10-30
Àmon avis,lemoyen leplus simple queje suisest letransfertmanuel. Copiez simplement le dossier wp-contentet lefichier wp-config.php sur lenouvel hôte.Exportez labase de données de l'ancien hôteet importez-la dans unenouvellebase de données dunouvel hôte.
Dans lanouvellebase de données hôte,accédez à latable wp-optionet changez l'URL du siteet l'URL dublogen Nouvelle adresse d'hôte de l'ancien hôte.comme de http://localhost/wp à http://example.com
Maintenant,dans lefichier wp-config,changez simplement lesinformations de labase de donnéeset de l'utilisateur avec denouvellesinformations d'hôte.
Maintenant,connectez-vous aunouveau wp-admin,allez dans lesparamètreset enregistrez lepermalien.
Vous avezterminé.Jepense que c'est simple sans utiliser deplugins.
J'aiessayé différentstypes depluginset tous ceux-ciposent denombreuxproblèmes.
Jepréfère donc ce simpletransfertmanuel quiestplusfacileje pense.
In my opinion the easiest way I follow is the manual transfer.. Just copy wp-content folder and wp-config.php file to the new host. Export the database from old host and import it in a new database of new host..
In the new host database go to wp-option table and there change the site URL and Blog URL to New host address from old host. like from http://localhost/wp to http://example.com
Now in the wp-config file just change the information of database and user with new host info.
Now login to new wp-admin and go to settings and save the permalink.
You are done. I think this is simple without using any plugins.
I have tried different kind of plugins and all of these have many kinds of problems..
So I prefer this simple manual transfer which is easier I think.
Jefais du développement sur uneboîteet j'utilise une secondepour laproduction.Pour lemoment,je vide simplement labase de données,puisje recherche un remplacementpour lesmodifications d'URL;puis copiez lesfichierset importez lenouveau SQL.
Existe-t-il demeilleuresfaçons deprocéder?