Connessione a database remoto utilizzando un'installazione Localhost
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
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.

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 :)

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

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

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

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?

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.

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.

Penso che s_ha_dum sia sulla strada giusta, ma credo che abbia invertito l'approccio.
Vuoi:
- sviluppare/progettare in locale
- 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.

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!

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.

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

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

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

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.

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

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.
