ALEXPTS
WEB DEVELOPER
PHP, NodeJS, JavaScript, etc.
Главная Приколы Стена
Cкилы: Web Php NodeJs Tests Storages

Немного обновился

#Dev

Пока отдыхаю в отпуске от работы решил обновить все свои старые проекты, которые я в той или иной мере поддерживаю.

Php7

В 2 местах в своем коде явно указал свойство, обернув выражение в фигурные скобки. Еще переписал класс-обработчик ошибок и исключений, который ловит все ошибки и исключения через set_error_handler и set_exception_handler соответственно.

Переход на php7 оказался очень простым и безболезненным. Проблем с extensions php я не испытал. Толи не использую какие-то редки расширения, толи это байки.

Mongo 3.2

Так как данных у меня всего ничего, то просто сделал чистую установку mobgodb 3.2 и заново все настроил. Перенес руками данные и никаких проблем.

Php драйвер mongodb

Ранее использовал php драйвер mongo-1.6, но после обновлении mongoDb до версии 3.2 потребовался новый php драйвер PHPLIB 1.0 + mongodb-1.1.

Вот с ним пришлось повозится, так ребята сильно изменили api. Пришлось очень сильно переписать слой работы с этой БД. По мере рефакторинга всплывали некритические баги, по которым есть открытые задачи в jira проекте mongodb. Я бы не советовал еще какое-то время переходить на новый extension mongo, если старый полностью устраивает пока.

Centos 7

В началось все с обновления ОС. Так как на centos 6 я не смог сгенерировать бесплатный сертификат Let’s Encrypt из-за старой версии питона в системе и невозможности обновить питон.

Я занимаюсь программированием, а администрирование сервера всегда было просто издержкой. Но в этот раз, толи опыта понабрался, толи философски подошел к задаче, но сделал все куда лучше, чем несколько лет назад.

Все проекты поделил по группам, на основе этих групп создал разных пользователей. Для пользователей вынес разные php пулы с разными параметрами. Теперь каждая группа проектов изолирована друг от друга и крутится в своей песочнице.

Mysql 5.7

Ранее крутился mysql 5.5. На новом сервере поставил с нуля mysql 5.7. Не заморачиваясь особо пока с конфигами. Подцепил datadog метрку к серверу, если что-то будет плохо работать, то буду тюнить позже.

Оказалось, что формат дампа структур таблиц немного несовместим между версиями 5.5 и 5.7. Для полей типа datetime вместо "0000-00-00:00:00:00" по умолчанию в mysql 5.7 подставляется переменная CURRENT_TIMESTAMP.

Wordpress

Проекты на базе wordpress отказались работать как есть на php7. Проблемы мелкие в плагинах очень быстро пофиксил. Хотел отправить пул реквесты в плагины, но wordpress по-прежнему на svn все держат. Просто написал авторам плагинов, что имеет смысл поменять немного код, чтобы он на php7 работал.

Среди проектов на wordpress есть сайт рок группы КПД на wordpress. Зайдя в админку посмотрел первые записи от 2009 года. А кажется, что совсем недавно делал. Прошло уже 6 лет :)