#1 August 7, 2025 10:36am

jefftml
Member
Registered: December 10, 2015
Posts: 5

Error installing BigTree on MAMP

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.

https://www.mamp.info/en/downloads/

Offline

#2 November 24, 2025 1:31pm

visconti
Member
From: Netherlands
Registered: May 22, 2015
Posts: 29

Re: Error installing BigTree on MAMP

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

#3 July 11, 2026 7:55am

jefftml
Member
Registered: December 10, 2015
Posts: 5

Re: Error installing BigTree on MAMP

So the solution that worked for me was to edit the core\setup\base.sql, replacing this original line 11:

`expires` TIMESTAMP DEFAULT NULL,

with this which worked

`expires` timestamp NOT NULL default '0000-00-00 00:00:00',
extra space for clarity

and here's both the original full line

CREATE TABLE `bigtree_caches` (`identifier` varchar(1024) NOT NULL DEFAULT '', `key` varchar(10000) NOT NULL DEFAULT '', `value` longtext, `timestamp` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `expires` TIMESTAMP DEFAULT NULL, KEY `identifier` (`identifier`), KEY `key` (`key`), KEY `timestamp` (`timestamp`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

and new full line:

CREATE TABLE `bigtree_caches` (`identifier` varchar(1024) NOT NULL DEFAULT '', `key` varchar(10000) NOT NULL DEFAULT '', `value` longtext, `timestamp` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `expires` timestamp NOT NULL default '0000-00-00 00:00:00', KEY `identifier` (`identifier`), KEY `key` (`key`), KEY `timestamp` (`timestamp`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

Offline

Board footer

Powered by FluxBB

The Discussion Forum is not available on displays of this size.