Больше года на моем локальном компьютере с Win XP стояла связка Apache 2.0.54 + PHP 5.0.4 + MySQL 4.0.18. Здесь же работал сайт на Drupal 5. Недавно решил начать новый проект под Drupal 6, но он отказался устанавливаться из очень старой MySQL. Пришлось обновить БД до версии 5.0.18. Но появилась другая проблема с сайтом на Drupal 5.
Ранее при добавлении новой страницы с длинным текстом в Title он просто обрезался на какой-то длине, ошибок не выдавалось.
С новым сервером MySQL страница не добавляется. Появляется надпись "Страница не найдена" и текст предупреждения:
В настройках адресов я указывал синоним для этой страницы (news/5). Теперь к странице невозможно достучаться ни по какому пути, выдается "страница не найдена" и предупреждение. Хотя сама страница не существует, указанный синоним больше использовать нельзя.
Если добавлять страницу с Title меньше максимального, всё нормально работает. Если кто-то сможет помочь, буду рад:
1) как вернуть "потерянный синоним"?
2) как избежать таких ошибок в дальнейшем?
Комментарии
Собственно, ничто не мешает в довесок к пятой мускули, держать на компе еще и четвертую для старого сайта.
По собственному опыту знаю сколько глюков и геммора при переезде с 4 на 5. Проще посидеть месяцок на двух стульях и спокойненько выловить все баги.
Не представляю, как можно настроить на 1 апач 2 разные MySQL. Видно, придется ставить вместо 5-й MySQL 4-ю поновее.
какое отношение mysql имеет к апачу? зведите хоть 10 апачей и 100 mysql, лишь бы портами не пересекались
не пугайте человека разными портами....
MYSQL говорит, что фраза "page not found" не влазиет в поле "type". Зайдите в PHPMYADMIN и увеличьте поле `type` с varchar(16) до varchar(255) - ЭТА ошибка должна исчезнуть
Не "page not found", а другая: "Фундаментальное образование в Москве для школьников России". Лазить в настройках MySQL я не решился, просто поставил другую версию БД.
Я удалил MySQL 5.0.18 и поставил вместо нее 4.1.22. Кажется, для Drupal 6 она подходит. Старую database удалил, вместо нее залил бэкап, предусмотрительно сделанный перед вчерашним обновлением. Конечно же, попробовал добавить по-новому злополучную страничку. Все добавилось отлично, ошибок не было.
Заметил еще, что на MySQL 4.1.22 в Title можно засунуть в 2-2.5 раза больше знаков, чем в 4.0.18, прежде чем текст обрежется (!). Вот так - один и тот же Апач и PHP и 3 разные версии MySQL. В трех случаях получается РАЗНОЕ поведение системы.
Мой совет: не гонитесь за новыми технологиями. Лучше отработанное старое, чем глючное новое... Не во всех случаях, конечно.
ну дык для начала нужно сделать экспорт с совместимостью, и вообще переход между мажорными версиями всегда болезнен
Привык делать бэкап через mysqldump.exe, при восстановлении БД понадобилось в итоговый файл добавить команду SET NAMES utf8; БД нормально залилась.
Не представляю, как можно настроить на 1 апач 2 разные MySQL. Видно, придется ставить вместо 5-й MySQL 4-ю поновее.
Элементарно, Ансер! Пусть стоит 4.0. Запускаешь инсталяшку пятой с расширенными настройками. По дороге ставишь ее в другую папку. На вопрос об имени службы обзываешь другим словом. На запрос номера порта указываешь 3307 или что-нить другое (не 3306).
Все.! Только подключаясь в скриптах не забудь правильный номер порта указывать. localhost:3306 - ты коннектишься к четверке, localhost:3307 - к пятерке.
Заметил еще, что на MySQL 4.1.22 в Title можно засунуть в 2-2.5 раза больше знаков, чем в 4.0.18, прежде чем текст обрежется (!). Вот так - один и тот же Апач и PHP и 3 разные версии MySQL. В трех случаях получается РАЗНОЕ поведение системы.
Тут диагноз ясен. Там где знаков больше у тебя база хранит символы в виндовой кодировке. Там где меньше в UTF.
Спасибо всем. Настраивать не буду, но буду иметь в виду. А если 2 сервера MySQL, в php.ini разве ничего менять не надо?
ЕМНИП, в пятерке он лежит уже не в виндовой папке, а в папке приложения. Но вообще-то, надо просто провести пару экспериментов. Поменяй, что-нить в файле, и посмотри какой сервер на какой файл реагирует.