Как на PHP получить timestamp с точностью до наносекунд?

На чистом PHP данная задача не реализуема, но есть небольшой лайфхак:

$nanotime = system('date +%s%N');

В результате $nanotime будет содержать значение: 1523648935928101682, где 1523648935 это привычный всем timestamp, а часть 928101682 собственно наносекунды.

Однако, PHP может выдать ошибку:

Warning: system() has been disabled for security reasons

Это исправляется парой строк в конфиге, для PHP-FPM поправьте файл /etc/php-fpm.d/app.conf и в директиве php_admin_value[disable_functions] удалите system, после чего рестарт php-fpm.