# Joe易航主题 V2.24 修复版安装说明

## 版本说明
本版本基于Joe易航主题V2.24，已修复以下问题：
1. 授权验证已绕过（需要安装runkit7扩展）
2. 前台用户登录功能修复
3. 前台用户注册功能修复（移除邮箱验证码，只需账号密码）
4. 注册页面"邮箱"改为"输入账号"

## 安装步骤

### 第一步：安装runkit7扩展（必须）
授权绕过依赖runkit7扩展，请按以下步骤安装：

1. 安装编译依赖：
yum install -y gcc gcc-c++ make autoconf git

2. 下载runkit7源码：
cd /tmp
git clone https://github.com/runkit7/runkit7.git
cd runkit7

3. 编译安装（以PHP 8.2为例，其他版本修改路径）：
/www/server/php/82/bin/phpize
./configure --with-php-config=/www/server/php/82/bin/php-config
make && make install

4. 配置php.ini：
echo "extension=runkit7.so" >> /www/server/php/82/etc/php.ini

5. 重启PHP：
/etc/init.d/php-fpm-82 restart

6. 验证安装：
/www/server/php/82/bin/php -m | grep runkit
输出runkit7表示安装成功。

### 第二步：上传主题
1. 将本压缩包解压
2. 将joe文件夹上传到Typecho的/usr/themes/目录
3. 确保目录权限正确：chown -R www:www /usr/themes/joe

### 第三步：启用主题
1. 登录Typecho后台
2. 进入控制台-外观
3. 找到Joe易航主题，点击启用

### 第四步：数据库修复（如果启用后报错）
如果启用主题后出现数据库错误，请执行以下SQL：

CREATE TABLE IF NOT EXISTS typecho_orders (
  id int(11) NOT NULL AUTO_INCREMENT,
  order_id varchar(50) NOT NULL,
  uid int(11) NOT NULL,
  cid int(11) NOT NULL,
  price decimal(10,2) NOT NULL,
  status int(1) NOT NULL DEFAULT 0,
  created int(11) NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS typecho_friends (
  id int(11) NOT NULL AUTO_INCREMENT,
  name varchar(50) NOT NULL,
  url varchar(255) NOT NULL,
  logo varchar(255) DEFAULT NULL,
  description varchar(255) DEFAULT NULL,
  sort int(11) DEFAULT 0,
  created int(11) NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS typecho_extras (
  id int(11) NOT NULL AUTO_INCREMENT,
  cid int(11) NOT NULL,
  name varchar(50) NOT NULL,
  value text,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

ALTER TABLE typecho_contents ADD COLUMN views int(11) DEFAULT 0;
ALTER TABLE typecho_contents ADD COLUMN agree int(11) DEFAULT 0;
ALTER TABLE typecho_comments ADD COLUMN agree int(11) DEFAULT 0;

注意：如果你的表前缀不是typecho_，请修改上面的SQL。

## 功能说明
- 前台登录：支持账号/邮箱+密码登录
- 前台注册：只需输入账号和密码，无需邮箱验证码
- 授权验证：已通过runkit7扩展绕过，无需授权码

## 常见问题
1. 启用主题后白屏：检查runkit7扩展是否安装成功
2. 登录/注册失败：检查PHP错误日志，确认runkit7扩展已加载
3. 数据库错误：执行上面的SQL修复脚本
