#!/bin/bash
# PHP 加固：启用 opcache、提升 memory_limit，写入 kangle 的模板 ini
set -euo pipefail
[ "$(id -u)" = "0" ] || { echo "需要 root"; exit 1; }
TS=$(date +%Y%m%d_%H%M%S)
for v in php74 php83; do
  T=/vhs/kangle/ext/$v/php-templete.ini
  [ -f "$T" ] || { echo "跳过 $v（无模板）"; continue; }
  cp -a "$T" "$T.bak_$TS"
  sed -i 's/^memory_limit = 128M/memory_limit = 256M/' "$T"
  if ! grep -q 'opcache.enable=1' "$T"; then
    SO=$(ls /vhs/kangle/ext/$v/lib/php/extensions/*/opcache.so 2>/dev/null | head -1)
    cat >> "$T" <<INI

; ---- opcache（脚本写入） ----
zend_extension=$SO
opcache.enable=1
opcache.enable_cli=0
opcache.memory_consumption=64
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=12000
opcache.validate_timestamps=1
opcache.revalidate_freq=2
INI
  fi
  echo "$v: memory_limit=$(grep -E '^memory_limit' "$T" | tail -1 | awk '{print $3}')"
done
# 让新模板生效
PHP=$(ls /vhs/kangle/ext/php*/bin/php 2>/dev/null | head -1)
[ -f /root/reload.php ] && [ -n "$PHP" ] && "$PHP" /root/reload.php ALL || echo "提示：需重载 kangle 使配置生效"
pkill -f 'ext/php74/bin/php-cgi' 2>/dev/null || true
pkill -f 'ext/php83/bin/php-cgi' 2>/dev/null || true
echo "完成（php-cgi 已重启，新配置在下次请求生效）"
