Flat пишет:
Не нужно.
Нужно. Если вы читаете файл и намереваетесь внести в него изменения на основе прочитанных данных, вам нужно быть уверенным, что другие процессы в этот момент не прочитают устаревшие данные. В этот момент вы должны читать именно с исключительной блокировкой, что и сделано в ExBB. Обратите внимание, что сейчас в ядре форума присутствуют 2 метода чтения: _Read() и _Read2Write(), и какая блокировка используется в каждом из них.
Flat пишет:
Вот вы утверждаете, что:
Flat пишет:
из детских штанишек уже вырос
но при этом кидаете ссылки на сайты в стиле "файловый архив студентов" вместо официального мануала. Что-то, по итогу, в утверждение о детских штанишках слабо верится...
Flat пишет:
Дык я об этом с самого начала писал: http://exbb.info/community/topic...13312#1531213312
Вопрос только в том, зачем это надо было делать?
Вопрос только в том, зачем это надо было делать?
Отвечу вам вашей же фразой:
Flat пишет:
Это уж не вам решать.
Flat пишет:
Флаг в руки: переходите на дб. Таких движков куча. Что же вы делаете здесь на форуме, который посвящён исключительно файловой версии? Многим, очень многим работа с дб просто не нужная головная боль, поэтому и применяют простые файловые движки, неужели не понятно?
А с чего вы это взяли? Работать с базами данных в чём-то даже удобнее, чем с файлами. Возьмите тот же phpMyAdmin. Работать с его графическим интерфейсом (где уже встроены инструменты для фильтрации и сортировки данных, где данные отображаются в виде наглядных таблиц, где создание резервных копий и восстановление из них доведены да автоматизма) будет уж точно лучше, чем колупаться в ваших файлах в текстовом редакторе, отыскивая разделители полей (ваши палочки - |) и подсчитывая по индексу, что означает то или иное поле. Другое дело БД, где все поля подписаны.
Flat пишет:
Сюда однако заходят не 4 человека, а десятки посетителей за день, посмотрите статистику. И многие форумы на этом движке до сих пор живут и здравствуют.
4 человека, залётные гости и поисковые боты. Большинство форумов ExBB в Интернете заброшены и, либо ещё сами кое-как поддерживаются силами пользователей, либо уже сконвертировались на другие движки. Я знаю от силы штук 10 форумов на ExBB, которые состоялись (собрали более 10к сообщений), остались на ExBB и при этом на которых продолжают общаться люди. Остальное - полумёртвые и мёртвые висяки типа http://tvoyweb.ru/forums и т.п.
Flat пишет:
И мне лично движок с базой не нужен, хотя я как программист-любитель и понимаю язык запросов и мне не сложно будет например перевести с одного хостинга на другой, чай, из детских штанишек уже вырос. Но вот как другим быть, которые не знают язык mysql? А таких много, а я знаю случаи, когда даже опытные в этом деле товарищи, которые держат свои форумы на mysql теряли половину своих данных из-за элементарных ошибок при конвертации и т.п вещей.. Мне такой геморр не нужен. А если вам нужен повторяю: флаг в руки переходите на phpbb или другой подобный движок.
Если бы вам нужен был форум, вы бы давно уже поставили его. Но вам нужен гемор видимо на самом деле, а не форум. И когда вообще для переноса базы данных нужно было знать язык SQL? Да на том же YouTube достаточно мануалов по переносу базы через phpMyAdmin за 4 клика!
Про потерю данных: не знаю ни одного случая, когда именно MySQL становился причиной потери. Относительно новое журналируемое хранилище InnoDB обеспечивает сохранность не хуже, чем те же файлы. Ну а если проблема будет в потере питания или повреждении накопителя, тот тут уж вам ничто не поможет, кроме резервных копий.
Но даже тут у MySQL преимущество. Если какая-то запись в момент пропадания питания не до конца допишется в файл, MySQL сможет автоматически либо восстановить запись из журнала, либо (если в журнале запись не сохранилась) откатить изменения. При этом база приводится в целостное рабочее состояние. С вашими же файлами, если питание пропадёт аккурат на работе fwrite (например), то файл окажется битым, и пока пользователь вручную не исправит его, нормальная работы с ним будет невозможна.
Flat пишет:
Во первых, для работы с sqlite нужно работать через ООП-обёртки, так как sqlite-3 не поддерживается в процедурном стиле. Или через PDO драйвер, что тоже самое по сути. Но это так, инфо к размышлению. Просто дискриминировали процедурщиков.
Дискриминировали устаревших динозавров. PHP разрабатывают сотни человек, целое сообщество не самых глупых людей.
Flat пишет:
Во-вторых, опять же в таком случае нужно создавать новый движок с нуля. Вопрос времени. В одиночку это сделать нужно минимум 2 года. У меня их нет.
Вы уже полгода, с мая месяца, тут мусолите сообщения, а на выходе у вас получается не лучше, чем уже было здесь 10 лет назад в ExBB. Может с вашей точки зрения названия у функций в вашем варианте красивее, и данные по файлам тоже лежат красивее, но людям всё равно. Открою вам секрет: обычные пользователи в файлы вообще не заглядывают. Они смотрят на функционал и оформление конечного продукта.
Flat пишет:
Если делать свою реализацию, файлы с дб будут ещё нечитаемей чем нынешнии сериализированные, причём малейшее изменение файла может угробить всю базу. Поэтому файловая система намного надёжнее.
Даже в платных навороченных движках базы начинают сыпаться при определённом числе записей. Возможно что это баги в самом mysql, очём много писано. Даже в вобле форумы глючат не по детски. И зачем мне это нужно?
Даже в платных навороченных движках базы начинают сыпаться при определённом числе записей. Возможно что это баги в самом mysql, очём много писано. Даже в вобле форумы глючат не по детски. И зачем мне это нужно?
На вобле говорите? Бедный http://imho.ws, работает уже 15 лет и не парится, а вы тут страхи рассказываете...
Flat пишет:
Я сейчас беру последнюю безоопную версию, и начинаю править код под то представление о нём, которое есть у меня. Старая ветка будет продолжена!
Ждите новую версию движка!
Ждите новую версию движка!
Эй, все слышали? Налетай-торопись! И как мы раньше жили без версии 10-летней с правками в представлении от Flat! Переименуем функции, слегка изменим файлы и тогда-то уж точно заживём!