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. Unlike Silicon Valley giants such as Facebook and Twitter, which run very public anti-disinformation programs, Brooking said: "Telegram is famously lax or absent in its content moderation policy." In this regard, Sebi collaborated with the Telecom Regulatory Authority of India (TRAI) to reduce the vulnerability of the securities market to manipulation through misuse of mass communication medium like bulk SMS. The fake Zelenskiy account reached 20,000 followers on Telegram before it was shut down, a remedial action that experts say is all too rare. As such, the SC would like to remind investors to always exercise caution when evaluating investment opportunities, especially those promising unrealistically high returns with little or no risk. Investors should also never deposit money into someone’s personal bank account if instructed.
from it


Telegram ebanoePHP
FROM American