75 lines
1.7 KiB
PHP
75 lines
1.7 KiB
PHP
<?php
|
|
/**
|
|
* 项目提交前预处理脚本
|
|
* 用于安全备份并清理敏感配置字段
|
|
*/
|
|
|
|
$source = __DIR__ . '/config.php';
|
|
$backup = __DIR__ . '/config.backup.php';
|
|
|
|
// 1️⃣ 检查文件是否存在
|
|
if (!file_exists($source)) {
|
|
echo "❌ 找不到 config.php,跳过处理。\n";
|
|
exit(0);
|
|
}
|
|
|
|
// 2️⃣ 备份
|
|
copy($source, $backup);
|
|
echo "✅ 已备份到 config.backup.php\n";
|
|
|
|
// 3️⃣ 读取原配置
|
|
|
|
// 3️⃣ 读取配置
|
|
$options = [];
|
|
require $source; // 直接导入 $options
|
|
|
|
if (!isset($options) || !is_array($options)) {
|
|
echo "❌ config.php 中未定义 \$options 数组。\n";
|
|
exit(1);
|
|
}
|
|
|
|
// 4️⃣ 根据需求修改特定字段
|
|
// 举例:清空日志路径、设置默认workers、隐藏api_key
|
|
$fieldsToReset = [
|
|
'redis' => [
|
|
'ip'=>'127.0.0.1',
|
|
'port'=>6379,
|
|
'password'=>'YOURPASSWARD',
|
|
],
|
|
'db' => [
|
|
'type' => 'mysql',
|
|
'host' => '',
|
|
'database' => '',
|
|
'username' => '',
|
|
'password' => '',
|
|
'charset' => 'utf8mb4',
|
|
'collation' => 'utf8mb4_general_ci',
|
|
'port' => 3306,
|
|
],
|
|
'apikey'=>'',
|
|
];
|
|
|
|
// 应用修改
|
|
foreach ($fieldsToReset as $key => $value) {
|
|
if (array_key_exists($key, $options)) {
|
|
$options[$key] = $value;
|
|
}
|
|
}
|
|
// 5️⃣ 写回原文件(保持 $options = [...] 格式)
|
|
$export = var_export($options, true);
|
|
|
|
// 把 array(...) 替换成 [...]
|
|
$export = preg_replace(['/\barray \(/', '/\)(\s*[,;])?/'], ['[', ']$1'], $export);
|
|
|
|
// 构造完整内容
|
|
$content = <<<PHP
|
|
<?php
|
|
|
|
\$options = $export;
|
|
|
|
PHP;
|
|
|
|
// 写入文件
|
|
file_put_contents($source, $content);
|
|
|
|
echo "✅ config.php 已清理敏感信息,可安全提交。\n"; |