Telegram Group & Telegram Channel
Пост про PHP! Не ждали?

А если точнее про php 7.2

Ебался я вчера очередной день, делая правки в проект на KOHANA. Написал небольшую SDK обёртку к одному из REST core сервисов, протестил вдоль и поперек на локалке и запушил в мастер

Однако, вместо удовлетворения от качественно проделанной работы, испытал некоторого рода негодование, когда метод API, в котором юзался мой класс стал возвращать 500. Естественно, я как дохуя опытный инженер сразу сообразил - нужно лезть в логи!


[Type:Default] ParseError [ 0 ]: syntax error, unexpected 'Redis' (T_STRING), expecting function (T_FUNCTION) or const (T_CONST) ~ APPPATH/classes/Domains.php


Непонятная хуйня, учитывая что на 13 строке было просто объявление свойста.


private Redis $redis;


Отчаявшись съебаться пораньше, я с максимально испорченным настроением начал думать переадресовал запрос Claude на что получил ответ, что скорее всего у меня старая версия пыхи - якобы типизированные свойства появились только в 7.4

Тут я сразу понял, что эти шайтан машины не скоро заменят нас, посколько в докере была нужная версия пыхи


image: ${REGISTRY}/php/build/landings/api:php7.4-2.0


Более того, в composer.json тоже была прописана она же


"require": {
"php": "^7.4",


Ошибки быть не могло. Тем не менее полчаса дальнейших ковыряний не помогли найти иной причины для такой херни в логах. В итоге я решил дать шанс этой сомнительной гипотезе и попробовал подключиться к проду по ssh, но так как я 3 года работал продактом в этой фирме, доступы мне выдают не охотно и ничего не получилось.

Переадресовав свою проблему девопсам я быстро дождался ответа и оказалось что на проде крутится версия...7.2

Сначала я не понял как такое возможно, почему проект вообще собирается, но оказалось, что проект собирается на специально выделенном агенте с помощью докер образа в котором у нас версия 7.4, после чего все файлы тупо копируются на продакшн. на котором стоит 7.2 Из за этого мой код с фичей из 7.4 приводил к 500...

Что делать сейчас я не знаю. С одной стороны надо бы поднять версию на проде, с другой - непонятно к чему приведут такие радикальные модернизации этого гавна мамонта. Как можно понять по стеку и текущему состоянию, желающих заниматья проектом нет, поэтому разгребать последствия тоже не кому. Пока склоняюсь к тому чтобы уволиться понизить версию в композере и в докере, приведя всё к 7.2 и забить хер. Но еще подумаю.

Ставь лайк, если понравились детективные истории. Пиши коммент, если не ожидал увидеть пост про PHP. Ставь сэванЭлеван, если не понял почему админу платят столько денег, когда он даже код под нужную версию написать нормально не может.



group-telegram.com/ebanoePHP/906
Create:
Last Update:

Пост про PHP! Не ждали?

А если точнее про php 7.2

Ебался я вчера очередной день, делая правки в проект на KOHANA. Написал небольшую SDK обёртку к одному из REST core сервисов, протестил вдоль и поперек на локалке и запушил в мастер

Однако, вместо удовлетворения от качественно проделанной работы, испытал некоторого рода негодование, когда метод API, в котором юзался мой класс стал возвращать 500. Естественно, я как дохуя опытный инженер сразу сообразил - нужно лезть в логи!


[Type:Default] ParseError [ 0 ]: syntax error, unexpected 'Redis' (T_STRING), expecting function (T_FUNCTION) or const (T_CONST) ~ APPPATH/classes/Domains.php


Непонятная хуйня, учитывая что на 13 строке было просто объявление свойста.


private Redis $redis;


Отчаявшись съебаться пораньше, я с максимально испорченным настроением начал думать переадресовал запрос Claude на что получил ответ, что скорее всего у меня старая версия пыхи - якобы типизированные свойства появились только в 7.4

Тут я сразу понял, что эти шайтан машины не скоро заменят нас, посколько в докере была нужная версия пыхи


image: ${REGISTRY}/php/build/landings/api:php7.4-2.0


Более того, в composer.json тоже была прописана она же


"require": {
"php": "^7.4",


Ошибки быть не могло. Тем не менее полчаса дальнейших ковыряний не помогли найти иной причины для такой херни в логах. В итоге я решил дать шанс этой сомнительной гипотезе и попробовал подключиться к проду по ssh, но так как я 3 года работал продактом в этой фирме, доступы мне выдают не охотно и ничего не получилось.

Переадресовав свою проблему девопсам я быстро дождался ответа и оказалось что на проде крутится версия...7.2

Сначала я не понял как такое возможно, почему проект вообще собирается, но оказалось, что проект собирается на специально выделенном агенте с помощью докер образа в котором у нас версия 7.4, после чего все файлы тупо копируются на продакшн. на котором стоит 7.2 Из за этого мой код с фичей из 7.4 приводил к 500...

Что делать сейчас я не знаю. С одной стороны надо бы поднять версию на проде, с другой - непонятно к чему приведут такие радикальные модернизации этого гавна мамонта. Как можно понять по стеку и текущему состоянию, желающих заниматья проектом нет, поэтому разгребать последствия тоже не кому. Пока склоняюсь к тому чтобы уволиться понизить версию в композере и в докере, приведя всё к 7.2 и забить хер. Но еще подумаю.

Ставь лайк, если понравились детективные истории. Пиши коммент, если не ожидал увидеть пост про PHP. Ставь сэванЭлеван, если не понял почему админу платят столько денег, когда он даже код под нужную версию написать нормально не может.

BY ebanoePHP




Share with your friend now:
group-telegram.com/ebanoePHP/906

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

False news often spreads via public groups, or chats, with potentially fatal effects. Since its launch in 2013, Telegram has grown from a simple messaging app to a broadcast network. Its user base isn’t as vast as WhatsApp’s, and its broadcast platform is a fraction the size of Twitter, but it’s nonetheless showing its use. While Telegram has been embroiled in controversy for much of its life, it has become a vital source of communication during the invasion of Ukraine. But, if all of this is new to you, let us explain, dear friends, what on Earth a Telegram is meant to be, and why you should, or should not, need to care. One thing that Telegram now offers to all users is the ability to “disappear” messages or set remote deletion deadlines. That enables users to have much more control over how long people can access what you’re sending them. Given that Russian law enforcement officials are reportedly (via Insider) stopping people in the street and demanding to read their text messages, this could be vital to protect individuals from reprisals. Pavel Durov, Telegram's CEO, is known as "the Russian Mark Zuckerberg," for co-founding VKontakte, which is Russian for "in touch," a Facebook imitator that became the country's most popular social networking site. Given the pro-privacy stance of the platform, it’s taken as a given that it’ll be used for a number of reasons, not all of them good. And Telegram has been attached to a fair few scandals related to terrorism, sexual exploitation and crime. Back in 2015, Vox described Telegram as “ISIS’ app of choice,” saying that the platform’s real use is the ability to use channels to distribute material to large groups at once. Telegram has acted to remove public channels affiliated with terrorism, but Pavel Durov reiterated that he had no business snooping on private conversations.
from in


Telegram ebanoePHP
FROM American