on December 16, 2014. in Development, Software, Programming. A 1 minute read.
This one was a bit weird and needed some figuring out. Xdebug profiler output files were not being generated in the /tmp
directory.
I wanted to do some profiling with xdebug. I set all the necessary configuration settings in my php.ini, restarted apache, confirmed xdebug is present and configured correctly with php -i | grep xdebug
, appended ?XDEBUG_PROFILE=1
aaaand! Nothing. Nothing in /tmp
, the default profiler output directory. Double checked paths, permissions, nope, nothing. No profiler files were generated.
find /tmp -name "cachegrind*"
listed the files in
/tmp/systemd-httpd.service-X9iE20R/tmp/
What the?
Apparently systemd services in Fedora can have this setting called PrivateTmp and services with this setting set to true are started with a private /tmp directory. Something something security.
Well then. I created a /var/log/xdebug
directory, changed the owner to apache and set the xdebug.profiler_output_dir
to that new directory and all is well again.
Hey, I learned something new today.