Drush instalado y funcionando; No se encontró ningún sitio de Drupal incluso con la uri especificada


9

Después de muchas pruebas y tribulaciones, pensé que tenía todo listo para rugir. Mucha emoción Pero entonces, no hay alegría ...

Drush está funcionando. Los sitios funcionan bien a través de MAMP. En cualquier caso, el comando "drush cc all" devuelve:

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

Esta pregunta ha dejado perplejos a los asistentes de drupalcon y desarrolladores muy experimentados. ¿Algunas ideas?

Estoy en Mac OS 10.9.3 usando MAMP (gratis) Versión 3.0.5

Aquí está mi estado de drush:

 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    

Han intentado ejecutar drush desde /Applications/MAMP/htdocs/mysite.dev; de /Applications/MAMP/htdocs/mysite.dev/sites/default; y usandodrush cc all --uri=http://localhost/mysite.dev

Intenté ejecutar drush desde sitios / predeterminado. Mismo resultado.


¿Está su conexión de base de datos ubicada en la carpeta sitios / predeterminada? Si es así, intente ejecutar drush cc desde esa carpeta. No creo que --uri sea un argumento válido para drush cc
chadpeppers

Intenté ejecutar drush desde sitios / predeterminado. Mismo resultado.
jenpasch

¿Encontraste una resolución para esto? Tengo el mismo problema y una configuración similar.
Deejay

No hice. Todavía estoy sin drush.
jenpasch

¿Has mirado este? Se ve similar desde la parte superior: drupal.stackexchange.com/questions/98802/…
Laryn - CEDC.org

Respuestas:


9

Verifique que se aborden todos los puntos a continuación.

  1. Está ejecutando drushen la carpeta raíz de Drupal o carpeta que contiene el settings.phparchivo.
  2. El mysqlcomando existe (y está en tu PATH).

    Tenga en cuenta que el comando de la base de datos depende de su base de datos driverestablecida en su archivo de configuración (por ejemplo, sqlcmdpara SQL Server; para obtener más información, consulte las diferentes clases en Drush /src/Sql).

    Si falta el comando cuando se ejecuta en cualquier carpeta, asegúrese de agregar la ruta a su archivo binario en la PATHvariable de su sistema.

  3. Su PHP tiene habilitada la extensión PDO (verifique por: php -m | grep pdoo drush sqlc).

  4. Su PHP tiene habilitada la extensión de la base de datos (p mysqli. Ej. ) (Verifique por:) php -m | grep mysql.

Para investigar qué está exactamente mal, ejecute drushcon los indicadores -v(detallado) y -d(depuración), p. Ej.

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

y verifique cualquier error.


La extensión mysql para PHP PDO no está instalada. Verifique su php.ini para ver cómo puede habilitarlo.

Instale la extensión de la base de datos (p mysqli. Ej. ) (Según el cuarto punto anterior).

Para MAMP, vea: Drush no funciona en mi Mac


MAMP

Como está usando MAMP, asegúrese también de ejecutar la versión correcta de phpbinario (verifique which php) y debe apuntar a /Applications/MAMP/bin/php/php5.X.X/bin/php. Si no, agregue la ruta en su PATHen sus archivos rc (por ejemplo ~/.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

Para XAMPP para Windows, algo similar, agregue su C:\xampp\mysql\binvariable de entorno PATH.

Depuración

Si su drushcomando falla por algún motivo, estos son los pasos sugeridos para depurar drush (comandos de shell).

  1. Instalar y habilitar la extensión PHPxdebug . Verificar por php71 -i | grep xdebug.
  2. Verifique que la raíz de Drupal , el archivo de configuración y la base de datos estén presentes drush status.
  3. Generar archivo de seguimiento:

    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();"

    Si xdebug está habilitado para diferentes versiones de PHP, especifique con DRUSH_PHP=/path/to/php.

    Si tiene éxito, el archivo de salida de rastreo debe imprimirse al final, así que anótelo.

  4. Ahora abra y verifique el archivo de rastreo.

  5. Para probar o comparar la salida drush con Drupal limpio, puede instalar Drupal nuevo en una carpeta vacía:

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

2
+1 respuesta realmente agradable, yendo más allá de la comprobación obvia settings.php y db. Particularmente para mí me drush sqlcayudó, ya que mostraba que la base de datos no podía conectarse con el usuario, lo que me llevó a verificar el usuario y la contraseña y reveló que los había configurado incorrectamente. ¡Gracias!
therobyouknow

1
Tuve un problema similar a @therobyouknow: tenía un ~/.my.cnfarchivo que especificaba el usuario para las conexiones mysql pero no una contraseña. Creo que esto estaba resultando en un error al usar el usuario de ese archivo con la contraseña del sitio, que no era válida. Agregar una contraseña a mi ~/.my.cnfarchivo o eliminar ese archivo solucionó por completo el problema
artfulrobot

4

Tuve el mismo problema con el nuevo Drush 8 en mi Mac con MAMP

Necesita agregar esto a su .bash_profile export PATH = / Applications / MAMP / Library / bin /: $ PATH.

una vez agregado, asegúrese de abrir una nueva ventana de terminal, ya que no funcionará en su ventana actual, ya que bash debe iniciarse nuevamente.


1
Esta línea de usar y tirar es lo que me solucionó. Me estaba arrancando el pelo en este caso. ¡ABRE UNA NUEVA VENTANA DE TERMINAL CUANDO HAGA ACTUALIZACIONES / CAMBIOS para golpear! De lo contrario, su nueva configuración no tendrá efecto.
erier

1

Como dijo @kenorb, use drush -vd cc all, le dará una buena idea sobre lo que está sucediendo en detalle. En mi caso, se debió al error "mysql command not found". Lo resolví configurando la ruta para mysql en mis variables de entorno. Siento que también necesitas verificar tu ruta, tanto para Drush como para MySQL, y ver si funciona.

¡¡Gracias!!


1

Para borrar All Cache usando Drush, debe ir al directorio del sitio en la terminal donde se encuentra el directorio de su sitio como en el directorio www o htdocs y luego la carpeta de su proyecto después de eso ejecute el comando:

drush cc all

0

Verifique el paquete Drush configure.md, tiene un montón de consejos útiles para plataformas, la sección MAMP es así:

Configuraciones adicionales para Mamp:

Los usuarios de MAMP deberán especificar manualmente en su RUTA qué versión de php y MySQL usarán en la interfaz de línea de comandos. Esto es independiente de la versión php seleccionada en la configuración de la aplicación MAMP. En OS X, edite (o cree si aún no existe) un archivo llamado .bash_profile en su carpeta de inicio.

Para usar php 5.3.x, agregue esta línea a .bash_profile:

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

Si desea utilizar php 5.4.x, agregue esta línea en su lugar:

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

Si usa MAMP 3 (php 5.5.14 por defecto) y desea usar php 5.5.x, agregue esta línea en su lugar:

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

Si tiene MAMP v.1.84 o inferior, esta configuración funcionará para ambas versiones de PHP:

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

Si ha hecho esto y todavía recibe un error "no existe tal archivo o directorio" de PDO :: __ construct, intente esto:

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

Además, es posible que deba ajustar la configuración de php.ini antes de poder usar drush con éxito. Consulte CONFIGURAR PHP.INI a continuación para obtener más detalles sobre cómo proceder.


0

Al ejecutar MAMP Pro, conseguí que esto funcionara agregando esta línea a mi ~/.bash_profilearchivo:

export PATH=$PATH:/Applications/MAMP/Library/bin
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.