Как я могу найти этот идентификатор внутри исполняемого файла?
blockquote>Что , что id? Предположительно, тот, который использует ваш инструмент, за исключением того, что вы не сказали нам, какой инструмент вы используете.
Большинство инструментов Linux (например, GDB) используют специальную заметку
NT_GNU_BUILD_ID
в двоичном файле elf для связывания информации об отладке с двоичным. Вы можете видеть, что build-id вreadelf -n a.out
выводит.Когда я использую readelf для проверки сборки id, то это что-то другое
blockquote>Опять же, что именно ты видишь? Какую команду вы выполняете?
Возможно, они одно и то же, и вы просто «держите его неправильно». Или они кодируются по-разному, или вы смотрите на неправильную вещь. Мы не можем сказать.
Существует несколько библиотек кэширования, которые могут вызвать такую проблему, как ваша (opcache, (устаревший) APC, ...). Обычно у вас есть возможность аннулировать кэшированные файлы, что заставляет PHP перечитывать их из файловой системы.
Например, проверьте свою конфигурацию PHP для opcache и (если применимо) попробуйте что-то вроде opcache_invalidate ('yourscript.php'); .
(Обновление: ссылка удалена, спасибо @duskwuff)