A Few issues with the beta on a fresh install

Please follow the below template, it will help us to help you!

Please ensure that you are running the latest version of the beta code.
Run pihole -up to update to the latest, then verify that the problem still exists before reporting it.

Problem with Beta 5.0:
To preface im running a rock 64 4GB model, i replaced my pi 3 with it, im running Armbian_20.02.0-rc1_Rock64_buster_legacy_4.4.210 on it currently.

Im having an issue with a fresh upgrade to pihole beta 5, i reformatted my SD card install pihole from the pihole.net curl link, then followed the instructions to upgrade to beta 5.0, i had an issue were the install stopped at php whilst installing version 4, had to install that manually.

The white & black list, give me the error attempted to write to a read only data base, teleport wont restore the back up i had made from the beta install of 5.0 that was working, just displays 0 for everything from regex to black and white lists and fails to import anything the gui stays blank for ads lists.

Also white and black listing via command works perfectly fine.

Ive also been having this issue with gravity that never happened on 4.0, it reduced the number of domains on my block list in total before the -2 bug.

[i] Storing downloaded domains in new gravity database...
  [✗] Unable to fill gravity table in database /etc/pihole/gravity_temp.db
  /tmp/tmp.FOqTchhgRQ.gravity:101254: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:155748: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:195955: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:235640: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:243330: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:247000: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:249482: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:252216: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:777136: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:805135: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:827099: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:941995: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:1096065: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:1096127: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:1991902: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:2647440: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:2673751: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:2783823: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:2926031: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:2994262: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:4487231: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:4488314: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:4488977: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:5089184: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:5102647: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:5130597: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:6653251: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:6655067: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:6656184: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:6665146: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8678885: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8681516: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687015: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687283: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687284: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687315: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687315: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687318: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687318: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687319: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687319: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687324: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687343: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687343: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687345: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687345: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687351: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687351: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687352: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687352: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687353: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687353: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687357: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687357: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687362: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687284: expected 2 columns but found 4 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687368: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687370: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687373: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687374: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687375: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687376: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687385: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687429: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687484: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687485: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687485: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687516: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687516: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687519: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687519: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687520: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687520: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687525: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687544: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687544: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687546: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687546: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687552: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687552: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687553: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687553: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687554: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687554: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687558: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687558: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687563: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687429: expected 2 columns but found 4 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687569: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687571: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687574: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687575: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687576: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687577: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687586: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687630: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687685: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687686: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687686: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687717: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687717: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687720: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687720: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687721: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687721: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687726: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687726: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687745: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687745: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687747: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687747: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687753: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687753: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687754: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687754: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687755: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687755: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687759: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687759: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687764: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687630: expected 2 columns but found 4 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687770: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687772: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687775: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687776: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687777: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687778: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687787: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687830: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687831: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687831: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687886: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687887: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687887: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687918: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687918: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687921: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687921: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687922: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687922: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687927: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687946: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687946: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687948: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687948: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687954: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687954: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687955: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687955: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687956: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687956: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687960: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687960: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687965: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8687830: expected 2 columns but found 4 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687971: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687973: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687976: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687977: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687978: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687979: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8687988: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8688032: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688087: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688088: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688088: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688119: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688119: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688122: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688122: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688123: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688123: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688128: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688128: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688147: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688147: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688149: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688149: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688155: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688155: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688156: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688156: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688157: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688157: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688161: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688161: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688166: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688032: expected 2 columns but found 4 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8688172: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8688174: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8688177: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8688178: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8688179: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8688180: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8688189: expected 2 columns but found 3 - extras ignored
/tmp/tmp.FOqTchhgRQ.gravity:8688232: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688233: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688233: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:11634290: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:11634290: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:11634291: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:11634291: unescaped " character
/tmp/tmp.FOqTchhgRQ.gravity:8688232: unterminated "-quoted field
/tmp/tmp.FOqTchhgRQ.gravity:8688232: expected 2 columns but found 1 - filling the rest with NULL
/tmp/tmp.FOqTchhgRQ.gravity:8688232: INSERT failed: NOT NULL constraint failed: gravity.adlist_id
  [✓] Cleaning up stray matter
  [✓] DNS service is running
  [✓] Pi-hole blocking is Enabled

Debug Token:
https://tricorder.pi-hole.net/tvl85dicke]

What is the output of ls -lha /etc/pihole/*.db

root@WonderBoom2:/home/vexira# ls -lha /etc/pihole/*.db
-rw-r--r-- 1 pihole pihole 136K Feb 8 18:06 /etc/pihole/gravity.db
-rw-r--r-- 1 root root 258M Feb 9 04:56 /etc/pihole/gravity_temp.db
-rw-r--r-- 1 pihole pihole 2.3M Feb 8 17:33 /etc/pihole/macvendor.db
-rw-r--r-- 1 pihole pihole 88K Feb 9 16:56 /etc/pihole/pihole-FTL.db

Im also getting a - 2 on block lists, im aware its a known issue, but im aslo wondering if its related to the issue that im facing with the database being read only.

in regards to the gravity issue 4.0 seem to have no issues parsing the lists, but 5.0 does leaving me confused.

Please check /var/log/lighttpd/error.log for any errors related to the database. Maybe there is something Armbian-specific we haven't though about yet.

I don't think so as you've said that database interactions via the CLI work as expected.

Please run the checkout commands another time to ensure you have all branches on the latest revision of release/v5.0.

I used this to upgrade from 4.0 after the fresh install of 4.0
https://pi-hole.net/2020/01/19/announcing-a-beta-test-of-pi-hole-5-0/#page-content

After my working install had a -2 on domains on blocklist, I reinstalled, then upgraded I can confirm its on the latest update since ive been checking for updates at least once a day, when it was working I was having the gravity issue

This is the current version im running Pi-hole Version vDev (release/v5.0, v4.3.2-397-g0a70bbd) Web Interface Version vDev (release/v5.0, v4.3.2-393-g843e46d) FTL Version vDev (release/v5.0, vDev-c3ee98b)

Heres the log outn put as requested
log outpit.txt (40.5 KB)

im still having these errors from the log and i think its affecting gravity, im not exactly sure what it means
2020-02-08 17:44:02: (mod_fastcgi.c.421) FastCGI-stderr: PHP Warning: SQLite3St mt::execute(): Unable to execute statement: attempt to write a readonly database in /var/www/html/admin/scripts/pi-hole/php/database.php on line 165

Check your database permissions. Both /etc/pihole and /etc/pihole/gravity.db should be owned by pihole:pihole and the web server user should be member of the group pihole.

Here some Screenshots to help with debugging, thins is the 3rd fresh install ive done with the same issues, i hope it helps.
when i tested its the same issue on any fresh install i do, if you need in willing to let you team viewer in and check if need be


Thanks, I'm sure we'll get down to it. What are the outputs of

sudo ps aux | grep lighttpd
groups pihole

here is the out put of both

Hmm, this looks like what I'd have expected.

What does

sudo -u pihole sqlite3 /etc/pihole/pihole-FTL.db "SELECT * FROM queries LIMIT 1;"

say?

@DanSchaper @PromoFaux This looks to be a Rock64. I vaguely recall one of you having played with this thing if I'm not completely mistaken, do you recall any specialty that was needed to get Pi-hole running on there?

the only issue prior i had was php failing to auto install, with the pi-hole 4.0 installer but that came up as a known issue if i rember correctly, after a manual install it works.
It installs the same as it does on my pi 3B, ill eventually be upgrading to a pi 4.0

Okay, so

  1. the web user is www-data, and
  2. the user pihole was able to correctly read a line from the database.

Let's try:

sudo -u www-data sqlite3 /etc/pihole/pihole-FTL.db "SELECT * FROM queries LIMIT 1;"

If this works as well, I'm seriously confused what may be going wrong. Have you already tried restarting* the device?


*) I know that this sounds very much like a Windows advice, however, we've seen before that the web user didn't pick up permission changes due to the addition of www-data to group pihole. A restart fixes such a thing.

i rebooted and i reinstalled twice before, not sure if this has something to do with it but i had to install php manually when i installed version 4.0, it fails cant remember when it started exactly on install when in install 4.0, but it happens when i use the curl command to install pi-hole.
for some reason the installer fails to install that dependency and i have to manually install php in order for the installer to keep going.
ill see about wiping it again and see if it sill has an issue

heres the screen shot of the command

when installed the update for the first time and it worked i got an update could not complete please contact support error after the upgrade and this gravity error, this error occurred even when the gui was working

Hmm, this enormous list of errors is very strange...and this happens from fresh checkout? I will have to try this myself at some point. I still don't know why the web interface cannot work on the database.

Do you have SELinux or maybe apparmor in use on your Rock64?

Installer did not detect any se Linux it was green, and I have no Idea what app armour is.

Could it have anything to do with me manually installing PHP when I installed 4.0 due to the depndacy falling to install with the script?

I don't really think so, because the web interface does actually load for you (at least partially) and the SQLite error in the error log also shows you seem to have the right PHP database plugin ready at hand.

2020-02-08 17:44:02: (mod_fastcgi.c.421) FastCGI-stderr: PHP Warning: SQLite3Stmt::execute(): Unable to execute statement: attempt to write a readonly database in /var/www/html/admin/scripts/pi-hole/php/database.php on line 165

What is strange is also that it "just" doesn't work for you. The API doesn't seem to give any output whereas there is no error logged ... wait ... do you use any browser plugins in the browser you used for testing? If so, please disable them all for one second and try again. Also, please try to access the web interface from another device, preferably using a different browser (e.g., mobile phone).

This just to ensure we're looking at the right end of the line...

No plugins, at all just stock chrome and edge, also same issue in chrome on mobile, is it possible there is an issue with me having 3mill domains on block list before I did the upgrade