TGViewer
Пых Пых @phpyh · 7.83K subscribers
Post #740 6.01K
Уточнение требований к платформе на уровне пакета

Представьте, что вы пишете библиотеку под PHP, которая будет правильно работать только в 64-разрядных системах. Например, vjik/telegram-bot-api использует тип int для идентификатора чата, а chat.id, согласно документации, может иметь до 52 значимых бит.

Как предотвратить установку такого пакета на 32-разрядной системе? Через Composer! В composer.json можно указать соответствующий суффикс для php:


{
"require": {
"php-64bit": "^8.4"
}
}


Другие поддерживаемые подтипы php:
• php-ipv6 — сборка PHP с поддержкой IPv6 (без флага --disable-ipv6),
• php-zts — потокобезопасная сборка PHP (с флагом --enable-zts),
• php-debug — сборка PHP в режиме отладки (с флагом --enable-debug).

Чтобы скомбинировать несколько таких требований, не дублируя при этом констрейнт, можно поступить как с Core-расширениями:


{
"require": {
"php-64bit": "^8.4",
"php-ipv6": "*"
}
}


Вообще, всё это есть в документации Composer, но я случайно узнал на днях, изучая пакет danog/telegram-entities.

P.S.: Закинул PR Сергею.
  • 👍 83
  • 🔥 19
  • ❤ 11
  • 👀 3
  • 😱 2
More from @phpyh
  1. Sep 28, 2026Запустили Пыхник и неделю PHP! Залетайте на первый открытый доклад от Дмитрия Dantes про к…
  2. Sep 15, 2026Сейчас один человек с AI может выполнять работу целого IT-отдела. Только хуёво
  3. Sep 12, 2026Спасибо за заявки! Всем напишу в понедельник. Осталось 1 место.
  4. Sep 11, 2026Хардкорный курс асинхронного PHP https://hardcourse.ru/php/async
  5. Sep 11, 2026Ещё полчасика надо — сайт готов, расписываю программу! 🙏
  6. Sep 10, 2026Краткое содержание: завтра в 12:00 открываю набор на Хардкорный курс асинхронного PHP с уч…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →