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: |

The S&P 500 fell 1.3% to 4,204.36, and the Dow Jones Industrial Average was down 0.7% to 32,943.33. The Dow posted a fifth straight weekly loss — its longest losing streak since 2019. The Nasdaq Composite tumbled 2.2% to 12,843.81. Though all three indexes opened in the green, stocks took a turn after a new report showed U.S. consumer sentiment deteriorated more than expected in early March as consumers' inflation expectations soared to the highest since 1981. Telegram, which does little policing of its content, has also became a hub for Russian propaganda and misinformation. Many pro-Kremlin channels have become popular, alongside accounts of journalists and other independent observers. In February 2014, the Ukrainian people ousted pro-Russian president Viktor Yanukovych, prompting Russia to invade and annex the Crimean peninsula. By the start of April, Pavel Durov had given his notice, with TechCrunch saying at the time that the CEO had resisted pressure to suppress pages criticizing the Russian government. Pavel Durov, a billionaire who embraces an all-black wardrobe and is often compared to the character Neo from "the Matrix," funds Telegram through his personal wealth and debt financing. And despite being one of the world's most popular tech companies, Telegram reportedly has only about 30 employees who defer to Durov for most major decisions about the platform. Apparently upbeat developments in Russia's discussions with Ukraine helped at least temporarily send investors back into risk assets. Russian President Vladimir Putin said during a meeting with his Belarusian counterpart Alexander Lukashenko that there were "certain positive developments" occurring in the talks with Ukraine, according to a transcript of their meeting. Putin added that discussions were happening "almost on a daily basis."
from tw


Telegram ebanoePHP
FROM American