PHP get_read_files () - отслеживание всех операций ввода-вывода файловой системы - PullRequest
0 голосов
/ 03 мая 2020

При профилировании кода и обеспечении загрузки ненужных ресурсов get_included_files () весьма полезно. Тем не менее, он, очевидно, дает только список включенных / обязательных файлов, которые могут представлять или не представлять основную часть текущей активности файловой системы.

В приложении, где, например, конфигурация считывается из файлов JSON, а шаблоны считываются из файлов HTML, мы обычно используем file_get_contents(), file(), et c. Однако, нет ничего лучше, чем get_read_files(), чтобы получить список файлов, которые были прочитаны как есть (вместо того, чтобы анализироваться как PHP код), или которые были записаны (в), насколько это возможно при использовании собственных функций. Я не могу найти ни отслеживания доступа к файловой системе в параметрах xDebug , хотя, возможно, что-то упускаю.

Конечно, можно иметь функции-оболочки, которые регистрируют, а затем направляют запросы в файловую систему. функции. Однако я не могу придумать простой способ отключить это при развертывании в производственной среде, и нежелательные вызовы пользовательских функций, засоряющие код, явно нежелательны. Тогда, как мы можем отследить все дисковые операции ввода-вывода по PHP?

... если подумать, можно было бы использовать strace для входа все и объединить все действия файловой системы, но, увы, я разрабатываю на Windows ноутбуке, и я бы предпочел, чтобы решение было кросс-платформенным и в целом не слишком волосатым.

...