Upgrading from XOOPS 2.5 to 2.7
What Changed in 2.7
Section titled “What Changed in 2.7”- PHP 8.2+ required — PHP 7.x is no longer supported
- Composer-managed dependencies — Core libraries managed via
composer.json - PSR-4 autoloading — Module classes can use namespaces
- Improved XoopsObject — New
getVar()type safety, deprecatedobj2Array() - Bootstrap 5 admin — Admin panel rebuilt with Bootstrap 5
Pre-Upgrade Checklist
Section titled “Pre-Upgrade Checklist”- PHP 8.2+ available on your server
- Full database backup (
mysqldump -u user -p xoops_db > backup.sql) - Full file backup of your installation
- List of installed modules and their versions
- Custom theme backed up separately
Upgrade Steps
Section titled “Upgrade Steps”1. Put the site in maintenance mode
Section titled “1. Put the site in maintenance mode”// mainfile.php — add temporarilydefine('XOOPS_MAINTENANCE', true);2. Download XOOPS 2.7
Section titled “2. Download XOOPS 2.7”wget https://github.com/XOOPS/XoopsCore27/releases/latest/download/xoops-2.7.x.zipunzip xoops-2.7.x.zip3. Replace core files
Section titled “3. Replace core files”Upload the new files, excluding:
uploads/— your uploaded filesxoops_data/— your configurationmodules/— your installed modulesthemes/— your themesmainfile.php— your site config
rsync -av --exclude='uploads/' --exclude='xoops_data/' \ --exclude='modules/' --exclude='themes/' --exclude='mainfile.php' \ xoops-2.7/ /var/www/html/4. Run the upgrade script
Section titled “4. Run the upgrade script”Navigate to https://yourdomain.com/upgrade/ in your browser.
The upgrade wizard will apply database migrations.
5. Update modules
Section titled “5. Update modules”XOOPS 2.7 modules must be PHP 8.2 compatible. Check the Module Ecosystem for updated versions.
In Admin → Modules, click Update for each installed module.
6. Remove maintenance mode and test
Section titled “6. Remove maintenance mode and test”Remove the XOOPS_MAINTENANCE line from mainfile.php and
verify all pages load correctly.
Common Issues
Section titled “Common Issues”“Class not found” errors after upgrade
- Run
composer dump-autoloadin the XOOPS root - Clear the
xoops_data/caches/directory
Module broken after update
- Check the module’s GitHub releases for a 2.7-compatible version
- The module may need code changes for PHP 8.2 (deprecated functions, typed properties)
Admin panel CSS broken
- Clear your browser cache
- Ensure
xoops_lib/was fully replaced during the file upload