You are not logged in.
Pages: 1
I am trying to install BigTree version 4.5.13 on MAMP version 5.0.6, which uses PHP version 8.3.1 and MySQL version 5.7.24. I get an error when installing, and get a HTTP 500 error. The install page displays correctly, but when clicking the BigTree install button, the page refreshes to a HTTP 500 error. The first 2 tables in the database are created, I'm not sure if they are successfully created, but they do exist. They are bigtree_404s and bigtree_audit_trail.
This is the logged error from php_error.log
[07-Aug-2025 09:15:35 Etc/GMT+6] PHP Fatal error: Uncaught mysqli_sql_exception: Invalid default value for 'expires' in C:\MAMP\htdocs\btt\install.php:38
Stack trace:
#0 C:\MAMP\htdocs\btt\install.php(38): mysqli->query('CREATE TABLE `b...')
#1 C:\MAMP\htdocs\btt\install.php(250): sqlquery('CREATE TABLE `b...')
#2 {main}
thrown in C:\MAMP\htdocs\btt\install.php on line 38
I tried installing the same version of BigTree on MAMP version 4.2.0, which uses PHP version 7.4.1 and MySQL version 5.7.24 and BigTree installed without issue.
Offline
It looks like you are running into a compatibility issue between older BigTree versions (including 4.5.13) and newer PHP/MySQL combinations.
What’s causing the error
The error:
Invalid default value for 'expires'
happens because BigTree 4.5.x still uses MySQL TIMESTAMP columns without a valid default under MySQL strict mode.
MySQL in newer PHP/MAMP builds (especially PHP 8.1+) tends to run with stricter SQL modes enabled (e.g. NO_ZERO_DATE, STRICT_TRANS_TABLES), which rejects invalid default values during table creation.
This is why:
✔️ PHP 7.4 + MySQL 5.7 works
❌ PHP 8.3 + MySQL 5.7 (with strict mode) fails
The problem is not PHP 8 itself, but the SQL modes shipped with newer MAMP versions.
How to fix / work around it
Option 1 — Disable strict SQL mode temporarily (recommended for install)
Edit your MySQL config in MAMP:
Go to:
MAMP/bin/mysql/my.ini or /Applications/MAMP/conf/my.cnf
Comment out or remove:
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
Restart MySQL
Run the BigTree installer again
Re-enable strict mode afterwards (optional)
Option 2 — Patch the SQL manually
In install.php, adjust the table creation for bigtree_cache:
Replace:
`expires` timestamp NOT NULL default '0000-00-00 00:00:00',
With:
`expires` timestamp NULL default NULL,
This avoids the invalid zero-timestamp default.
Option 3 — Install using PHP < 8
Install BigTree on MAMP with PHP 7.4, then switch your environment to PHP 8.
The DB schema is created, so you won’t hit the installer bug anymore.
Offline
Pages: 1