No Code Attached Yet bug
avatar manusfreedom
manusfreedom
23 Jun 2026

What happened?

  1. Configure php-fpm with a custom temporary directory (e.g. sys_temp_dir = /var/lib/php/tmp in php.ini or pool config)
  2. Restrict access to /tmp via AppArmor, SELinux, or open_basedir
  3. Save Global Configuration in Joomla administrator
  4. Path::isOwner() is called, attempts is_writable('/tmp'), fails, falls through to . (current directory) or session.save_path
  5. AppArmor logs DENIED operation="mknod" on /tmp/<hash>
  6. The UI displays: Joomla\Filesystem\File::delete: Failed deleting <hash>

Version

6.0

Expected result

Able to save configuration.php using the UI.

Actual result

Image

System Information

  • Ubuntu 24.04
  • PHP 8.*
  • /tmp protected (AppArmor)
  • Joomla 5 & 6

Additional Comments

Fixed by : joomla-framework/filesystem#80

avatar manusfreedom manusfreedom - open - 23 Jun 2026
avatar manusfreedom manusfreedom - change - 23 Jun 2026
Labels Added: bug
avatar manusfreedom manusfreedom - labeled - 23 Jun 2026
avatar joomla-cms-bot joomla-cms-bot - change - 23 Jun 2026
Labels Added: No Code Attached Yet
avatar joomla-cms-bot joomla-cms-bot - labeled - 23 Jun 2026
avatar brianteeman
brianteeman - comment - 24 Jun 2026

In your global configuration what is the setting for the tmp path

avatar manusfreedom
manusfreedom - comment - 24 Jun 2026

In configuration.php:

        public $tmp_path = '/home/domain.tld/public_html/tmp';

In PHP-FPM:

sys_temp_dir                             = "/home/domain.tld/tmp"

Add a Comment

Login with GitHub to post a comment