Linux Drush 설치 오류 : phar : ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php, 56 행의 정의되지 않은 클래스 상수 'MYSQL_ATTR_SSL_CA'


11

drush.org 설명서에 나열된 두 가지 방법으로 Drush를 설치하려고했습니다. 가능하다면 서로 충돌 할 수 있다고 생각합니다.

composer global require drush/drush모든 구성 요소를 실행하면 올바르게 설치되는 것으로 보입니다. 그러나 Drupal 사이트 (XAMPP, / opt / lampp / htdocs / sitefolder 사용)로 변경하고 실행 drush status하면 다음 오류가 발생합니다.

PHP 치명적 오류 : 56 행의 phar : ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php에서 정의되지 않은 클래스 상수 'MYSQL_ATTR_SSL_CA'는 복구 할 수없는 오류로 인해 Drush 명령이 비정상적으로 종료되었습니다.
[오류] 오류 : phar : ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php, 56 행의 정의되지 않은 클래스 상수 'MYSQL_ATTR_SSL_CA'

~ / .bashrc에 다음 줄이 있습니다.

export PATH="$HOME/.composer/vendor/bin:$PATH"

불행히도 여기서 주요 문제 해결 방법 ( http://docs.drush.org/en/master/install/ )을 통해 Drush를 쉽게 제거 할 수있는 방법이 없기 때문에 여기에서 문제를 해결하는 방법을 모르겠습니다. 나를 위해 작동하지 않는 것 같습니다. composer global remove drush/drush성공적으로 실행되는 것 같습니다.

미리 감사드립니다.


재미있었습니다. 어제 비슷한 스레드를 게시하고 사용자 중 한 명이 버그를 말한 후에 삭제했습니다.
JohnDoea 2016 년

Drush github에서 버그로보고했습니다. WSL을 사용하고 있습니까? 우분투에서는 WSL에서 나에게 일어났다.
JohnDoea 2016 년

답변:


20

필자의 경우, 모든 PHP 패키지가 우분투를 16.04 (현재는 기본적으로 PHP 7을 실행)로 업그레이드하지는 않았습니다. 누락 된 항목을 추가 한 다음 Drush가 다시 작업을 시작했습니다.

sudo apt install php-mysql

또는 php5 사용자의 경우

sudo apt install php5-mysql 

최신 우분투 / 데비안 배포판.

PHP 7.1의 경우 :

sudo apt install php7.1-mysql

PHP 7.2의 경우 :

sudo apt install php7.2-mysql

다음을 사용하여 버전을 검색 할 수 있습니다.

apt-cache search php-mysql

1

이것에 약간의 토끼 구멍이 있었지만 문제는 적절한 버전의 mysql에 연결하는 drush와 관련이 있다고 생각합니다. 로컬 리눅스 버전이 아닌 XAMPP 버전이 필요합니다. ~ / .bashrc에 다음 두 줄을 추가하면 도움이되었습니다.

export DRUSH_PHP=/opt/lampp/bin/php

export PATH=$PATH:/opt/lampp/bin

0

Fedora 25에서 동일한 문제가 발생했습니다. 5,60,30에서 PHP 5.6.32로 업그레이드했으며 32 컴파일에서 스위치를 무시했습니다.

php -m을 수행하면 5.6.32가 "pdo_mysql"모듈을 갖는 것을 무시한 것으로 나타났습니다. 따라서 5.6.32 컴파일을 디버깅 할 수있을 때까지 해당 모듈이 컴파일 된 5.6.30으로 되돌아갔습니다.

이 변경 후 Drush 8은 정상적으로 작동했습니다.


0

PHP 버전에 맞는 최신 확장명을 사용하십시오. 7.1로 업그레이드 할 때 PHP 설명서 사이트 의 주석에서 설치해야하는 기본 항목 목록을 찾을 수 있습니다 .

그들은 다음을 실행하는 것이 좋습니다. 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

그렇지 않으면 mbstring과 관련된 문제가 발생합니다. 이것이 핵심 종속성이기 때문입니다. 이것은 또한 "easyrdf / easyrdf 0.9.1 필요 ext-mbstring *-> 요청 된 PHP 확장 mbstring이 시스템에서 누락되었습니다."라는 매우 일반적인 오류에 대한 잠재적 솔루션입니다. 우리는 실행할 때 composer install처음. 다른 버전의 경우 적절하게 전환하십시오. 그들 대부분은 똑같을 것입니다.

누군가에게 도움이되기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.