PHPize.online: ещё одна онлайн площадка для работы с PHP с шахматами и библиотекаршами. (SQL и ChatGPT)

от автора

История началась чуть больше двух лет назад. В силу обстоятельств я на две недели остался заперт дома и проводил большую часть времени в компании ноутбука. Чтобы отвлечься рефрешил странички StackOverflow и Тостера в поиске интересных вопросов где бы пригодились мои знания. Как знают завсегдатаи этих сайтов у вопрошающих требуют «покажи свой код» да и при ответе считается хорошим тоном публикация работающего ответа. В случае PHP или SQL все просто вот https://dbfiddle.uk вот https://onlinephp.io все просто и понятно — написал код лил запрос опубликовал ссылку и готово.

Оказалась что есть большая категория на стыке PHP и MySQL. Как быть хотелось бы и в этом случае опубликовать ссылку на то и другое и желательно на одном сайте. Вечер был убит на поиски достойного кандидата — безрезультатно.

Следующий день — все по написанному:
— Отрицание — не может быть что никто такого еще не сделал
— Гнев, Торг, Депрессия — пропущу
Принятие — похоже придется делать самому

Планирование:
— фронт: тяп ляп HTML/CSS пару строк Javascript, даже JQuery не понадобился 🙂

Дизайн

Дизайн

— бэк тут задумался. Нужна поддержка разных версий пыхи, да и одним мускулом не обойтись. Вывод — берем докер. Неважно что опыта нет, зато модно-молодёжно, с остальным разберемся по ходу дела.
— MVP разбрасываю функционал по контейнерам:
— докер с пыхой (две штуки) для начала PHP5 и 7
— докеры с мускулем (два) MySQL5.7 & 8
— фронт nginx со статикой

Связь между докерами docker-compose даёт из коробки, MySQL взял без изменений прямо с DockerHub’а в PHP пришлось добавить модули mysqli и PDO по инструкции. Ну и создать папку для хранения загруженного кода.

FROM php:5-fpm RUN docker-php-ext-install pdo pdo_mysql mysqli RUN docker-php-ext-enable mysqli   RUN mkdir -p /tmp/usersessions RUN chown user:user -R /tmp/usersessions

В nginx пробросим конфиг, чтобы дергать нужный докер в зависимости от выбранной версии PHP

    location ^~ /php5 {         location ~ \.php {                 ...                 fastcgi_pass php5:9000;                 ...         }     }          location ^~ /php7 {         location ~ \.php {                 ...                 fastcgi_pass php7:9000;                 ...         }     }

Ну вот в принципе и всё. Так за пару дней я запустил PHPize.online который и продолжаю развивать уже больше 2-х лет.

Если статья Вам понравилась, и планирую в следующих статьях описать возникшие трудности и то как я их преодолевал.
Отдельное спасибо @FanatPHPза моральную поддержку проекта!


ссылка на оригинал статьи https://habr.com/ru/articles/756844/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *