вторник, 6 ноября 2012 г.

mediawiki 1.16.12

Это последняя версия mediawiki, поддерживающая php версии 4.
Для установки достаточно скопировать ее в папку вебсервера и открыть index.php. Далее - следовать инструкциям.

Решение проблем:
1) При установке на php версии 5.3 появляется "Parse error: syntax error, unexpected T_NAMESPACE, expecting T_STRING in путь/Namespace.php on line 46".

Для решения этой проблемы пишем небольшой shell скрипт:


for fl in *.php; do
mv $fl $fl.old
sed 's/Namespace::/MWNamespace::/g' $fl.old > $fl
done

Этот скрипт переименовывает класс Namespace в MWNamespace 

Далее, переходим в папку вики include и вызываем написанный нами скрипт. Если проблема полностью не решена, надо вызвать его также в корневом каталоге вики.

Идея решения проблемы взята отсюда.

2) При первом запуске возникла проблема:

Error in fetchObject(): Illegal mix of collations (cp1251_bin,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='

Это проблема кодировки бд. Идея - отсюда.

Для ее смены можно воспользоваться таким способом:
а) Выполняем
alter database имя_бд collate 'utf8_unicode_ci'
Идея - отсюда.

б) Выполняем
SELECT CONCAT('ALTER TABLE `', t.`TABLE_SCHEMA`, '`.`', t.`TABLE_NAME`, '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;') as sqlcode
  FROM `information_schema`.`TABLES` t
 WHERE 1
   AND t.`TABLE_SCHEMA` = 'имя_бд'
 ORDER BY 1

Получим готовый sql код для преобразования кодировок всех таблиц бд.
Копируем его и выполняем.

Идея - отсюда.