Connessione a database remoto utilizzando un'installazione Localhost

11 ott 2013, 17:49:06
Visualizzazioni: 18.4K
Voti: 3

Sto progettando e sviluppando un sito web per un cliente ma voglio permettere al cliente di aggiungere contenuti mentre lavoro al design e allo sviluppo del sito, in modo che sia praticamente completato quando avrò finito.

Attualmente, uso XAMPP sulla porta 81 quindi l'URL del mio progetto è simile a:

http://localhost:81/nomeprogetto

Il mio file wp-config ha tutte le impostazioni necessarie per il database remoto eppure, quando eseguo l'URL:

http://localhost:81/nomeprogetto 

vengo costantemente reindirizzato a:

http://localhost/nomeprogetto.

Ho rimosso tutti i file htaccess pensando che il problema fosse lì ma non ha funzionato. Il mio ISP ha suggerito di aprire la porta 3306 che ho fatto, ma nemmeno questo ha risolto.

Non so se abbia a che fare con la porta 81 su Xampp forse?

MODIFICA: Le impostazioni generali puntano alla versione online del sito quindi:

Indirizzo del sito = http://example.com

Indirizzo WordPress = http://example.com

Grazie mille

6
Commenti

Quali sono le tue impostazioni degli URL in Impostazioni->Generale?

s_ha_dum s_ha_dum
11 ott 2013 17:59:55

Ho apportato una modifica alla domanda precedente shadum, grazie

SixfootJames SixfootJames
11 ott 2013 18:37:56

Scusa? Le tue impostazioni di configurazione puntano a un sito esterno? Non funzionerà mai correttamente. Sono molto confuso da quello che stai facendo ora.

s_ha_dum s_ha_dum
11 ott 2013 18:41:11

Non c'è modo di estrarre il contenuto su un sito localhost solo per ottenere il contenuto sul sito in modo da poter lavorare allo sviluppo del sito mentre il client aggiunge il contenuto al database live? Non l'ho mai fatto in WP prima d'ora ma siamo riusciti a farlo con DNN molti anni fa.

SixfootJames SixfootJames
11 ott 2013 18:50:55

Prova a verificare anche il tuo file di configurazione di Apache nell'installazione di Xampp. Puoi controllare su questo link come configurare più siti utilizzando xampp, il che può aiutarti a verificare se il problema è Xampp: http://kuppalli.wordpress.com/2011/01/24/setup-multiple-sites-on-your-local-machine-using-xampp-or-apache-2/

Camilo Buitrago Camilo Buitrago
11 ott 2013 18:20:11

Grazie Camilo. Ho provato questo pensando che aggiungere la porta 3306 potesse risolvere il problema ma non è stato così. Non ho un problema con più progetti ma piuttosto, un problema nell'eseguire un progetto locale che si connette a un database remoto.

SixfootJames SixfootJames
11 ott 2013 18:45:21
Mostra i restanti 1 commenti
Tutte le risposte alla domanda 2
12

Non esiste un modo per recuperare i contenuti in un sito localhost solo per ottenere i contenuti sul sito, in modo da poter lavorare allo sviluppo del sito mentre il cliente aggiunge i contenuti al database live?

Se il server remoto lo supporta, puoi connetterti al database remoto. Basta impostare correttamente le costanti di connessione:

// ** Impostazioni MySQL - Puoi ottenere queste informazioni dal tuo web host ** //
/** Il nome del database di WordPress */
define( 'DB_NAME', 'nome_database_qui' );

/** Nome utente del database MySQL */
define( 'DB_USER', 'nome_utente_qui' );

/** Password del database MySQL */
define( 'DB_PASSWORD', 'password_qui' );

/** Hostname MySQL */
define( 'DB_HOST', 'localhost' );

Quasi sicuramente dovrai anche impostare queste sul tuo installazione locale:

define( 'WP_SITEURL', 'http://esempio.com/wordpress' );
define( 'WP_HOME', 'http://esempio.com/wordpress' );

Posso quasi garantirti che avrai comunque problemi, senza considerare che le modifiche che farai andranno sul server live.

Ci sono altre soluzioni potenziali, come il mirroring del database, ma sarebbe fuori tema qui e non l'ho mai fatto.

Il mio consiglio è di copiare semplicemente il database live sul tuo server locale all'inizio del progetto e non provare a sincronizzare i database o comunque a collegare il sito di sviluppo con quello live. Stai chiedendo guai. WordPress non ha una netta separazione tra contenuti/configurazione nel database.

11 ott 2013 19:00:38
Commenti

Grazie Shadum, potrei optare per la strada di recuperare costantemente una nuova versione del database live... e non preoccuparti, il database live è protetto da un URL fino al lancio effettivo del sito :)

SixfootJames SixfootJames
11 ott 2013 20:36:31

No, non ha funzionato. Grazie comunque per lo sforzo Shadum

SixfootJames SixfootJames
11 ott 2013 20:39:51

Il mio consiglio è nell'ultimo paragrafo, per favore nota.

s_ha_dum s_ha_dum
11 ott 2013 20:52:54

Grazie Shadum... seguirò questa strada come hai suggerito nell'ultimo paragrafo

SixfootJames SixfootJames
7 nov 2013 08:02:56

@SixfootJames : hai accettato questa risposta molto tempo fa, ma ora l'hai rifiutata e non hai accettato un'alternativa. Perché?

s_ha_dum s_ha_dum
20 gen 2014 16:25:05

Ciao Shadum, ho provato tutte queste opzioni e ho riprovato ma non ha funzionato, quindi spero che qualcun altro possa avere una soluzione.

SixfootJames SixfootJames
21 gen 2014 21:21:54

@SixfootJames : probabilmente dovrai fornire maggiori dettagli.

s_ha_dum s_ha_dum
21 gen 2014 21:24:53

Nell'azienda precedente dove lavoravo, facevamo questo con DNN. Il team poteva lavorare su diverse parti di un progetto del sito mentre il proprietario del sito iniziava a scrivere direttamente i contenuti nel CMS. Quindi ogni persona aveva una copia del sito via SVN, ma tutti si connettevano a un unico database, velocizzando il processo di sviluppo. Vorrei quindi ottenere la stessa cosa con WordPress. L'unica alternativa sarebbe ospitare un server interno e poi, utilizzando NO-IP, dare al cliente l'accesso al sito connesso attraverso la mia rete?

SixfootJames SixfootJames
22 gen 2014 08:26:56

Mi sono anche connesso a database remoti, ma farlo dipende dalla configurazione del server, il che potrebbe essere il tuo problema. Non tutti i server permettono connessioni remote.

s_ha_dum s_ha_dum
22 gen 2014 16:22:29

Shadum, in realtà ho chiamato il mio ISP proprio l'altro giorno e mi hanno assicurato che è possibile. Se ti fornissi i dettagli del database remoto, pensi che potresti mostrarmi come stabilire quella connessione in un file di configurazione per favore? Ho provato tutte le impostazioni che mi hai dato sopra e quando navigo dal mio file localhost ad esempio, e poi clicco su un'altra pagina, vengo portato alla pagina del sito live, invece di rimanere sulle pagine del localhost.

SixfootJames SixfootJames
22 gen 2014 21:44:26

Il tuo ISP? Intendi il tuo web host?

s_ha_dum s_ha_dum
22 gen 2014 21:46:05

Sì, scusa, qui lo chiamiamo Provider di Servizi Internet :)

SixfootJames SixfootJames
22 gen 2014 22:05:23
Mostra i restanti 7 commenti
8

Penso che s_ha_dum sia sulla strada giusta, ma credo che abbia invertito l'approccio.

Vuoi:

  1. sviluppare/progettare in locale
  2. collegarti al database REMOTO e lavorare con i suoi contenuti?

Hai bisogno di un'installazione remota (staging) di WordPress, dove il cliente può creare/inserire i suoi contenuti.

Hai bisogno che il tuo sito WordPress locale (localhost) punti al database remoto, per ottenere i contenuti che sta utilizzando.

Quindi, avresti il tuo http://example.com/wordpress configurato per le modifiche del cliente - anche solo con un'installazione base di WP. Questo sito sarebbe connesso al proprio database.

Il tuo sito in localhost avrebbe le credenziali del database del sito REMOTO, con DB_HOST impostato su http://example.com, o qualunque sia il percorso mySQL se è accessibile in altro modo tramite il tuo provider di hosting.

Sul tuo sito locale, mantieni WP_SITEURL e WP_HOME impostati su localhost. Altrimenti, otterrai loop di reindirizzamento.

29 gen 2014 16:59:46
Commenti

Grazie Eric, è esattamente quello che stava accadendo e ciò che suggerisci è ciò che vorrei ottenere, ma continuavo ad avere il problema di reindirizzamento.

Proverò a combinare entrambe le tue soluzioni e ti farò sapere :) Grazie ancora!

SixfootJames SixfootJames
29 gen 2014 18:00:55

Scusa, è WP_SITEURL, non WP_SITE_URL. Se non funziona, potresti dover definire define('WP_RELOCATE', true); nel tuo file wp-config.php, effettuare il login, quindi rimuovere la riga.

Eric Holmes Eric Holmes
5 feb 2014 17:38:21

Grazie Eric, non ho ancora avuto tempo per dedicarmici nuovamente ma lo farò appena avrò un momento.

SixfootJames SixfootJames
5 feb 2014 21:08:44

Ciao Eric. Sto lavorando a un nuovo progetto e ho testato questo. Funziona benissimo ma è molto lento. C'è un modo per velocizzarlo magari?

SixfootJames SixfootJames
25 feb 2014 12:24:03

Hai bisogno della definizione di relocate solo per il primo accesso quando trasferisci un sito web. Rimuovila una volta che funziona correttamente. :)

Eric Holmes Eric Holmes
25 feb 2014 16:59:06

Non ho capito bene? Quello che intendevo è che tutto funziona ma la connessione da Localhost per caricare le pagine è piuttosto lenta. C'è qualche modo per velocizzare questo? Ho provato sia con l'URL che con l'indirizzo IP del DB ma entrambe le opzioni sono state lente.

SixfootJames SixfootJames
26 feb 2014 16:21:03

Sì, rimuovi define('WP_RELOCATE', true); dal tuo file wp-config.php.

Eric Holmes Eric Holmes
26 feb 2014 20:06:11

Aggiungo una nota qui, quando ho iniziato a usare il database remoto prima di utilizzare WP_SITEURL e WP_HOME, non ho avuto alcun problema di reindirizzamento. Caricava semplicemente anche gli stili PHP remoti, ma alcuni file non potevano essere caricati a causa di un avviso CORS. Dopo aver modificato la configurazione, ha funzionato immediatamente.

西門 正 Code Guy - JingCodeGuy 西門 正 Code Guy - JingCodeGuy
13 lug 2020 04:27:11
Mostra i restanti 3 commenti