WordPress
WordPress 사이트에서 WP-CLI 사용하기
KPanel includes a WP-CLI console that runs commands against your WordPress site from the browser, with no SSH client and no server login. This guide covers where to find it, exactly which commands…
KPanel에는 브라우저에서 WordPress 사이트를 대상으로 명령을 실행하는 WP-CLI 콘솔이 포함되어 있으며, SSH 클라이언트나 서버 로그인이 필요 없습니다. 이 가이드는 콘솔을 찾는 방법, 허용되는 정확한 명령과 그 이유, 화면에 내장된 단축키, 그리고 콘솔이 실행할 수 없는 작업이 필요할 때 할 수 있는 일을 다룹니다.
콘솔 열기
- KPanel에 로그인하고 왼쪽 사이드바에서 Websites를 클릭합니다.
- WordPress 사이트를 클릭합니다.
- WordPress 탭을 연 다음 Console 섹션을 엽니다.

입력창에는 이미 고정된 wp이 시작되어 있으므로, 그 뒤에 오는 내용만 입력합니다. plugin list입니다. wp plugin list이 아닙니다. Enter를 누르거나 Run을 클릭합니다.
Console은 관리형 요금제에 나타나는 섹션 중 하나입니다. 다른 요금제에서는 탭 스트립이 +8 on Managed 링크로 끝납니다. 여기에 설명된 원시 명령이 아닌 모든 작업에는 KPanel의 다른 곳에 동등한 버튼이 있으므로, 어떤 것도 접근할 수 없는 것은 아닙니다. 콘솔은 같은 엔진에 더 빠르게 접근하는 방법일 뿐입니다.
명령은 사이트의 자체 시스템 사용자로 사이트의 디렉터리 내에서 실행됩니다. 다른 사이트를 보거나 건드릴 수 없습니다.
콘솔이 실행하는 것과 실행하지 않는 것
콘솔은 허용 목록을 사용합니다. 아래의 명령 접두사만 허용되며, 다른 모든 것은 서버에 도달하기 전에 거부되며 거부된 명령의 이름을 명시하는 메시지가 나타납니다.
| 영역 | 허용됨 |
|---|---|
| Core | core version, core check-update, core update, core is-installed, core verify-checksums |
| Plugins | plugin list, plugin update, plugin install, plugin activate, plugin deactivate, plugin status, plugin get, plugin delete, plugin verify-checksums |
| Themes | theme list, theme update, theme install, theme activate, theme status, theme get, theme delete |
| Users | user list, user get, user create, user update, user set-role, user delete, user reset-password, user add-cap, user remove-cap, user generate |
| Database | db size, db tables, db optimize, db repair, db check |
| Cache and transients | cache flush, cache get, cache set, cache add, cache delete, transient get, transient set, transient delete |
| Rewrite rules | rewrite flush, rewrite list, rewrite structure |
| Cron | cron event list, cron event run, cron schedule list |
| Config | config get, config list, config has, config shuffle-salts |
| Maintenance mode | maintenance-mode activate, maintenance-mode deactivate, maintenance-mode status |
| Read only inspection | option get, option list, post list, post get, comment list, comment get |
| Media and language | media regenerate, language core install, language core update |
| Search and replace | search-replace |
의도적인 제외가 포함보다 더 중요합니다:
- **
eval및shell**는 차단됩니다. 임의의 PHP와 임의의 셸은 콘솔을 브라우저 탭의 루트 프롬프트와 동등하게 만들 것입니다. - **
db import,db export,db drop,db query및db reset**는 차단됩니다. 가져오기와 초기화는 확인 단계 없이 데이터베이스를 파괴합니다.db query은 제한되지 않은 SQL 프롬프트입니다. 대신 phpMyAdmin을 사용하세요: phpMyAdmin으로 데이터베이스 액세스하기. - **
config set및config delete**는 차단됩니다. 잘못된wp-config.php쓰기는 사이트를 오프라인으로 만듭니다. 여기에서 값을 읽고 파일 관리자를 통해 변경하세요. - **
option update및option delete**는 차단됩니다. 옵션을 무작정 편집하는 것은 사이트를 복구 불가능하게 손상시키는 일반적인 방법입니다.
콘솔은 모든 명령에서 백업을 생성하지 않습니다. Quick Actions 섹션의 버튼만 그렇게 합니다. search-replace, core update, plugin update, theme update, db optimize 또는 db repair를 실행하기 전에 사이트의 Backups 탭에서 직접 백업을 생성하세요. 백업 생성하기를 참조하세요.
콘솔에서 작업하기
화면은 한 번에 하나의 명령을 받는 것보다 더 많은 작업을 수행합니다.
사전 설정된 버튼. 그룹화된 단축키는 프롬프트 위에 위치합니다: Performance (캐시 플러시, 임시 항목 제거, 보기 규칙 플러시, 자동 로드 확인), Database (최적화, 확인, 복구, 크기), Diagnostics (WP 버전, 업데이트 확인, 코어 검증, cron 이벤트), Content (플러그인 나열, 테마, 사용자, 지금 cron 실행), Security (관리자 사용자, 플러그인 체크섬, 솔트 초기화, wp-config) 및 Maintenance (유지 보수 모드 켜기/끄기, 썸네일 재생성, 상태). 한 번의 클릭으로 명령을 실행합니다.
기록. 프롬프트에서 위아래 화살표를 눌러 이 사이트의 마지막 50개 명령을 이동합니다.
스니펫. 명령 옆의 북마크 아이콘을 클릭하여 이름으로 저장하면, 매월 사용하는 긴 명령어가 다음에는 한 번의 클릭이 됩니다.
환경 카드. 프롬프트 위에는 사이트의 PHP 버전, WordPress 버전, 메모리 제한, 현재 사용 중인 메모리, 최대 업로드 및 실행 시간 제한을 보여주는 카드가 있으며, Copy for support 버튼이 모두 활성 플러그인 목록과 함께 클립보드에 복사합니다. 지원 티켓에 붙여넣으면 왕복을 절약할 수 있습니다.
출력 복사. 모든 결과 블록에는 복사 및 지우기 버튼이 있습니다.
명령이 실행되면서 출력 스트림이 반환되므로, 긴 작업이 진행 상황을 표시하지만 조용히 앉아 있지 않습니다.
알아두면 좋은 명령
진단
core version
core verify-checksums
plugin verify-checksums --all
plugin list --status=active --format=table
db size --tables
option list --autoload=yes
verify-checksums은 코어 및 플러그인 파일을 공식 게시된 복사본과 비교하고 수정된 모든 항목을 보고합니다. 변조되었다고 의심되는 사이트에서 가장 빠른 첫 확인입니다.
option list --autoload=yes은 WordPress가 모든 단일 요청에서 로드하는 모든 옵션을 나열합니다. 부풀어 오른 자동 로드 테이블은 눈에 띄는 이유가 없는데 느린 사이트의 가장 일반적인 원인 중 하나입니다.
관리
cache flush
transient delete --all
rewrite flush
db optimize
cron event list
cron event run --due-now
사용자
user list --role=administrator --format=table
user create jo jo@example.com --role=editor
user update 4 --user_pass='a-long-unique-password'
여기에 입력된 모든 것은 암호를 포함하여 계정의 활동 로그에 기록됩니다. 로그인한 후 이 방식으로 설정한 암호를 변경하세요. 계정 복구에 대한 전체 세부 정보는 손실된 WordPress 관리자 암호 초기화하기에 있습니다.
검색 및 바꾸기
search-replace 'http://old-domain.co.nz' 'https://old-domain.co.nz' --all-tables --dry-run
항상 먼저 드라이 런을 실행하세요. 원시 SQL 바꾸기가 WordPress 데이터베이스를 손상시키는 이유를 포함한 전체 안내는 검색 및 바꾸기 실행하기에 있습니다.
콘솔 또는 빠른 작업?
둘 다 기본적으로 동일한 WP-CLI를 실행합니다. 다음을 기준으로 선택하세요:
| 작업 | 더 나은 경로 |
|---|---|
| 캐시 플러시, 플러그인 업데이트, 미디어 재생성 | Quick Actions, 한 번의 클릭으로 먼저 백업 |
| 테이블별 미리 보기가 있는 검색 및 바꾸기 | Quick Actions, Search & Replace 카드 |
| 특정 플래그가 필요한 모든 것 | Console |
| 나열, 검사, 진단 | Console |
| 기한이 지난 하나의 cron 이벤트 실행 | Console |
wp-config.php 편집 또는 데이터베이스 가져오기 | 없음. 파일 관리자 또는 phpMyAdmin을 사용하세요 |
허용 목록보다 더 많이 필요할 때
제한되지 않은 WP-CLI의 경우 SSH를 통해 연결하고 사이트의 디렉터리에서 wp을 직접 실행하세요. SSH는 키 인증만 사용하므로 먼저 사이트의 Files 탭에서 공개 키를 추가한 후 SSH Keys 탭을 추가하세요. 연결 세부 정보 (정확한 호스트, 포트 및 사용자 이름 포함)는 동일한 화면에 표시됩니다. SSH 키 추가하기 및 SFTP를 통해 연결하기를 참조하세요.
문제 해결
"'x y'는 허용된 명령 목록에 없습니다." 명령이 허용 목록에 없습니다. 위의 표에서 가장 가까운 허용된 동등 항목을 확인하거나 SSH를 사용하세요.
"결과가 반환되지 않았습니다. WP-CLI를 사용할 수 있는지 확인하세요." 명령이 실행되었지만 아무것도 인쇄하지 않았습니다. 일반적으로 일치하는 항목이 없는 쿼리에 대한 올바른 동작입니다.
명령이 시간 초과되었습니다. 콘솔 명령은 60초로 제한됩니다. 대규모 미디어 라이브러리를 재생성하는 것과 같은 긴 작업은 더 긴 제한을 사용하는 Quick Actions에서 또는 SSH를 통해 실행해야 합니다.
아무것도 실행되지 않고 버튼이 비활성화됩니다. Kapsule 계정 역할이 이 사이트에 대해 읽기 전용입니다. 계정 소유자에게 승격을 요청하세요.