Drush installato e funzionante; Nessun sito Drupal trovato anche con uri specificato


9

Dopo molte prove e tribolazioni, pensavo di essere pronto a ruggire. Molta eccitazione. Ma poi, nessuna gioia ...

Drush sta funzionando. I siti funzionano bene tramite MAMP. Indipendentemente da ciò, un comando "drush cc all" restituisce:

No Drupal site found, only 'drush' cache was cleared.                                          [warning]
'all' cache was cleared.                                                                       [success]

Questa domanda ha sconcertato i partecipanti al drupalcon e sviluppatori di grande esperienza. Qualche idea?

Sono su Mac OS 10.9.3 utilizzando MAMP (gratuito) versione 3.0.5

Ecco il mio stato di droga:

 Drupal version         :  7.29-dev                               
 Site URI               :  http://default                         
 Database driver        :  mysql                                  
 Database hostname      :  localhost                              
 Database username      :  db_user                           
 Database name          :  db_name                      
 PHP executable         :  /usr/bin/php                           
 PHP configuration      :                                         
 PHP OS                 :  Darwin                                 
 Drush version          :  7.0-dev                                
 Drush temp directory   :  /tmp                                   
 Drush configuration    :                                         
 Drush alias files      :                                         
 Drupal root            :  /Applications/MAMP/htdocs/mysite.dev 
 Site path              :  sites/default    

Ho provato a eseguire drush da /Applications/MAMP/htdocs/mysite.dev; da /Applications/MAMP/htdocs/mysite.dev/sites/default; e usandodrush cc all --uri=http://localhost/mysite.dev

Ho provato a eseguire il drush dai siti / impostazione predefinita. Stesso risultato


la tua connessione al database si trova nella cartella siti / predefinita? In tal caso, prova a eseguire drush cc da quella cartella. Non credo che --uri sia un argomento valido per drush cc
chadpeppers,

Ho provato a eseguire il drush dai siti / impostazione predefinita. Stesso risultato
jenpasch,

Hai trovato una soluzione per questo. Ho lo stesso problema e una configurazione simile.
Deejay,

Io no. Sono ancora senza droga.
jenpasch,

Hai visto questo? Sembra simile dall'alto: drupal.stackexchange.com/questions/98802/…
Laryn - CEDC.org

Risposte:


9

Si prega di ricontrollare che tutti i punti seguenti siano indirizzati.

  1. Sei in esecuzione drushnella cartella principale di Drupal o nella cartella contenente il settings.phpfile.
  2. Il mysqlcomando esiste (ed è nel tuo PATH).

    Si noti che il comando database dipende dal driverset di database nel file delle impostazioni (ad es. sqlcmdPer SQL Server; per i dettagli, controllare le diverse classi in Drush /src/Sql).

    Se il comando non è presente durante l'esecuzione in qualsiasi cartella, assicurarsi che il percorso del file binario sia aggiunto alla PATHvariabile di sistema.

  3. Il tuo PHP ha un'estensione PDO abilitata (controlla da: php -m | grep pdoo drush sqlc).

  4. Nel tuo PHP è abilitata l' estensione del database (ad es. mysqli) (Controlla per:) php -m | grep mysql.

Per indagare su cosa sia esattamente sbagliato, esegui drushcon -vflag (verbose) e -d(debug), ad es

drush -vd status
drush -vd ev "echo 123"
drush -vd cc all

e verificare la presenza di errori.


l'estensione mysql per PHP PDO non è installata. Controlla il tuo php.ini per vedere come puoi abilitarlo.

Installa l' estensione del database (ad es. mysqli) (Come sopra sopra il 4 ° punto).

Per MAMP, vedi: Drush non funziona sul mio Mac


MAMP

Dal momento che stai usando MAMP, assicurati anche di eseguire la giusta versione di phpbinario (controlla per which php) e dovrebbe puntare a /Applications/MAMP/bin/php/php5.X.X/bin/php. In caso contrario, si prega di aggiungere il percorso nel vostro PATHnella vostra rc file (ad esempio ~/.bashrc):

# For MAMP (OSX)
PHP_VER="5.6.10" # Or: 5.4.19/5.5.3 (check by: $ ls /Applications/MAMP/bin/php/php*)
export PATH="$PATH:/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php/php$PHP_VER/bin:/Developer/usr/bin"

XAMPP

Per XAMPP per Windows, cosa simile, aggiungi il tuo C:\xampp\mysql\binnella variabile di ambiente PATH.

Debug

Se il tuo drushcomando fallisce per qualche motivo, ecco i passaggi suggeriti per eseguire il debug di Drush (comandi shell).

  1. Installa e abilita l' estensione PHPxdebug . Verifica entro php71 -i | grep xdebug.
  2. Verifica che siano presenti la radice Drupal , il file delle impostazioni e il databasedrush status .
  3. Genera file di traccia:

    drush ev "xdebug_start_trace(); drush_drupal_cache_clear_all(); echo xdebug_get_tracefile_name(); xdebug_stop_trace();"

    o:

    drush ev "xdebug_start_trace(); print_r(_core_site_status_table()); echo xdebug_get_tracefile_name(); xdebug_stop_trace();"

    Se xdebug è abilitato per diverse versioni di PHP, specificare con DRUSH_PHP=/path/to/php.

    Se ha esito positivo, il file di output di traccia dovrebbe essere stampato alla fine, quindi prenderne nota.

  4. Ora apri e controlla il file di traccia.

  5. Per testare o confrontare l'output di Drush con Drupal pulito, è possibile installare il nuovo Drupal in una cartella vuota:

    drush -y qd --no-server --core=drupal-8
    cd quick-drupal-*/drupal*
    drush status

2
+1 risposta davvero bella, andando oltre l'evidente controllo settings.php e db. In particolare per me mi ha drush sqlcaiutato in quanto ha dimostrato che il database non poteva essere collegato all'utente, il che mi ha portato a controllare l'utente e la password e mi ha rivelato che avevo impostato errato. Grazie!
therobyouknow,

1
Ho avuto un problema simile a @therobyouknow - avevo un ~/.my.cnffile che specificava l'utente per le connessioni mysql ma non una password. Penso che questo abbia comportato un drush utilizzando l'utente da quel file con la password dal sito, che non era valido. L'aggiunta di una password nel mio ~/.my.cnffile o la rimozione di quel file ha risolto completamente il problema
artfulrobot il

4

Ho avuto lo stesso problema con il nuovo Drush 8 sul mio Mac con MAMP

Devi aggiungerlo al tuo esportazione .bash_profile PATH = / Applications / MAMP / Library / bin /: $ PATH.

una volta aggiunto assicurati di aprire una nuova finestra del terminale in quanto non funzionerà sulla tua finestra corrente poiché bash deve riavviarsi.


1
Questa linea usa e getta è ciò che l'ha risolto per me. Mi stavo strappando i capelli per questo. APRIRE UNA NUOVA FINESTRA TERMINALE QUANDO SI EFFETTUANO AGGIORNAMENTI / CAMBIAMENTI per colpire! Altrimenti le nuove impostazioni non avranno effetto.
erier,

1

Come ha detto @kenorb, usa drush -vd cc all, ti darà una buona idea di ciò che sta accadendo in dettaglio. Nel mio caso, era dovuto all'errore "mysql command not found". L'ho risolto impostando il percorso per mysql nelle variabili di ambiente. Sento che devi controllare anche il tuo percorso, sia per Drush che per MySQL e vedere se funziona.

Grazie!!


1

Per cancellare All Cache usando Drush, devi andare nella directory del sito sul terminale dove si trova la tua directory del sito come nella directory www o htdocs e quindi nella cartella del progetto dopo che esegui il comando:

drush cc all

0

Dai un'occhiata al pacchetto Drush configure.md, ha un sacco di suggerimenti utili per le piattaforme, la sezione MAMP è quindi:

Configurazioni aggiuntive per Mamp:

Gli utenti di MAMP dovranno specificare manualmente nel proprio PERCORSO quale versione di php e MySQL utilizzare nell'interfaccia della riga di comando. Questo è indipendente dalla versione php selezionata nelle impostazioni dell'applicazione MAMP. In OS X, modifica (o crea se non esiste già) un file chiamato .bash_profile nella tua cartella home.

Per usare php 5.3.x, aggiungi questa riga a .bash_profile:

export PATH="/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php5.3/bin:$PATH"

Se si desidera utilizzare php 5.4.x, aggiungere invece questa riga:

export PATH="/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php5.4/bin:$PATH"

Se usi MAMP 3 (php 5.5.14 di default) e vuoi usare php 5.5.x, aggiungi invece questa riga:

export PATH="/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php/php5.5.14/bin:$PATH"

Se hai MAMP v.1.84 o precedente, questa configurazione funzionerà per entrambe le versioni di PHP:

export PATH="/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php5/bin:$PATH"

Se hai fatto questo e stai ancora ricevendo un errore "nessun file o directory simile" dal costrutto PDO :: __, prova questo:

bash sudo mkdir /var/mysql sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock

Inoltre, potrebbe essere necessario regolare le impostazioni di php.ini prima di poter utilizzare drush correttamente. Vedi CONFIGURAZIONE di PHP.INI di seguito per maggiori dettagli su come procedere.


0

Con MAMP Pro ho funzionato aggiungendo questa riga nel mio ~/.bash_profilefile:

export PATH=$PATH:/Applications/MAMP/Library/bin
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.