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

Either way, Durov says that he withdrew his resignation but that he was ousted from his company anyway. Subsequently, control of the company was reportedly handed to oligarchs Alisher Usmanov and Igor Sechin, both allegedly close associates of Russian leader Vladimir Putin. But Telegram says people want to keep their chat history when they get a new phone, and they like having a data backup that will sync their chats across multiple devices. And that is why they let people choose whether they want their messages to be encrypted or not. When not turned on, though, chats are stored on Telegram's services, which are scattered throughout the world. But it has "disclosed 0 bytes of user data to third parties, including governments," Telegram states on its website. "There are several million Russians who can lift their head up from propaganda and try to look for other sources, and I'd say that most look for it on Telegram," he said. The gold standard of encryption, known as end-to-end encryption, where only the sender and person who receives the message are able to see it, is available on Telegram only when the Secret Chat function is enabled. Voice and video calls are also completely encrypted. To that end, when files are actively downloading, a new icon now appears in the Search bar that users can tap to view and manage downloads, pause and resume all downloads or just individual items, and select one to increase its priority or view it in a chat.
from us


Telegram ebanoePHP
FROM American