Intenté instalar Drush con los dos métodos enumerados en la documentación de drush.org. Creo que podrían estar en conflicto entre sí si eso es posible.
Cuando ejecuto composer global require drush/drush
todos los componentes parecen instalarse correctamente. Sin embargo, cuando cambio a un sitio de Drupal (usando XAMPP, / opt / lampp / htdocs / sitefolder) y ejecuto, aparece drush status
el siguiente error:
Error fatal de PHP: Constante de clase indefinida 'MYSQL_ATTR_SSL_CA' en phar: ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php en la línea 56 El comando Drush terminó anormalmente debido a un error irrecuperable.
[error] Error: constante de clase indefinida 'MYSQL_ATTR_SSL_CA' en phar: ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php, línea 56
Tengo la siguiente línea en mi ~ / .bashrc:
export PATH="$HOME/.composer/vendor/bin:$PATH"
Desafortunadamente, no sé cómo solucionar problemas desde aquí, ya que no parece haber una manera fácil de desinstalar Drush a través del método principal ( http://docs.drush.org/en/master/install/ ), que no parece funcionar para mi composer global remove drush/drush
parece ejecutarse con éxito.
Gracias por adelantado.
Respuestas:
En mi caso, no todos los paquetes de PHP lograron la actualización de Ubuntu a 16.04 (que ahora ejecuta PHP 7 por defecto). Necesitaba agregar el que faltaba, y luego Drush comenzó a trabajar nuevamente:
O para usuarios de php5
en distribuciones muy recientes de Ubuntu / Debian.
Para PHP 7.1:
Para PHP 7.2:
Puede buscar su versión usando esto:
fuente
Bajé un poco en este agujero, pero creo que el problema estaba relacionado con la conexión drush a la versión adecuada de mysql. Necesita la versión XAMPP, no mi versión de Linux local. Agregar estas dos líneas a ~ / .bashrc ayudó:
fuente
Tuve el mismo problema en Fedora 25. Me actualicé a php 5.6.32 desde 5,60,30 y descuidé un cambio en la compilación de 32.
haciendo php -m mostró que 5.6.32 descuidó tener el módulo "pdo_mysql". Así que volví a 5.6.30 que tiene ese módulo compilado, hasta que pueda depurar la compilación 5.6.32.
después de este cambio, Drush 8 funcionó bien.
fuente
Asegúrese de tener las extensiones más actualizadas para su versión de PHP. Puede encontrar una lista de los elementos básicos que debe instalar en los comentarios en el sitio de documentación de PHP en la actualización a 7.1.
Recomiendan ejecutar:
sudo apt-get install php7.1 php7.1-cli php7.1-common libapache2-mod-php7.1 php7.1-mysql php7.1-fpm php7.1-curl php7.1-gd php7.1-bz2 php7.1-mcrypt php7.1-json php7.1-tidy php7.1-mbstring php-redis php-memcached
Si no lo hace, al menos tendrá problemas con mbstring, ya que esta es una dependencia central. Esta también es una solución potencial para el error demasiado común "easyrdf / easyrdf 0.9.1 requiere ext-mbstring * -> la extensión PHP solicitada mbstring falta en su sistema". cuando corremos
composer install
por primera vez Para diferentes versiones, simplemente cámbielo según corresponda. La mayoría de ellos son probablemente los mismos.Espero que ayude a alguien.
fuente