Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4.23 does not work properly with AJAX requests in some server setups #66

Closed
teppokoivula opened this issue Dec 25, 2021 · 8 comments
Closed

Comments

@teppokoivula
Copy link

teppokoivula commented Dec 25, 2021

Hey @adrianbj. I've just tried out the 4.23 update, and ran into an issue: the module no longer displays AJAX requests on the live server.

Tracy docs mention that Tracy now uses "temporary files" for storing data, and I'm suspecting that this is the issue: in this case server is load balanced, and most directories are not shared among instances, and PHP / Apache user has very limited write access to files.

Do you know where Tracy stores these files? Is it cache directory specific to ProcessWire, or something else? If I knew where those files are going, and/or could somehow configure their path myself, I might be able to further debug and perhaps bypass the issue.

If that's not possible, Tracy announcement post also mentioned that sessions can still be used. Is there a possibility to add this as an option?

For the time being I'm going to restore TD 4.22.

@adrianbj
Copy link
Owner

Hi @teppokoivula - thanks for the report. Before I dig in too deeply, can you please confirm that you're using 4.23.1 (I made a mistake in 4.23.0).

Also, are you using the SessionHandlerDB module?

Thanks.

@teppokoivula
Copy link
Author

Yes, it was 4.23.1. And no SessionHandlerDB.

@teppokoivula
Copy link
Author

Just had a quick look at Tracy code. FileSession was introduced here: nette/tracy@6eb16c8. It's indeed using local disk for sessions, which in this case will be a problem (in this environment Redis is used for session storage instead — via PHP, so not related to any third party modules).

Optimal solution seems to be falling back to NativeSession, as explained in Tracy docs. Would be nice if TracyDebugger provided a native feature for this.

@adrianbj
Copy link
Owner

Thanks @teppokoivula - I have a solution mostly in place, but I am having some issues with the combination of using the native PHP session option along with SessionHandlerDB in this new 2.9 version of the Tracy core. I have posted an issue about the problem in the Tracy repo, so hopefully I can get it fixed soon.

@teppokoivula
Copy link
Author

teppokoivula commented Dec 28, 2021

Thanks, Adrian.

If it's just an issue with SessionHandlerDB, then one option could be making Tracy session storage a configurable option, and warning against (or disabling) the combination of SessionHandlerDB and said option. Just thinking out loud, really — I've no idea if that's actually feasible... and of course it'd be better if everything "just worked" without any quirky workarounds :)

@adrianbj
Copy link
Owner

@teppokoivula - I did think about that, but it would still make 2.9 less versatile than 2.8, so I am hoping for a solution that will support everything, but if I don't hear something from @dg in the next few days then I'll implement as you suggest.

@adrianbj
Copy link
Owner

Hi @teppokoivula - I've pushed a new version with a config option to use native PHP sessions. For the moment I added the warning about not using it together with SessionHandlerDB until a better solution can be implemented. Let me know if you have any problems.

@teppokoivula
Copy link
Author

Thanks @adrianbj! Based on a few quick tests this seems to work well :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants