itsgoingd / clockwork

Clockwork - php dev tools in your browser - server-side component
https://underground.works/clockwork
MIT License
5.69k stars 321 forks source link

Profile is not present for current request #705

Closed devope closed 1 month ago

devope commented 5 months ago

Hey there!

I stuck in problem with enabling Profiler. Help me please to understand what I am missing here.

The output of php --ini:

Configuration File (php.ini) Path: /opt/homebrew/etc/php/8.3
Loaded Configuration File:         /opt/homebrew/etc/php/8.3/php.ini
Scan for additional .ini files in: /opt/homebrew/etc/php/8.3/conf.d
Additional .ini files parsed:      /opt/homebrew/etc/php/8.3/conf.d/99-xdebug.ini,
/opt/homebrew/etc/php/8.3/conf.d/error_log.ini,
/opt/homebrew/etc/php/8.3/conf.d/ext-opcache.ini,
/opt/homebrew/etc/php/8.3/conf.d/php-memory-limits.ini

The content of /opt/homebrew/etc/php/8.3/conf.d/99-xdebug.ini:

zend_extension=xdebug.so
xdebug.mode=profile
xdebug.start_with_request=yes

macOS 14.4.1 (23E224)

devope commented 5 months ago

Setting this xdebug.profiler_output_name=cachegrind.out.%R.%u in ini config helped and resolved the problem.

It changes the x-xdebug-profile-filename HTTP header to something like this: /var/tmp/cachegrind.out._blog_comments_.1718983024.458211.gz.

I should also notice that sometimes I got message Profile is not present for current request and sometimes it was loading infinitely.

itsgoingd commented 1 month ago

Hey, thanks for your message. This has been a known issue with the default Xdebug configuration. I've finally updated our installation guide, to include this setting - https://underground.works/clockwork/#docs-xdebug-profiler