#1 August 7, 2025 10:36am

jefftml
Member
Registered: December 10, 2015
Posts: 4

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

Board footer

Powered by FluxBB

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