• Записи 1545
  • Теги 109
  • Комментарии 3323

Лог жизни

Выпустил IntB 3.05

Ну всё, релиз Intellect Board 3.05 позади. Последние несколько дней жил в состоянии предрелизной гонки, только вчера выбрался на настолки. Но, как это ни странно, на этот раз всё шло достаточно хорошо, почти без перенапряжения, которое бывало во времена 2.x. Только сегодня несколько занервничал, испугавшись, что всё-таки не успею, особенно когда внезапно вылезли баги при редактировании прав доступа под Postgres.
Вообще, больше всего сложностей было именно с поддержкой Postgres. Впрочем, скорее всего, дело в плохом знании его администрирования. В частности, сегодня почти полдня разбирался, как там ставить права на таблицы в том случае, если новый пользователь создаётся в процессе установки форума. Оказывается, там есть такое понятие, как привилегии по умолчанию, и выставлять надо именно их, если таблицы создаются после установки привилегий.
На SQLIte переход оказался гораздо проще. Хотя и там не обошлось без сюрпризов, например, отсутствия функций VERSION и CONCAT. Пришлось городить костыли в виде пользовательских функций. А ещё оказалось, что такая простая задача, как извлечь расширение из имени файла, средствами SQL кроссплатформенно не решается. В каждой из СУБД что-то оказывается не так. Так и вынес это в постобработку данных на PHP.
И к вечеру всё же убедился, что форум более-менее стабильно работает на всех трёх СУБД. В процессе не обошлось без смешного: когда я тестировал групповое изменение настроек разделов, то случайно выключил опцию «Показывать на главной странице». А потом, увидев, что разделы пропали с главной, подумал, что в последний момент вылез новый баг. Даже запаниковал, что из-за него не успею. Потом создал новый раздел — смотрю, он появился. И только когда сделал прямой SQL-запрос к базе из командной строки, понял, в чём дело.
Потом обновил оба своих сайта, собрал и выложил дистрибутив. Но и тут не обошлось без проблем. Ссылки на скачивание файла у меня со стародавних времён начинались с http:, поэтому при заходе на сайт через https: скачивание просто блокировалось. Хорошо, что я это заметил, иначе бы снова сидел и гадал, почему нет новых пользователей.
Но теперь можно будет вздохнуть спокойно! Сам удивляюсь тому, какой огромный объём работы проделан. Не знаю, как сложится судьба IntB дальше, но в любом случае, тем фактом, что я написал такой проект, можно гордиться.
Ещё собираюсь создать всё-таки репозиторий на GitHub и собрать package для composer, но это — позже…

10 комментариев:

Нет
Aksion
0

SQLIte - это 1-апрельская шутка?
На сайте не сказано о возможности его

Системные требования
PHP 5.3 (рекомендуется 7.4 или 8.x) и выше, MySQL 5.x или выше (или MariaDB), Apache с mod_rewrite или nginx.

intbpro.ru/about/

Тут
УСТАНОВКА форума на движке Intellect Board Pro 3.0
1. Требования для установки:
Web-сервер Apache 2.x или nginx, поддерживающий выполнение PHP-скриптов (возможна работа и на других серверах, но не тестировалась)
PHP версии не ниже 5.3.0 (рекомендуется 7.4 или 8.0, также работа форума была протестирована на 8.2)
MySQL версии 5.0.4 или выше
Источник: intbpro.ru/docs/install/

тоже ничего не сказано про SQLIte
4X_Pro
0
Aksion написал(а):
SQLIte - это 1-апрельская шутка?

Нет, никаких шуток. Вполне типичная ситуация: код обновили, докумнетацию — нет (хотя сейчас поправлю). Но если запустить установщик, он предложит тебе выбрать из трёх СУБД (если у тебя установлены соответствующие модули для PHP).
4X_Pro
0

Кстати, заодно обнаружил, что там прямая ссылка для скачивания тоже старая, с http вместо https.

Нет
Aksion
0

ну вот видишь как хорошо что я зануда

Нет
Aksion
0
4X_Pro написал(а):
Но если запустить установщик, он предложит тебе выбрать из трёх СУБД

А что для SQLIte надо что то устанавливать на хостинг? Это не входит в установщик?
Я думал что с SQLIte не нужно ставить никакие СУБД
4X_Pro
0

СУБД — ставить не надо, но нужен модуль PHP. На большинстве хостингов он есть, но иногда бывает нужно найти и включить в настройках в панели управления.

Нет
Aksion
0
4X_Pro написал(а):
СУБД — ставить не надо, но нужен модуль PHP. На большинстве хостингов он есть

это я знаю. Я просто думал что SQLIte как и полный SQL базы надо ставить.
То есть не надо? SQLIte - это равно PHP?

4X_Pro
0

По сути, да. Точнее, для него должна быть библиотека в системе соответствующая (какая-нибудь sqlite3.so), но она ставится как зависимость при установке того же php-sqlite3 (или сразу в него вкомпилирована — не знаю). Соответственно, если на хостинге есть модуль, то и все необходимые библиотеки тоже есть. А вот отдельных выполняемых процессов для SQLite точно не требуется, все действия с базой совершаются прямо из того же процесса, в котором выполняется PHP-скрипт.

Нет
Aksion
0

ТО есть и сохранять базу SQLite не надо когда переносишь сайт/форум (или делаешь резервную копию)? Просто все файлы и папки копировать и всё?

4X_Pro
0

Именно так. Файл с базой будет лежать в каталоге db. Только после установки нужно удостовериться, что его нельзя скачать по http (т.е. зайти по адресу адрес_форума/db/имя_файла.db), иначе можно украсть всю базу форума. Я, конечно, на всякий случай положил в каталог файл .htaccess с запретом доступа, но если дело происходит под nginx или Apache настроен криво, то это не поможет.

Написать комментарий
Прикрепить файлы: (не более 4 файлов, не более 102400 Кб каждый, 102400 Кб всего)


Задать вопрос