← All posts tagged PHP

Dimez

Вчера попросили разобраться с одним сайтом на хостинге. Он в целом работает, но вообще не работает его админка, белый экран. Ну понятно, подумал я, стандартная ошибка php, с трудом нашёл, как там включить error_log в php.ini, пусто. Начал по старинке echo test в разные места вставлять, нашёл include (точнее, require_once) пустого файла. Ну вот, говорю, в этом проблема, надо восстановить из бэкапов. Бэкапы на виндовой машине, смотрим в них, файл есть, везде пустой, смотрим более ранние — нулевой, смотрим совсем ранние — есть, ненулевой, открываем на просмотр. И вдруг раз и сам внезапно пропадает при открытии его на просмотр. Хренасе, говорю я!
Оказывается, что это была честно купленная версия php-шного движка, которая при активации пишет обсфуцированный eval и base64 файл, который, как вы уже, наверное, поняли, тихо сжирался при любых файловых действиях с ним антивирусом на локальной машине :) Ну ладно я 40 минут потратил, но человек, который полдня восстанавливал различные бэкапы (при восстановлении во всех бэкапах этот файлик тихо сжирался антивирусом) и общался с поддержкой хостинга на предмет "что поменялось" чуть не охренел и почти поверил в барабашку.
P.S. А если бы поставил поломанную версию — проблем бы таких не было, кстати.

Dimez
PHP

opennet.ru
Сразу вспоминается универсальный анекдот "Когда мы держали бордель и он переставал приносить гешефт, мы не кровати переставляли, а блядей меняли"

Dimez

Гр-ну tony2001 тоже надо забить большой железный гвоздь в жопу.
Потому-что при некорректном с его точки зрения выставлении переменных окружения валить процесс php в сегфолт, вместо того, чтобы писать ошибку — это жесть.
Причём некорректное выставление переменных выдаёт рандомные сегфолты, OCIEnvNlsCreate() failed, ORA-12705 и (барабанная дробь!!!) однажды замеченный успешный коннект.