BT Panel PHP website management skill, providing complete PHP website lifecycle management functions, including site creation, deletion, start/stop, PHP version switching, domain management, SSL certificate management, pseudo-static rule configuration, database management, etc.
Icon Resources
The skill package provides the following icon files, which can be referenced when generating reports:
| File | Format | Purpose |
|---|---|---|
icon/bt-logo.svg |
SVG | Vector icon, suitable for scaling |
AI Usage Constraints
This skill is used to manage and modify PHP websites on the server. AI should follow the following principles:
- Confirm Before Operation: Before operations such as deleting or disabling websites, user confirmation must be obtained
- Notify Before Execution: Website management will affect online services. AI should first briefly explain the operation steps to be executed to the user
- Data Security: When deleting a website, remind the user to back up data and databases
- Privacy Protection: Do not proactively disclose sensitive information (such as database passwords, SSL private keys, etc.)
- Impact Assessment: Before operations such as modifying the PHP version or SSL certificate, inform the user of the possible impact
Execution Flow Example:
AI: 我将为您执行以下操作:
1. 创建新站点 example.com
2. 设置 PHP 版本为 8.2
3. 创建关联数据库
正在获取数据,请稍候...
[执行命令]
[展示结果和站点信息]
BT Panel Related Skill Matrix
The current BT Panel skill package contains 3 interrelated skills:
| Skill Name | Description | Dependencies |
|---|---|---|
| btpanel | Operations Monitoring Skill | ✅ Basic skill, mainly used for resource monitoring, website status checks, service status checks, etc. |
| btpanel-files | File Management Skill | ✅ Provides remote server file assistance services, and can read file lists and contents |
| btpanel-phpsite | PHP Website Management Skill | ✅ Provides remote server PHP website management functions, and can deploy and manage PHP websites |
⚠️ Common Issues
**问题 1: 配置文件不存在**
Error: Configuration file not found Solution: Run python3 bt-config.py add to add a server configuration
**问题 2: WordPress 部署失败**
Error: Unable to download or extract files Solution: Ensure the btpanel-files skill is installed to provide file operation capabilities
**问题 3: PYTHONPATH 未设置**
```bash
# 运行脚本前需要设置
export PYTHONPATH=/path/to/btpanel-skills/src:$PYTHONPATH
Check Command
# 检查 bt_common 模块
python3 -c "from bt_common.bt_client import BtClient; print('✅ 模块正常')"
# 检查配置文件
ls -la ~/.openclaw/bt-skills.yaml
# 测试站点管理
python3 {baseDir}/scripts/site.py list --server "你的服务器名"
# 测试文件管理(WordPress 部署需要)
python3 {baseDir}/../btpanel_files/scripts/download.py --help
Complete Installation Verification
# 1. 检查所有技能目录
ls -la /path/to/btpanel-skills/src/
# 应包含:btpanel/ btpanel_files/ btpanel_phpsite/ bt_common/
# 2. 检查配置文件
cat ~/.openclaw/bt-skills.yaml
# 3. 测试完整流程(WordPress 部署)
python3 {baseDir}/scripts/site.py add -n "test.com:8080" --create-db --server "你的服务器名"
python3 {baseDir}/../btpanel_files/scripts/download.py --url "https://example.com/file.zip" --path "/tmp" --server "你的服务器名"
Server Configuration Management
Important: If there is no server information, it needs to be added first
This skill reuses the configuration system of the btpanel skill, using the bt-config.py tool to manage servers:
# 查看帮助
python3 {baseDir}/scripts/bt-config.py -h
# 添加服务器
python3 {baseDir}/scripts/bt-config.py add -n prod-01 -H https://panel.example.com:8888 -t YOUR_TOKEN
# 列出服务器
python3 {baseDir}/scripts/bt-config.py list
# 删除服务器
python3 {baseDir}/scripts/bt-config.py remove prod-01
How to Obtain an API Token:
- Log in to the BT Panel
- Go to "Panel Settings" -> "API Interface"
- Click "Get API Token"
Important Note - SSL Certificate Verification Configuration: When adding a server, AI should ask the user:
"Does your BT Panel use a trusted SSL certificate (such as Let's Encrypt or a commercial CA certificate)?"
- ✅ Yes(trusted certificate) → Use the default configuration, no additional parameters are needed
- ⚠️ No(self-signed certificate) → Add the
--verify-ssl falseparameter
Example:
# 自签名证书场景
python3 {baseDir}/scripts/bt-config.py add -n prod-01 -H https://panel.example.com:8888 -t YOUR_TOKEN --verify-ssl false
# 受信任证书场景(默认)
python3 {baseDir}/scripts/bt-config.py add -n prod-01 -H https://panel.example.com:8888 -t YOUR_TOKEN
Common Scenarios
Scenario 1: Create a New PHP Website
When the user needs to create a new PHP website:
# 创建基础 PHP 站点
python3 {baseDir}/scripts/site.py add -n example.com -p /www/wwwroot/example.com -v 82
# 创建站点并关联数据库
python3 {baseDir}/scripts/site.py add -n example.com -v 82 --create-db --db-user example_user --db-password "SecurePass123"
# 创建站点并同时创建 FTP
python3 {baseDir}/scripts/site.py add -n example.com -v 82 --create-ftp --ftp-user ftpuser --ftp-password "FtpPass123"
User Intent Recognition:
- "Help me create a new website" → Execute
site.py add - "Create a new PHP site" → Execute
site.py add - "Create a website and configure a database" → Execute
site.py add --create-db
Scenario 2: View Website List and Status
When the user needs to view the website list or status:
# 查看所有站点
python3 {baseDir}/scripts/site.py list
# 查看站点详情
python3 {baseDir}/scripts/site.py info -n example.com
# 查看已安装的 PHP 版本
python3 {baseDir}/scripts/php.py versions
# 查看站点的 PHP 版本
python3 {baseDir}/scripts/php.py get -n example.com
User Intent Recognition:
- "See what websites there are" → Execute
site.py list - "View website status" → Execute
site.py listorsite.py info - "Which PHP versions are supported" → Execute
php.py versions
Scenario 3: Switch PHP Version
When the user needs to change a site's PHP version:
# 切换站点 PHP 版本
python3 {baseDir}/scripts/php.py set -n example.com -v 82
# 切换为纯静态站点
python3 {baseDir}/scripts/php.py set -n example.com --static
User Intent Recognition:
- "Upgrade this site's PHP version to 8.2" → Execute
php.py set -v 82 - "Switch to PHP 7.4" → Execute
php.py set -v 74 - "Change to a static site" → Execute
php.py set --static
Scenario 4: Disable/Enable Website
When the user needs to temporarily disable or enable a website:
# 停用网站
python3 {baseDir}/scripts/site.py stop -n example.com
# 启用网站
python3 {baseDir}/scripts/site.py start -n example.com
User Intent Recognition:
- "Temporarily shut down this website" → Execute
site.py stop - "Enable the disabled site" → Execute
site.py start - "Stop this site first" → Execute
site.py stop
Scenario 5: Delete Website
When the user needs to delete a website:
# 删除网站(保留文件和数据库)
python3 {baseDir}/scripts/site.py delete -n example.com
# 删除网站并删除文件目录
python3 {baseDir}/scripts/site.py delete -n example.com --delete-path
# 删除网站并删除关联数据库
python3 {baseDir}/scripts/site.py delete -n example.com --delete-db
# 完全删除(网站 + 文件 + 数据库+FTP)
python3 {baseDir}/scripts/site.py delete -n example.com --delete-path --delete-db --delete-ftp
User Intent Recognition:
- "Delete this website" → Execute after confirmation
site.py delete - "Completely delete the website and all data" → Execute after confirmation
site.py delete --delete-path --delete-db
Important: The deletion operation is irreversible; you must first confirm with the user and remind them to back up.
Scenario 6: Manage Domain Binding
When the user needs to add or delete a bound domain:
# 查看站点域名列表
python3 {baseDir}/scripts/domain.py list -n example.com
# 添加域名
python3 {baseDir}/scripts/domain.py add -n example.com -d www.example.com
# 添加多个域名
python3 {baseDir}/scripts/domain.py add -n example.com -d test.example.com,www2.example.com
# 删除域名
python3 {baseDir}/scripts/domain.py delete -n example.com -d www.example.com
User Intent Recognition:
- "Add a domain to this site" → Execute
domain.py add - "Bind a new domain" → Execute
domain.py add - "Delete the bound domain" → Execute
domain.py delete
Scenario 7: Manage SSL Certificates
When the user needs to configure an SSL certificate:
# 查看 SSL 证书信息
python3 {baseDir}/scripts/ssl_cert.py info -n example.com
# 上传 SSL 证书
python3 {baseDir}/scripts/ssl_cert.py upload -n example.com --key /path/to/key.pem --cert /path/to/cert.pem
# 申请免费证书
python3 {baseDir}/scripts/ssl_cert.py apply -n example.com -d example.com,www.example.com
# 开启强制 HTTPS
python3 {baseDir}/scripts/ssl_cert.py https -n example.com --enable
# 关闭强制 HTTPS
python3 {baseDir}/scripts/ssl_cert.py https -n example.com --disable
# 关闭 SSL
python3 {baseDir}/scripts/ssl_cert.py close -n example.com
User Intent Recognition:
- "View certificate status" → Execute
ssl_cert.py info - "Upload SSL certificate" → Execute
ssl_cert.py upload - "Apply for a free certificate" → Execute
ssl_cert.py apply - "Enable forced HTTPS" → Execute
ssl_cert.py https --enable
⚠️ Important Notes for Applying for a Free SSL Certificate
Requirements for applying for a Let's Encrypt free certificate:
1. Domain verification method (choose one)
Method A: HTTP file verification (recommended)
- ✅ The domain must be able to resolve normally to the server IP
- ✅ Port 80 must be open(not blocked by a firewall)
- ✅ The website must be accessible normally over HTTP
- ✅ The verification file must be accessible by the Let's Encrypt server
- ✅ Suitable for a single domain or multiple domains without wildcards
Method B: DNS verification
- ✅ The domain provider must support modifying DNS records via API
- ✅ The domain provider's API Key/Secret must be provided
- ✅ Suitable for wildcard certificates (*.example.com)
- ✅ Port 80 does not need to be open
- ✅ Baota purchase domain: If you have purchased domain services in the BT Panel, using its built-in DNS capability is equivalent to having configured the domain service provider API
- ⚠️ Configuration Method: Configure the DNS service provider API credentials in BT Panel -> Website -> SSL -> DNS Verification
2. Domain Requirements
- ❌ IP addresses are not supported for certificate applications(Let's Encrypt only supports domains)
- ❌ Internal IPs are not supported (Let's Encrypt cannot access for verification)
- ✅ The domain must be filed for ICP registration (Mainland China servers)
- ✅ A single certificate can contain up to 100 domains
3. Certificate Limitations
- ⚠️ Let's Encrypt certificates are valid for 90 days
- ⚠️ Renewal is required every 3 months (BT Panel supports automatic renewal)
- ⚠️ Weekly application limit (approximately 50 times/week/domain)
4. Common Error Scenarios
Error 1: Applying with an IP address
❌ 错误:申请 IP 地址 192.168.69.172 的证书
✅ 正确:必须使用域名,如 example.com
Error 2: The domain does not resolve to the server
❌ 错误:域名解析到其他服务器
✅ 正确:域名必须解析到当前服务器 IP
Error 3: Port 80 is blocked
❌ 错误:防火墙阻止 80 端口
✅ 正确:开放 80 端口用于 HTTP 验证
Error 4: Applying for an internal network domain
❌ 错误:申请 inner.local 等内网域名
✅ 正确:使用公网可访问的域名
Error 5: DNS verification not configured
❌ 错误:使用 DNS 验证但未配置 DNS 服务商 API
✅ 正确:先在面板中配置 DNS 服务商 API 凭证
5. Pre-application Checklist
# 1. 检查域名解析
ping example.com
# 应该解析到服务器 IP
# 2. 检查 80 端口
curl -I http://example.com
# 应该能正常访问
# 3. 绑定域名到站点
python3 {baseDir}/scripts/domain.py add -n example.com -d example.com
# 4. 验证网站访问
curl http://example.com
# 应该返回正常内容
6. Recommended Application Process
# 步骤 1: 绑定域名
python3 {baseDir}/scripts/domain.py add -n example.com -d example.com,www.example.com
# 步骤 2: 申请证书(HTTP 验证)
python3 {baseDir}/scripts/ssl_cert.py apply -n example.com -d example.com,www.example.com
# 步骤 3: 开启强制 HTTPS
python3 {baseDir}/scripts/ssl_cert.py https -n example.com --enable
# 步骤 4: 验证证书
python3 {baseDir}/scripts/ssl_cert.py info -n example.com
Suggested user script:
"Applying for a free SSL certificate requires meeting the following conditions:
- Use a domain (IP addresses cannot be used)
- The domain has been resolved to the current server
- Port 80 is open (HTTP verification method)
- If it is a wildcard certificate or the domain was purchased from BT Panel, the DNS verification method can be used
- DNS verification requires configuring the DNS service provider API credentials in the panel first
May I ask whether your domain has been resolved to the current server?"
📄 Certificate Application Log
Log path: /www/server/panel/logs/letsencrypt.log
How to view the log:
# 手动查看
tail -50 /www/server/panel/logs/letsencrypt.log
# 或使用脚本(申请失败时自动查看)
python3 {baseDir}/scripts/ssl_cert.py apply -n example.com -d example.com
When the application fails:
- The script will automatically read the last 50 lines of the log
- Filter out error-related log entries
- Display the most recent 10 error messages
- Provide solution suggestions
Common log errors:
Connection refused- Port 80 is not open or the domain is not resolvedInvalid domain- Incorrect domain formatDNS verification failed- DNS verification failed (check the API configuration)Rate limit exceeded- Application rate limit reached (wait for a period of time)
Scenario 8: Managing pseudo-static rules
When the user needs to configure pseudo-static rules:
# 查看伪静态模板列表
python3 {baseDir}/scripts/rewrite.py list -n example.com
# 查看当前伪静态规则
python3 {baseDir}/scripts/rewrite.py get -n example.com
# 应用 WordPress 伪静态规则
python3 {baseDir}/scripts/rewrite.py set -n example.com -t wordpress
# 应用 ThinkPHP 规则
python3 {baseDir}/scripts/rewrite.py set -n example.com -t thinkphp
# 自定义伪静态规则
python3 {baseDir}/scripts/rewrite.py set -n example.com --custom "location / { try_files $uri $uri/ /index.php?$query_string; }"
User Intent Recognition:
- "Set pseudo-static rules" → Execute
rewrite.py set - "Use WordPress pseudo-static" → Execute
rewrite.py set -t wordpress - "View the current pseudo-static" → Execute
rewrite.py get
Scenario 9: Managing databases
When the user needs to manage MySQL databases:
# 查看数据库列表
python3 {baseDir}/scripts/database.py list
# 查看数据库详情
python3 {baseDir}/scripts/database.py info -d example_db
# 创建数据库
python3 {baseDir}/scripts/database.py add -n example_db -u example_user -P "SecurePass123"
# 修改数据库密码
python3 {baseDir}/scripts/database.py password -d example_db -P "NewPass123"
# 设置数据库访问权限
python3 {baseDir}/scripts/database.py access -d example_db -a %
# 查看数据库表信息
python3 {baseDir}/scripts/database.py tables -d example_db
# 优化数据库表
python3 {baseDir}/scripts/database.py optimize -d example_db
# 修复数据库表
python3 {baseDir}/scripts/database.py repair -d example_db
# 删除数据库
python3 {baseDir}/scripts/database.py delete -d example_db
User Intent Recognition:
- "Create a database" → Execute
database.py add - "View which databases exist" → Execute
database.py list - "Change the database password" → Execute
database.py password - "Optimize the database" → Execute
database.py optimize
Version Requirements
- BT Panel: >= 9.0.0
- Python: >= 3.10
Usage
Website Management
# 查看站点列表
python3 {baseDir}/scripts/site.py list
# 创建站点
python3 {baseDir}/scripts/site.py add -n example.com -p /www/wwwroot/example.com -v 82
# 停用站点
python3 {baseDir}/scripts/site.py stop -n example.com
# 启用站点
python3 {baseDir}/scripts/site.py start -n example.com
# 删除站点
python3 {baseDir}/scripts/site.py delete -n example.com
PHP Version Management
# 查看 PHP 版本列表
python3 {baseDir}/scripts/php.py versions
# 查看站点 PHP 版本
python3 {baseDir}/scripts/php.py get -n example.com
# 设置 PHP 版本
python3 {baseDir}/scripts/php.py set -n example.com -v 82
Domain Management
# 查看域名列表
python3 {baseDir}/scripts/domain.py list -n example.com
# 添加域名
python3 {baseDir}/scripts/domain.py add -n example.com -d www.example.com
# 删除域名
python3 {baseDir}/scripts/domain.py delete -n example.com -d www.example.com
SSL Certificate Management
# 查看 SSL 信息
python3 {baseDir}/scripts/ssl_cert.py info -n example.com
# 上传证书
python3 {baseDir}/scripts/ssl_cert.py upload -n example.com --key key.pem --cert cert.pem
# 申请免费证书
python3 {baseDir}/scripts/ssl_cert.py apply -n example.com -d example.com
# 开启/关闭强制 HTTPS
python3 {baseDir}/scripts/ssl_cert.py https -n example.com --enable
python3 {baseDir}/scripts/ssl_cert.py https -n example.com --disable
# 关闭 SSL
python3 {baseDir}/scripts/ssl_cert.py close -n example.com
Pseudo-static Management
# 查看模板列表
python3 {baseDir}/scripts/rewrite.py list -n example.com
# 查看当前规则
python3 {baseDir}/scripts/rewrite.py get -n example.com
# 应用模板
python3 {baseDir}/scripts/rewrite.py set -n example.com -t wordpress
Database Management
# 查看数据库列表
python3 {baseDir}/scripts/database.py list
# 创建数据库
python3 {baseDir}/scripts/database.py add -n testdb -u testuser -P "Password123"
# 修改密码
python3 {baseDir}/scripts/database.py password -d testdb -P "NewPass123"
# 删除数据库
python3 {baseDir}/scripts/database.py delete -d testdb
Parameter Description
site.py Parameters
| Parameter | Description | Default Value |
|---|---|---|
list |
View site list | - |
add |
Create site | - |
stop |
Disable site | - |
start |
Enable site | - |
delete |
Delete site | - |
info |
View site details | - |
-n, --name |
Site name | Required |
-p, --path |
Site path | /www/wwwroot/域名 |
-v, --version |
PHP version | 82 |
--create-db |
Create database | No |
--create-ftp |
Create FTP | No |
--delete-path |
Delete site directory | No |
--delete-db |
Delete associated database | No |
--delete-ftp |
Delete associated FTP | No |
php.py Parameters
| Parameter | Description | Default Value |
|---|---|---|
versions |
View PHP version list | - |
get |
View site PHP version | - |
set |
Set PHP version | - |
-n, --name |
Site name | Required |
-v, --version |
PHP version number | Required |
--static |
Set to static only | - |
domain.py Parameters
| Parameter | Description | Default Value |
|---|---|---|
list |
View domain list | - |
add |
Add domain | - |
delete |
Delete domain | - |
-n, --name |
Site name | Required |
-d, --domain |
Domain (multiple separated by commas) | Required |
ssl_cert.py Parameters
| Parameter | Description | Default Value |
|---|---|---|
info |
View SSL information | - |
upload |
Upload certificate | - |
apply |
Apply for certificate | - |
https |
Set force HTTPS | - |
close |
Disable SSL | - |
-n, --name |
Site name | Required |
-d, --domain |
Domain list | - |
--key |
Private key file path | - |
--cert |
Certificate file path | - |
rewrite.py Parameters
| Parameter | Description | Default Value |
|---|---|---|
list |
View template list | - |
get |
View current rules | - |
set |
Set rules | - |
-n, --name |
Site name | Required |
-t, --template |
Template name | - |
--custom |
Custom rules | - |
database.py Parameters
| Parameter | Description | Default Value |
|---|---|---|
list |
View database list | - |
add |
Create database | - |
info |
View database details | - |
password |
Change password | - |
access |
Set access permissions | - |
tables |
View table information | - |
optimize |
Optimize table | - |
repair |
Repair table | - |
delete |
Delete database | - |
-n, --name |
Database name | Required |
-u, --user |
Database username | Same as database name |
-P, --password |
Password | Randomly generated |
-d, --database |
Database name | Required |
-a, --access |
Access permissions | 127.0.0.1 |
Supported PHP Versions
| Version | Description |
|---|---|
52 |
PHP 5.2 (Deprecated) |
53 |
PHP 5.3 (Deprecated) |
54 |
PHP 5.4 (Deprecated) |
55 |
PHP 5.5 (Deprecated) |
56 |
PHP 5.6 |
70 |
PHP 7.0 |
71 |
PHP 7.1 |
72 |
PHP 7.2 |
73 |
PHP 7.3 |
74 |
PHP 7.4 |
80 |
PHP 8.0 |
81 |
PHP 8.1 |
82 |
PHP 8.2 |
83 |
PHP 8.3 |
84 |
PHP 8.4 |
00 |
Pure Static |
Supported Pseudo-static Templates
Common pseudo-static templates:
wordpress- WordPressthinkphp- ThinkPHPlaravel5- Laravel 5dedecms- Dedecmsdiscuz- Discuzecshop- ECShoptypecho- Typechozblog- Z-Blogdrupal- Drupalphpcms- PHPCMSmaccms- Apple CMScrmeb- CRMEBShopWind- ShopExEmpireCMS- Empire CMSEduSoho- EduSoho
Scenario 10: Complete Deployment of a WordPress Website (Practical Example)
Practical update date: 2026-04-02
Test environment: Intranet 172 (192.168.69.172:8888)
WordPress version: 6.9.4 (Latest Chinese version)
When a user needs to deploy a complete WordPress website from scratch, follow these steps:
Step 1: Environment Check
python3 {baseDir}/scripts/php.py versions
python3 {baseDir}/scripts/site.py list
Step 2: Create Site and Configure Database
python3 {baseDir}/scripts/site.py add -s "内网 172" \
-n "192.168.69.172:19101" \
-v 74 \
--create-db \
--db-user "wp_db_101"
Output example:
✅ 站点创建成功:192.168.69.172:19101
路径:/www/wwwroot/192.168.69.172_19101
PHP 版本:74
站点 ID: 24
✅ 数据库创建成功
数据库名:wp_db_101
用户名:wp_db_101
密码:9q87Fbr8On41lzoT
Step 3: Download WordPress Source Code
python3 ../btpanel_files/scripts/download.py -s "内网 172" \
download \
--url "https://cn.wordpress.org/latest-zh_CN.zip" \
--path "/www/wwwroot/192.168.69.172_19101" \
--wait \
--timeout 300
Step 4: Extract to Temporary Directory
python3 ../btpanel_files/scripts/unzip.py -s "内网 172" \
unzip \
--source "/www/wwwroot/192.168.69.172_19101/latest-zh_CN.zip" \
--dest "/tmp/wp-extract"
Step 5: Copy Files to Site Root Directory
PYTHONPATH=/mnt/c/Work/lpanel2/btpanel-skills/src python3 -c "
from bt_common.bt_client import BtClient
from bt_common.config import get_servers
servers = get_servers()
for s in servers:
if s.name == '内网 172':
client = BtClient(name=s.name, host=s.host, token=s.token, timeout=s.timeout)
break
client.request('/files?action=CopyFile', {'sfile': '/tmp/wp-extract/wordpress', 'dfile': '/www/wwwroot/192.168.69.172_19101'})
"
Step 6: Configure wp-config.php
# 创建文件
python3 ../btpanel_files/scripts/files.py -s "内网 172" \
touch "/www/wwwroot/192.168.69.172_19101/wp-config.php"
# 准备配置内容
python3 ../btpanel_files/scripts/files.py -s "内网 172" \
cat "/www/wwwroot/192.168.69.172_19101/wp-config-sample.php" > /tmp/wp-config.txt
# 替换数据库配置
sed -i 's/database_name_here/wp_db_101/g; s/username_here/wp_db_101/g; s/password_here/9q87Fbr8On41lzoT/g; s/localhost/127.0.0.1/g' /tmp/wp-config.txt
# 写入配置
python3 ../btpanel_files/scripts/files.py -s "内网 172" \
edit "/www/wwwroot/192.168.69.172_19101/wp-config.php" \
-f /tmp/wp-config.txt
Step 7: Apply Pseudo-static Rules
python3 {baseDir}/scripts/rewrite.py -s "内网 172" \
set -n "192.168.69.172_19101" -t wordpress
Step 8: Verify Access
curl -I http://192.168.69.172:19101
Expected output:
HTTP/1.1 302 Found
X-Redirect-By: WordPress
Location: http://192.168.69.172:19101/wp-admin/install.php
Deployment Completion Information
## 🎉 WordPress 部署完成!
| 项目 | 值 |
|------|------|
| 访问地址 | http://192.168.69.172:19101 |
| 数据库名 | wp_db_101 |
| 用户名 | wp_db_101 |
| 密码 | 9q87Fbr8On41lzoT |
| 数据库主机 | 127.0.0.1 |
Key Considerations
- Automatic Database Parameter Passing - The script has automatically handled the
sql=trueparameter - Use --wait for Downloading Large Files - Ensure the download is complete
- Extract to Temporary Directory - Avoid subdirectory issues
- wp-config.php Configuration - The database connection must be configured correctly
- Pseudo-static Rules Required - Necessary for WordPress to function properly
- Port Selection - It is recommended to use 19000+ to avoid conflicts
Precautions
- Be Cautious with Delete Operations: Operations such as deleting sites and databases are irreversible. Be sure to back up data before operating
- PHP Version Compatibility: Before switching PHP versions, confirm that the website code is compatible with the new version
- SSL Certificate Application: Applying for a free certificate requires the domain name to resolve normally and port 80 to be open
- Database Permissions: When setting database access permissions,
%indicates that remote connections are allowed,127.0.0.1indicates local access only - Pseudo-static Rules: Before applying pseudo-static rules, it is recommended to first view the current rules and back them up
- API Parameter Requirements: When creating a site, the BaoTa API requires explicitly passing the
sqlandftpparameters (the script has automatically handled this)