페미위키:개선요청의 토론 주제

로컬 테스트를 해봤는데 써주신 네 줄 코드를 추가했을 경우에 다름 에러가 나고

Notice: Undefined index: class in /var/www/femiwiki.com/includes/Setup.php on line 255
Notice: Undefined index: name in /var/www/femiwiki.com/includes/Setup.php on line 259
Notice: Undefined index: name in /var/www/femiwiki.com/includes/filebackend/FileBackendGroup.php on line 77
Notice: Undefined index: directory in /var/www/femiwiki.com/includes/filebackend/FileBackendGroup.php on line 79
Notice: Undefined index: class in /var/www/femiwiki.com/includes/filerepo/RepoGroup.php on line 416

모르겠어서 Setup.php의 255 및 259 줄을 찾아봤는데 다음과 같습니다,

if ( !isset( $repo['directory'] ) && $repo['class'] === 'ForeignAPIRepo' )
$repo['backend'] = $repo['name'] . '-backend';

하여튼 그래서 대신

$wgForeignFileRepos[] = [
    'class' => 'ForeignAPIRepo',
    'name' => 'wikimediacommons',
    'apibase' => 'https://commons.wikimedia.org/w/api.php',
    'url' => 'https://upload.wikimedia.org/wikipedia/commons',
    'thumbUrl' => 'https://upload.wikimedia.org/wikipedia/commons/thumb',
    'hashLevels' => 2,
    'transformVia404' => true,
    'fetchDescription' => true,
    'descriptionCacheExpiry' => 43200,
    'apiThumbCacheExpiry' => 86400,
];

을 적었는데 그러면 다음과 같은 에러가 납니다.

Exception encountered, of type "FileBackendException"
[c1cec22c515fa99a337f5e37] /index.php?title=%ED%8A%B8%EB%9F%BC%ED%94%84&action=submit FileBackendException from line 126 of /var/www/femiwiki.com/includes/filebackend/FileBackendGroup.php: Backend with name `wikimediacommons-backend` already registered.

Setup.php을 더 살펴봤을 때, $wgUseInstantCommonstrue로 설정할 경우 Commons를 자동으로 ForeignFileRepos으로 추가하고, 이 때 캐싱 기간은 12시간/24시간으로 정해져있지만, 이를 수정하는 옵션은 없는 것 같고(아마?) 위 에러는 같은 이름의 ForeignFileRepos를 둘 추가했기 때문에 난 것으로 그러면 대신 $wgUseInstantCommonsfalse로 설정한 다음 수동으로 Commons를 추가하면 조금 억지로지만 조정은 할 수 있는 것 같습니다. 이 경우 추가해야 하는 코드는 다음과 같습니다.

$wgUseInstantCommons = false;
$wgForeignFileRepos[] = [
    'class' => 'ForeignAPIRepo',
    'name' => 'wikimediacommons',
    'apibase' => 'https://commons.wikimedia.org/w/api.php',
    'url' => 'https://upload.wikimedia.org/wikipedia/commons',
    'thumbUrl' => 'https://upload.wikimedia.org/wikipedia/commons/thumb',
    'hashLevels' => 2,
    'transformVia404' => true,
    'fetchDescription' => true,
    'descriptionCacheExpiry' => 8640000,
    'apiThumbCacheExpiry' => 8640000,
];

그러나 뭔가 억지스러워서 하기도 조심스럽고… 12시간/24시간으로 이미 캐싱이 되고 있는 것으로 생각되어 이것을 100일로 늘리는 것이 옳은 일인가를 제가 판단할 수가 없어 보류하려고 합니다.

더 잘 아시는 분이 있다면 살펴봐 주시면 감사하겠습니다ㅠㅠ