Обновить
128K+

PHP *

Скриптовый язык общего назначения

92,3
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Съём позиций в Яндексе через Search API и WP-CLI: около 3 ₽ за сотню запросов

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели3.9K

У нас небольшой сайт на WordPress в финансовой нише, SEO делаем своими руками. Позиции раньше снимал платный сервис, частотность я смотрел в браузерном Вордстате, по одной фразе. В октябре перевёл и то и другое на Search API Яндекс Облака. Получилась горстка PHP-скриптов, которые запускаются через wp eval-file на том же сервере, где живёт сайт.

Дальше будет схема, упрощённый код и грабли. Код обезличен: ни ключей, ни путей, ни идентификаторов облака. Поля API у Яндекса меняются, так что перед копированием сверьтесь с документацией.

Читать далее

Новости

Детский футбол без чатов: что болит у тренеров и родителей и как мы закрываем это кодом

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели8.1K

Мы делаем «Сбор - спортивные школы» — платформу для детских футбольных школ: расписание, посещаемость, взносы и матч-день в одном приложении для тренера, родителя и директора. На сервере Laravel 12, Livewire 3 и PostgreSQL, мобильное приложение написано на Flutter. Предметная область выглядит простой — календарь и список детей, — но почти каждая задача упирается в людей: родителей у ребёнка двое, детей у родителя трое, а тренер стоит на поле с телефоном в одной руке и мячом в другой. Ниже — пять болей, которые мы услышали от тренеров и родителей, решения, которые из них выросли, и куски настоящего кода.

Читать далее

PHP2Shell: а что с рунетом-то?

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели9K

На этой неделе нашли дыру в PHP — языке, на котором работает больше половины сайтов. Через неё чужой человек может запустить на сервере свою программу, и для этого ему не нужен ни пароль, ни доступ к сайту. 21 октября вышли исправления. Прошло четыре дня — а что с рунетом-то? Мы посмотрели на 10 000 самых заметных сайтов и попробовали понять, сколько из них уже закрылись.

Короткий ответ: понять не получается. И это само по себе интересно.

Читать далее

Экстренный рефакторинг 32 проектов с mysql_* на PHP 8.5 без единой строчки правок в бизнес‑логике

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели12K

Вечером 21 октября 2026 года мой телефон разорвался от звонков. В рабочем чате, где обычно обсуждают котов и сроки сдачи макетов, висел одинокий, но очень жирный алерт от моего сканера безопасности. Который гласил, что нам всем конец.

Две критические уязвимости в PHP, раскрытые утром этого злополучного дня. Точных деталей в паблике еще небыло. Говорилось, что вендор уже выкатил фикс в 8.5.12, а все, что ниже — официально в красной зоне. Такая информация была на момент осознания масштаба проблемы.

У меня на поддержке около сотни сайтов. Разброс по серверам — от убитого shared-хостинга, где админ спит еще с нулевых, до пары десятков VPS. Версии PHP — от гордого 8.3 на свежих проектах до музейных экспонатов.

Первая мысль была рациональной: «Завтра с утра спокойно пропишем обновление в CI/CD, прогоняем тесты, выкатываем». Вторая мысль, более честная, пришла через секунду: «если дыры опубликовали сегодня, эксплойты появятся в паблике завтра к обеду». Спать я в ту ночь лег в 04:30.

Читать далее

Две критические уязвимости в PHP (CVE-2026-109618 и CVE-2026-109619): что известно и как защититься

Время на прочтение5 мин
Охват и читатели13K

21 октября были раскрыты две критические уязвимости PHP — CVE-2026-109618 и CVE-2026-109619, обе с CVSS 9.2. Их эксплуатация позволяет выполнять код без аутентификации с правами веб-сервера.

Уязвимым можно считать PHP с версии 5.4. Что интересно, уязвимости были найдены с помощью нейросетей (Gemini 4 Argon + GPT-5.6 Sol), а размер патча составляет больше 10 тысяч строк кода.

Читать далее

PHP2Shell: как обновить PHP через ispmanager или SSH и проверить работу сайта

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели7.1K

21 октября разработчики PHP выпустили исправления для двух критических уязвимостей — CVE-2026-109618 и CVE-2026-109619, известных как PHP2Shell. Обе затрагивают сам интерпретатор PHP и при определенных условиях позволяют выполнить код на сервере без авторизации. Для атаки необязательно находить ошибку в WordPress, Laravel или другом приложении, так как проблема находится уровнем ниже.

О механике этих уязвимостей уже достаточно написано. Мы сосредоточимся на обновлении работающего сервера: что проверить до установки патча, как обновить PHP через ispmanager или пакетный менеджер Linux и убедиться, что исправленная версия действительно обслуживает сайт.

Читать далее

Выживаем при PHP2Shell (CVE-2026-109618 / CVE-2026-109619) на легаси‑стеке: Varnish + Docker + Apache mod_php (PHP 5.6)

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели14K

21 октября 2026 года мир PHP вздрогнул от анонса двух критических RCE-уязвимостей (CVSS 9.2), получивших общее имя PHP2Shell (CVE-2026-109618 и CVE-2026-109619). Опасность этих брешей в том, что они срабатывают на уровне ядра интерпретатора еще до того, как управление дойдет до первой строчки вашего index.php. Достаточно, чтобы сервер просто принимал HTTP-запросы.

Разработчики PHP оперативно выпустили патчи для поддерживаемых веток (8.2.35, 8.3.36, 8.4.27, 8.5.12) и заявили: «Единственный 100% способ защиты - обновление, а сценарий наивысшего риска - это Apache с mod_php».

Звучит отлично, если у вас свежий проект. А что делать, если в продакшене крутится суровый высоконагруженный энтерпрайз-легаси на PHP 5.6 в связке с Apache 2.4 (mpm_prefork + mod_php), переписать который за ночь невозможно, а официальных патчей для ветки 5.6 не выйдет никогда?

Под катом - практический разбор того, как устроены обе уязвимости, почему именно mod_php оказался под главным ударом и как я выстроил эшелонированную оборону на уровне Varnish → Apache → PHP → Docker cgroups, не сломав легаси-монолит и проверив каждый рубеж боем (с разбором подводных камней HTTP keep-alive).

Читать далее

crm.item.list заблокирован, а портал работает: откуда в Битрикс24 берётся 429 OPERATION_TIME_LIMIT

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели6.1K

Выгрузка сделок из Битрикс24 годами работает без проблем, а потом начинает тормозить и возвращать HTTP 429. Увеличение пауз между запросами не помогает, хотя остальные методы REST API продолжают отвечать как обычно. Разбираемся, как устроен лимит OPERATION_TIME_LIMIT, куда уходит серверное время и как ускорить выгрузку в сотни раз.

Разобраться с лимитами

Две критические RCE в PHP: что обновлять и как проверить за минуту

Время на прочтение5 мин
Охват и читатели14K

21 октября PHP выпустил внеплановые релизы 8.5.12, 8.4.27, 8.3.36 и 8.2.35: они закрывают две критические уязвимости (CVSS 4.0 — 9.2), допускающие выполнение кода без аутентификации. Разбираем, кого это касается, как проверить, какая версия PHP реально обслуживает веб, как обновиться (пакеты, Docker) и какие временные меры допустимы, если обновиться сразу нельзя.

Читать далее

PHP2Shell: две RCE в ядре PHP без авторизации. Кто уязвим и как проверить сервер за минуту

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели31K

21 октября PHP выпустил экстренные версии 8.2.35, 8.3.36, 8.4.27 и 8.5.12. Они закрывают две критические RCE без авторизации (CVSS 9.2), одна из которых срабатывает ещё до кода вашего приложения. Разбираем бюллетени, даём скрипт для проверки всех PHP на сервере и временные меры для тех, кто не может обновиться сегодня. Для PHP 7.x и 8.0/8.1 исправлений не будет.

Читать далее

Динамические QR‑коды на одной VPS: редирект без CMS, проверка ссылок через Web Risk и статистика без IP‑адресов

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6.7K

В первой статье я не хотел прогонять ссылки через чужой редирект, который умрет вместе с триалом. Теперь редирект у меня свой: что я пообещал в оферте, как устроен r.php без CMS, почему ссылка иногда висит в статусе «проверяется», при чем тут Роскомнадзор и как считать статистику переходов, не храня IP.

Читать далее

Rig: Как я сделал реактивный интерфейс на PHP без Node и сборщика

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели7K

Почти в каждом проекте рано или поздно появляется запрос «чтобы без перезагрузки». И рядом с PHP вырастает второй кусок: фронтенд со сборщиком, node_modules, API между двумя частями, валидация в двух местах, а состояние то на сервере, то в браузере. Меня это достало, и я создал rig. Это PHP-фреймворк, где интерфейс откликается сразу, а приложение остаётся обычным PHP-проектом. Расскажу, как он устроен, что уже работает и где его лучше не использовать.

Читать далее

PHP в 2 026 году. Стоит или нет изучать этот язык программирования?

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели8K

Если уже программируете и присматриваетесь к PHP, с чего начать? Вопрос о выборе языка часто превращается в спор о том, какой из них лучше. Мне стало интересно, что стоит за рекомендациями. Какие задачи человек решает на этом языке и почему продолжает его выбирать? Об этом я спросила backend-разработчика в крупной промышленной компании – Антона Елохина. Он поделился личным опытом, довольно прямыми оценками фреймворков и своим маршрутом знакомства с языком PHP – получился небольшой авторский обзор с полезными ссылками и примером приложения от Антона.

Читать далее

Ближайшие события

Биткорд мессенджер: как запустить собственный музыкальный HLS - сервис?

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели10K

В этой статье речь пойдёт о том, как разработать и запустить собственный аудиосервис на площадке Bitcord Open Network. Напомню, что Bitcord по сути, это небольшая открытая социальная платформа, выполненная в виде приложения для смартфонов и работающая на базе клиент-серверной архитектуры. Здесь можно общаться с друзьями и коллегами, создавать публичные и частные каналы и даже запускать сторонние сервисы.

Приложение Bitcord занимает очень мало места. Размер его установочного пакета составляет чуть более 3 мегабайт (3.2 Мб. актуальный релиз). Оно не перегружено сложной графикой и не использует тяжёлые библиотеки или SDK. К примеру, реализованная в мессенджере видеосвязь, построенная по технологии WebRTC (P2P), задействует встроенные компоненты самой операционной системы, что позволяет сократить размер приложения на десятки мегабайт.

Читать далее

Машинное обучение на PHP: Rubix ML 3.x – большое обновление экосистемы

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели8.3K

В PHP-экосистеме не так часто происходят заметные изменения в области машинного обучения. Пока основное внимание разработчиков сосредоточено на Python, PyTorch и больших языковых моделях, инструменты для ML на PHP продолжают развиваться, хотя и остаются нишевым направлением.

Поэтому выход Rubix ML 3.x – важное событие для PHP-разработчиков, которые хотят использовать машинное обучение в своих проектах. Это не просто очередная версия библиотеки: обновление затронуло производительность, обучение нейросетей, обработку данных и возможности параллельных вычислений.

Кроме того, у проекта появился официальный сайт с обзором возможностей библиотеки, документацией и примерами. Он помогает увидеть Rubix ML не как набор отдельных алгоритмов, а как полноценный инструментарий для всего цикла машинного обучения – от подготовки данных до применения обученной модели в production.

Разберём, что изменилось и почему это интересно разработчикам, которые работают с PHP каждый день.

Читать далее

Не DDoS, а баг в OPcache: воркеры PHP-FPM по 600 МБ на сервере с 5 500 сайтами WordPress

Уровень сложностиСредний
Время на прочтение23 мин
Охват и читатели9.7K

Клиент написал: сайты лежат, похоже на DDoS. На сервере около 5 500 сайтов WordPress, nginx, PHP-FPM 8.4, MariaDB, 125 ГБ памяти, Debian 13. Я нашёл сканер, закрыл его в nginx, сайты поднялись. Через два дня клиент написал снова: всё падает каждые пять минут.

Причина оказалась не снаружи. Каждый новый воркер PHP-FPM с первого же запроса весил около 600 МБ, и OOM-killer по очереди убивал базу и nginx. Воркеры раздувал баг в OPcache, который срабатывает на каждом сбросе кеша под нагрузкой. Сбрасывал кеш Yoast SEO при обновлении. Причём не массовое обновление по всем сайтам, а догоняющее, на 467 сайтах, где плановое когда-то не прошло. Всё решил порядок двух команд.

Читать далее

Вышла Joomla 6.2. Что нового?

Время на прочтение8 мин
Охват и читатели7.9K

13 октября 2026 года вышла Joomla 6.2. Традиционно мы обозреваем часть самых заметных нововведений релиза. В нём доработали редактор материалов, добавили авторизацию почты через OAuth 2.0, поле Joomla Form enum и обозначение обновлений безопасности расширений, language fallback...

и кое что ещё

Три месяца pet‑проекта: 450 Telegram‑каналов стримеров, 20 тысяч строк PHP и 1 рубль в день

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели6.5K

Летом я сделал сайт, который собирает публичные Telegram‑каналы российских стримеров в одну ленту. Идея была простая: я подписан на десяток таких каналов и устал листать их по очереди, чтобы узнать, будет ли сегодня стрим.

Через три месяца у проекта 260 коммитов, 450 каналов, больше 60 тысяч постов в базе, около 4 тысяч страниц в поиске Яндекса и доход от рекламы — 1–2 рубля в день. Это честная ретроспектива: что сработало, на какие грабли я наступил и что показали данные про то, зачем люди на самом деле приходят на такой сайт. Спойлер: не за тем, для чего я его делал.

Читать далее

Пять стадий принятия ИИ: история болезни одного разработчика

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели8.3K

В 1969 году психиатр Элизабет Кюблер-Росс выпустила книгу «О смерти и умирании». В ней она описала, как человек переживает неизбежное: отрицание, гнев, торг, депрессия, принятие. Писала она о неизлечимо больных пациентах, но модель оказалась настолько универсальной, что её теперь примеряют на что угодно: от расставания до повышения ставки по ипотеке.

Сама Кюблер-Росс оговаривалась, что стадии не обязаны идти строго по порядку: их можно проскочить, к ним можно вернуться, на них можно застрять. Особенно застрять.

Читать далее

WordPress не умрёт: ИИ-агенты, вайб-кодинг, Laravel, фриланс и будущее сайтов после прихода нейросетей

Уровень сложностиСредний
Время на прочтение52 мин
Охват и читатели5.6K

WordPress хоронят не первый год. Сначала казалось, что его вытеснят конструкторы сайтов, затем современные JavaScript-фреймворки, headless-подход и облачные платформы. Теперь к этому списку добавились нейросети: они уже умеют не только писать отдельные фрагменты кода, но и работать с проектом целиком – запускать WP-CLI, подключать плагины, готовить тесты и помогать с деплоем.

Что это меняет для WordPress в 2026 году? Стоит ли новому разработчику изучать его с нуля, если ИИ-агенты и вайб-кодинг берут на себя всё больше рутины? Где WordPress по-прежнему удобен, а где логичнее выбрать Laravel? И насколько сегодня нужны Elementor, Gutenberg, ACF и WooCommerce, если часть задач уже можно поставить обычной фразой?

Я, Александр, автор телеграм-канала «Shulepov Code», поговорил с Александром Сокиркой – разработчиком, который пришел во фриланс еще школьником, начинал с баннера за пять долларов, затем работал с Joomla и WordPress, продавал шаблоны на маркетплейсах, сотрудничал с американскими студиями и сейчас активно экспериментирует с вайб-кодингом и ИИ-инструментами. У Александра также есть YouTube-канал: «Быть Программистом», где он публикует материалы о разработке и своем опыте.

В разговоре мы не ограничились WordPress. Обсудили Laravel, Copilot, Claude, Codex и Qwen, фриланс и зависимость от платформ, Elementor и Gutenberg, ACF и таксономии, Docker и CI/CD, WooCommerce и выгорание. Отдельно поговорили о том, что имеет смысл учить разработчику сегодня, где ИИ действительно экономит время, а где без понимания архитектуры и кода всё равно не обойтись.

Читать далее
1
23 ...