돌진 설치 및 실행; URI가 지정된 경우에도 Drupal 사이트가 없습니다.


9

많은 시련과 고난 후, 나는 포효 할 준비가되어 있다고 생각했다. 많은 흥분. 그러나 기쁨은 없습니다 ...

Drush가 작동 중입니다. 사이트는 MAMP를 통해 정상적으로 작동합니다. 어쨌든 "drush cc all"명령은 다음을 반환합니다.

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

이 질문은 drupalcon 참석자와 경험이 풍부한 개발자를 혼란스럽게 만들었습니다. 어떤 아이디어?

MAMP (무료) 버전 3.0.5를 사용하는 Mac OS 10.9.3에 있습니다.

나의 돌진 상태는 다음과 같습니다.

 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    

에서 drush 실행을 시도했습니다 /Applications/MAMP/htdocs/mysite.dev. 부터 /Applications/MAMP/htdocs/mysite.dev/sites/default; 그리고 사용drush cc all --uri=http://localhost/mysite.dev

사이트 / 디폴트에서 drush 실행을 시도했습니다. 같은 결과입니다.


데이터베이스 연결이 sites / default 폴더에 있습니까? 그렇다면 해당 폴더에서 drush cc를 실행하십시오. --uri는 drush cc에 대한 유효한 논쟁이라고 생각하지 않습니다
chadpeppers

사이트 / 디폴트에서 drush 실행을 시도했습니다. 같은 결과입니다.
jenpasch

이것에 대한 해결책을 찾았습니까? 나는 같은 문제와 비슷한 설정을했습니다.
Deejay

나는하지 않았다. 나는 여전히 칙칙하다.
jenpasch

이거 보셨어요? : 그것은 상단 오프 비슷 drupal.stackexchange.com/questions/98802/...
CEDC.org - Laryn

답변:


9

아래의 모든 사항이 해결되었는지 다시 확인하십시오.

  1. drushDrupal 루트 폴더 또는 파일이 들어있는 폴더에서 실행 중 입니다 settings.php.
  2. mysql명령이 존재합니다 ( 의 명령입니다 PATH).

    데이터베이스 명령은 driver설정 파일에 설정된 데이터베이스에 따라 다릅니다 (예 : sqlcmdSQL Server의 경우 자세한 내용은 Drush 's에서 다른 클래스 확인 /src/Sql).

    폴더에서 실행할 때 명령이 누락 된 경우 이진 파일의 경로가 PATH시스템 변수에 추가되어 있는지 확인하십시오 .

  3. PHP에서 PDO 확장명이 활성화되어 있습니다 ( php -m | grep pdo또는로 확인 drush sqlc).

  4. 귀하의 PHP가 데이터베이스 확장 (예를 들어, 사용 가능 mysqli(에 의해 확인 :) php -m | grep mysql).

정확히, 잘못 실행 무엇을 조사하기 drush-v(상세)와 -d예 (디버그) 플래그,

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

오류가 있는지 확인하십시오.


PHP PDO 용 mysql 확장이 설치되지 않았습니다. 어떻게 php.ini를 활성화 할 수 있는지 확인하십시오.

데이터베이스 확장 (예 :)을 설치하십시오 ( mysqli위의 4 번째 포인트에 따라).

MAMP의 경우 Mac에서 Drush가 작동하지 않음을 참조하십시오.


앰프

MAMP를 사용하고 있기 때문에 올바른 버전의 php바이너리 를 실행하고 (확인 which php)를 가리켜 야합니다 /Applications/MAMP/bin/php/php5.X.X/bin/php. 그렇지 않은 경우 rc 파일 PATH에 경로를 추가하십시오 (예 :)~/.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

Windows 용 XAMPP의 경우 비슷한 것을 C:\xampp\mysql\bin환경 변수에 추가하십시오 PATH.

디버깅

귀하의 경우 drush명령이 어떤 이유로 실패, 여기 디버그 drush에 제안 된 단계입니다 (명령 쉘).

  1. PHP xdebug확장을 설치하고 활성화하십시오 . 로 확인하십시오 php71 -i | grep xdebug.
  2. Drupal 루트 , 설정 파일데이터베이스 가 있는지 확인하십시오 drush status.
  3. 추적 파일을 생성하십시오.

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

    또는:

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

    Xdebug는 서로 다른 PHP 버전을 사용하는 경우에 지정합니다 DRUSH_PHP=/path/to/php.

    성공하면 끝에 추적 출력 파일을 인쇄해야하므로 기록해 두십시오.

  4. 이제 추적 파일을 열고 확인하십시오.

  5. 깨끗한 Drupal과 drush 출력을 테스트하거나 비교하려면 다음을 수행하여 빈 폴더에 새로운 Drupal을 설치할 수 있습니다.

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

2
명백한 확인 settings.php 및 db를 넘어서서 정말 좋은 +1 대답 특히 drush sqlc데이터베이스를 사용자와 연결할 수 없다는 것을 보여 주므로 사용자와 암호를 확인하고 잘못 설정 한 것으로 나타났습니다. 감사합니다!
therobyouknow

1
@therobyouknow와 비슷한 문제가있었습니다-mysql ~/.my.cnf연결을 위해 사용자를 지정했지만 암호는 지정하지 않은 파일이 있습니다. 이것이 사이트의 비밀번호를 사용하여 해당 파일의 사용자를 사용하여 서두르고 있다고 생각합니다. 내 ~/.my.cnf파일에 암호를 추가 하거나 해당 파일을 제거하면 문제가 완전히 해결되었습니다
artfulrobot

4

MAMP를 실행하는 Mac의 새로운 Drush 8과 동일한 문제가 있습니다.

이것을 .bash_profile 내보내기 PATH = / Applications / MAMP / Library / bin / : $ PATH에 추가해야합니다.

bash를 다시 시작해야하므로 현재 터미널에서 작동하지 않으므로 새 터미널 창을 추가해야합니다.


1
이 한 줄은 나를 위해 고쳐진 것입니다. 나는 이것에 머리를 뽑고 있었다. 당신이 강타하기 위해 업데이트 / 변경을 할 때 새로운 터미널 창을 엽니 다! 그렇지 않으면 새 설정이 적용되지 않습니다.
ierier

1

@kenorb가 말했듯이 use을 사용 drush -vd cc all하면 자세한 내용을 알 수 있습니다. 제 경우에는 오류로 인한 것 "mysql command not found"입니다. 내 환경 변수에 mysql의 경로를 설정하여 해결했습니다. Drush와 MySQL 모두 경로를 확인하고 작동하는지 확인해야한다고 생각합니다.

감사!!


1

Drush를 사용하여 All Cache를 지우려면 www 또는 htdocs 디렉토리와 같이 사이트 디렉토리가있는 터미널의 사이트 디렉토리로 이동 한 다음 명령을 실행 한 후 프로젝트 폴더를 이동해야합니다.

drush cc all

0

Drush 패키지 configure.md를 확인하면 플랫폼에 유용한 힌트가 많이 있으며 MAMP 섹션은 다음과 같습니다.

앰프에 대한 추가 구성 :

MAMP 사용자는 PATH에서 명령 행 인터페이스에서 사용할 PHP 및 MySQL 버전을 수동으로 지정해야합니다. 이것은 MAMP 애플리케이션 설정에서 선택된 php 버전과 독립적입니다. OS X에서 홈 폴더의 .bash_profile 파일을 편집하십시오 (또는 존재하지 않는 경우 작성하십시오).

php 5.3.x를 사용하려면이 줄을 .bash_profile에 추가하십시오 :

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

PHP 5.4.x를 사용하려면 다음 줄을 대신 추가하십시오.

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

MAMP 3 (기본적으로 PHP 5.5.14)을 사용하고 php 5.5.x를 사용하려면 다음 줄을 대신 추가하십시오.

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

MAMP v.1.84 이하를 사용하는 경우이 구성은 두 버전의 PHP 모두에서 작동합니다.

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

PDO :: __ construct에서 "이러한 파일이나 디렉토리가 없습니다"오류가 계속 발생하면 다음을 시도하십시오.

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

또한, drush를 성공적으로 사용하기 전에 php.ini 설정을 조정해야 할 수도 있습니다. 진행 방법에 대한 자세한 내용은 아래의 PHP.INI 구성을 참조하십시오.


0

MAMP Pro를 실행하면 ~/.bash_profile파일에 다음 줄을 추가하여 작동 합니다.

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