# Pihole dns works, but some parts of webif broken, fastcgi/php errors

**URL:** <https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409>\
**Category:** Help\
**Created:** [December 8, 2024, 4:16pm UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409 "2024-12-08T16:16:02Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![davygravy](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/davygravy/32/46075_2.png) [@davygravy](https://discourse.pi-hole.net/u/davygravy)\
**Post date:** [December 8, 2024, 4:16pm UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409/1 "2024-12-08T16:16:02Z")

</div>

Fresh install, reinstalled also. On armel/kirkwood Debian.

Most parts of webif work correctly, dns blocking works fine, graphs/stats, etc all good.

Broken:

- webif for gravity update (shows no output)
- webif for diagnostics (shows no output)
- odd specific parts... e.g. Temperature choice (C, K, F) shows dropdown menu, can choose F or K, but webif doesn't change it. I actually changed it via CLI to F, but webif shows C still.

Clues:

- php version is 8.2.26; on another similar device (backup/failover pihole) 8.2.24 is still there, and works fine... not sure if there is a problem with 8.2.26, but couldn't see anything in change log that would point to that
- in /var/log/lighttpd/error-pihole.log : `2024-12-08 09:36:23: (mod_fastcgi.c.449) FastCGI-stderr:PHP Warning: Executing sudo pihole -a -c failed. in /var/www/html/admin/scripts/pi-hole/php/func.php on line 173`
- I was able to use the command line just fine to change C to F, and also (obviously) to run debug and upload...
- Is there some sort of cache for php/fastcgi that I can delete?
- I suspect that it could be some odd permissions error, but I don't know where to look exactly...

Debug token: [https://tricorder.pi-hole.net/X2sS4hfk/](https://tricorder.pi-hole.net/X2sS4hfk/)

TIA,

Dave

---

<div class="post-metadata">

**Author:** ![DanSchaper](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/danschaper/32/91_2.png) [@DanSchaper](https://discourse.pi-hole.net/u/DanSchaper)\
**Post date:** [December 8, 2024, 5:07pm UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409/2 "2024-12-08T17:07:12Z")

</div>

I see an issue with the cgi binary:

```plaintext
   2024-12-08 09:32:41: (gw_backend.c.1583) invalid "bin-path" => "/usr/bin/php-cgi" (check that file exists, is regular file, and is executable by lighttpd)

```

Can you check `sudo which php-cgi` and show the contents of the `lighttpd` configuration for fastcgi `sudo can /etc/lighttpd/conf-available/10-fastcgi.conf` please? I see an additional `99-unconfigured.conf` file in that same `conf-available` director that does not look familiar to me.

---

<div class="post-metadata">

**Author:** ![davygravy](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/davygravy/32/46075_2.png) [@davygravy](https://discourse.pi-hole.net/u/davygravy)\
**Post date:** [December 8, 2024, 5:36pm UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409/3 "2024-12-08T17:36:47Z")

</div>

```auto
root@PiHole1-B388:/# which php
/usr/bin/php
root@PiHole1-B388:/# file /usr/bin/php-cgi
/usr/bin/php-cgi: symbolic link to /etc/alternatives/php-cgi
root@PiHole1-B388:/# file /etc/alternatives/php-cgi
/etc/alternatives/php-cgi: symbolic link to /usr/bin/php-cgi.default
root@PiHole1-B388:/# file /usr/bin/php-cgi.default 
/usr/bin/php-cgi.default: symbolic link to php-cgi8.2
root@PiHole1-B388:/# file /usr/bin/php-cgi8.2 
/usr/bin/php-cgi8.2: ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, BuildID[sha1]=833e3b42306ca87603aee567637c9109cf1c5845, for GNU/Linux 3.2.0, stripped
root@PiHole1-B388:/# ll /usr/bin/php-cgi8.2
-rwxr-xr-x 1 root root 4359960 Nov 25 11:21 /usr/bin/php-cgi8.2

```

```auto
root@PiHole1-B388:/# cat /etc/lighttpd/conf-available/10-fastcgi.conf
# /usr/share/doc/lighttpd/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi

server.modules += ( "mod_fastcgi" )

```

```auto
root@PiHole1-B388:/# cat /etc/lighttpd/conf-available/99-unconfigured.conf 
# override prior index-file.name directive
# to fall back to default index.lighttpd.html
index-file.names := ( "index.php", "index.html", "index.lighttpd.html" )

```

---

<div class="post-metadata">

**Author:** ![rdwebdesign](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/rdwebdesign/32/51363_2.png) [@rdwebdesign](https://discourse.pi-hole.net/u/rdwebdesign)\
**Post date:** [December 8, 2024, 6:14pm UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409/4 "2024-12-08T18:14:28Z")

</div>

> [@davygravy](#):
>
> Broken:
> 
> - webif for gravity update (shows no output)
> - webif for diagnostics (shows no output)
> - odd specific parts... e.g. Temperature choice (C, K, F) shows dropdown menu, can choose F or K, but webif doesn't change it. I actually changed it via CLI to F, but webif shows C still.

Do you see any error messages in your browser console (Devtools) when you access these pages?

---

<div class="post-metadata">

**Author:** ![davygravy](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/davygravy/32/46075_2.png) [@davygravy](https://discourse.pi-hole.net/u/davygravy)\
**Post date:** [December 8, 2024, 10:28pm UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409/6 "2024-12-08T22:28:31Z")

</div>

Thanks @DanSchaper @rdwebdesign for ideas. None. Tried a different browser, same behavior. Leaning towards a hardware (SSD fault) problem.

Will post back after I've check into that possibility in more depth.

---

<div class="post-metadata">

**Author:** ![rdwebdesign](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/rdwebdesign/32/51363_2.png) [@rdwebdesign](https://discourse.pi-hole.net/u/rdwebdesign)\
**Post date:** [December 8, 2024, 10:32pm UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409/7 "2024-12-08T22:32:08Z")

</div>

> [@davygravy](#):
>
> I suspect that it could be some odd permissions error

This is possible.

What is the output of `ls -la /run/lighttpd` on your system?

---

<div class="post-metadata">

**Author:** ![davygravy](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/davygravy/32/46075_2.png) [@davygravy](https://discourse.pi-hole.net/u/davygravy)\
**Post date:** [December 8, 2024, 10:57pm UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409/8 "2024-12-08T22:57:22Z")

</div>

> [@rdwebdesign](#):
>
> ls -la /run/lighttpd

```auto
root@PiHole1-B388:/etc# ls -la /run/lighttpd
total 0
drwxr-x--- 2 www-data www-data 60 Dec 8 16:41 .
drwxr-xr-x 17 root root 760 Dec 31 1969 ..
srwxr-xr-x 1 www-data www-data 0 Dec 8 16:41 pihole-php-fastcgi.socket-0

```

With a freshly formatted SSD, using a fresh tarball of the rootfs that I've used from the last few years (Debian Bookworm armel), I reproduced the exact same error.

For now, I'm leaving it as is. All the CLI operations seem to work just fine, but something between the webif and fastcgi seems to be borked.

If Pihole 6 does come out, any php considerations would probably be moot... I've searched for some mention of "armel", "debian", "php8.2.26-1", "pihole", but I've not come up with anything.

At this point I'll probably also try to debootstrap a Debian "Trixy" image and give that a go. Not sure what else to try...

---

<div class="post-metadata">

**Author:** ![deHakkelaar](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/dehakkelaar/32/674_2.png) [@deHakkelaar](https://discourse.pi-hole.net/u/deHakkelaar)\
**Post date:** [December 9, 2024, 4:32am UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409/11 "2024-12-09T04:32:32Z")

</div>

Some hints/tips (on my Raspi though):

```auto
$ readlink -f /usr/bin/php-cgi
/usr/bin/php-cgi7.3

```

```auto
$ dpkg -S bin/php-cgi7.3
php7.3-cgi: /usr/bin/php-cgi7.3

```

```auto
$ update-alternatives --display php-cgi
php-cgi - auto mode
  link best version is /usr/bin/php-cgi7.3
  link currently points to /usr/bin/php-cgi7.3
  link php-cgi is /usr/bin/php-cgi
  slave php-cgi.1.gz is /usr/share/man/man1/php-cgi.1.gz
/usr/bin/php-cgi7.3 - priority 73
  slave php-cgi.1.gz: /usr/share/man/man1/php-cgi7.3.1.gz

```

You can set/configure alternatives with below if there are any:

`sudo update-alternatives --config php-cgi`

Also check the **man** page eg:

`man update-alternatives`

> [@DanSchaper](#):
>
> `check that file exists, is regular file, and is executable by lighttpd`

What do below three show?

`stat /usr/bin/php-cgi8.2`

`ps -o uid,user,gid,group,pid,cmd -C lighttpd`

`sudo -u www-data /usr/bin/php-cgi --version`

---

<div class="post-metadata">

**Author:** ![davygravy](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/davygravy/32/46075_2.png) [@davygravy](https://discourse.pi-hole.net/u/davygravy)\
**Post date:** [December 9, 2024, 5:10am UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409/12 "2024-12-09T05:10:16Z")

</div>

```auto
root@PiHole1-B388:~# stat /usr/bin/php-cgi8.2
  File: /usr/bin/php-cgi8.2
  Size: 4359960 Blocks: 8544 IO Block: 4096 regular file
Device: 8,1	Inode: 467091 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2024-12-08 16:19:47.000000000 -0600
Modify: 2024-11-25 11:21:51.000000000 -0600
Change: 2024-12-08 16:20:02.163888876 -0600
 Birth: 2024-12-08 16:20:00.353649713 -0600

root@PiHole1-B388:~# ps -o uid,user,gid,group,pid,cmd -C lighttpd
  UID USER GID GROUP PID CMD
   33 www-data 33 www-data 1209 /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf

root@PiHole1-B388:~# sudo -u www-data /usr/bin/php-cgi --version
PHP 8.2.26 (cgi-fcgi) (built: Nov 25 2024 17:21:51)
Copyright (c) The PHP Group
Zend Engine v4.2.26, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.26, Copyright (c), by Zend Technologies

```

It looks like 7.3 is from Bullseye, not available in Bookworm. Also, the "sister" pihole server is running php8.2.2 **4** , and it works correctly. I don't want to get into the whole thing of apt-pinning or and alternate source... gonna let this as is for now. Thanks.

---

<div class="post-metadata">

**Author:** ![deHakkelaar](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/dehakkelaar/32/674_2.png) [@deHakkelaar](https://discourse.pi-hole.net/u/deHakkelaar)\
**Post date:** [December 9, 2024, 5:13am UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409/13 "2024-12-09T05:13:06Z")

</div>

> [@davygravy](#):
>
> It looks like 7.3 is from Bullseye

```auto
$ hostnamectl
[..]
  Operating System: Raspbian GNU/Linux 10 (buster)

```

😉

Output looks good.  
No idea whats bugging your setup.

---

<div class="post-metadata">

**Author:** ![davygravy](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/davygravy/32/46075_2.png) [@davygravy](https://discourse.pi-hole.net/u/davygravy)\
**Post date:** [December 9, 2024, 5:15am UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409/14 "2024-12-09T05:15:40Z")

</div>

Ja...bedankt.

---

<div class="post-metadata">

**Author:** ![davygravy](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/davygravy/32/46075_2.png) [@davygravy](https://discourse.pi-hole.net/u/davygravy)\
**Post date:** [December 10, 2024, 1:43am UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409/15 "2024-12-10T01:43:30Z")

</div>

I went further on this today... reinstalled again twice...

- fresh Bookworm install; same result; upgraded to Trixie, same result
- fresh Bullseye install; same result...

My suspicion now is that the problem lies w/ a recent security fix or update which breaks something in Armel php.

At least now I have a stable pihole back, even if it the webif isn't 100% working. Still very usable.

And a good reason to look forward to Version 6.

---

<div class="post-metadata">

**Author:** ![deHakkelaar](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/dehakkelaar/32/674_2.png) [@deHakkelaar](https://discourse.pi-hole.net/u/deHakkelaar)\
**Post date:** [December 10, 2024, 8:57am UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409/16 "2024-12-10T08:57:59Z")

</div>

Maybe those distro's apply Selinux or Apparmor which might bug your setup?

---

<div class="post-metadata">

**Author:** ![davygravy](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/davygravy/32/46075_2.png) [@davygravy](https://discourse.pi-hole.net/u/davygravy)\
**Post date:** [December 10, 2024, 7:03pm UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409/17 "2024-12-10T19:03:30Z")

</div>

That's a good idea, but apparmor/SE are not applied/present on these boxes.

They are running armel (Kirkwood SoC) Debian - 32 bit ARM. This SoC was popular 15 years ago - draws only about 3-5 watts, so they are great for embedded applications. Downside is that they are no longer made - fewer and fewer people use them, so they not as well supported/tested as they used to be.

Probably time for me to get a 5-10$ raspberry pi 64bit look-alike and try out one of those. More modern means often better supported/tested.

---

<div class="post-metadata">

**Author:** ![DanSchaper](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/danschaper/32/91_2.png) [@DanSchaper](https://discourse.pi-hole.net/u/DanSchaper)\
**Post date:** [December 10, 2024, 10:09pm UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409/18 "2024-12-10T22:09:28Z")

</div>

Kirkwood armel... Is this on a PogoPlug?

---

<div class="post-metadata">

**Author:** ![davygravy](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/davygravy/32/46075_2.png) [@davygravy](https://discourse.pi-hole.net/u/davygravy)\
**Post date:** [December 10, 2024, 11:44pm UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409/19 "2024-12-10T23:44:54Z")

</div>

Exactly... it has been very reliable for about 12 years if my count/memory is correct...

---

<div class="post-metadata">

**Author:** ![deHakkelaar](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/dehakkelaar/32/674_2.png) [@deHakkelaar](https://discourse.pi-hole.net/u/deHakkelaar)\
**Post date:** [December 11, 2024, 3:05pm UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409/20 "2024-12-11T15:05:13Z")

</div>

> [@davygravy](#):
>
> And a good reason to look forward to Version 6.

Why not give it a try?  
V6 is dropping the **lighttpd** / **php** dependency anyway in favor of a web deamon (Civitweb) embedded in the **pihole-FTL** binary itself:

```auto
$ sudo ss -nltup | grep pihole-FTL
udp UNCONN 0 0 0.0.0.0:53 0.0.0.0:* users:(("pihole-FTL",pid=1880538,fd=20))
udp UNCONN 0 0 0.0.0.0:123 0.0.0.0:* users:(("pihole-FTL",pid=1880538,fd=40))
udp UNCONN 0 0 [::]:53 [::]:* users:(("pihole-FTL",pid=1880538,fd=22))
udp UNCONN 0 0 [::]:123 [::]:* users:(("pihole-FTL",pid=1880538,fd=41))
tcp LISTEN 0 200 0.0.0.0:443 0.0.0.0:* users:(("pihole-FTL",pid=1880538,fd=37))
tcp LISTEN 0 32 0.0.0.0:53 0.0.0.0:* users:(("pihole-FTL",pid=1880538,fd=21))
tcp LISTEN 0 200 0.0.0.0:80 0.0.0.0:* users:(("pihole-FTL",pid=1880538,fd=33))
tcp LISTEN 0 200 [::]:443 [::]:* users:(("pihole-FTL",pid=1880538,fd=38))
tcp LISTEN 0 32 [::]:53 [::]:* users:(("pihole-FTL",pid=1880538,fd=23))
tcp LISTEN 0 200 [::]:80 [::]:* users:(("pihole-FTL",pid=1880538,fd=36))

```

After you've installed v5 and before switching to the v6 **development** branch ( **checkout** ), dont forget to disable and stop **lighttpd** first with below if you dont use it for anything else:

`sudo systemctl disable --now lighttpd.service`

If not, **lighttpd** will keep on running after the switch and the **pihole-FTL** daemon will be configured to listen on port 8080 for HTTP instead of 80 where **lighttpd** will still be listening!

Am not sure if **pihole checkout development** is sufficient to switch.  
But am sure @DanSchaper can tell 😉

EDIT: Oh blast, after typing above, I realised there is no **armel** pre-compiled binary available for your Pogo:

> **[index - powered by h5ai v0.30.0 (https://larsjung.de/h5ai/)](https://ftl.pi-hole.net/new/dhcpv6/)**
>
> index - powered by h5ai v0.30.0 (https://larsjung.de/h5ai/)

> [@Building Pi-hole v6.0 on Pogoplug V2](https://discourse.pi-hole.net/t/request-dev-team-please-build-beta-6-0-binaries-for-arm5v-armel-architecture/74448/2):
>
> I'm afraid this will not happen. The people from pi-hole changed their build infrastructure to alpine and alpine does not support this architecture. I have the exact same setup like you have and I build pihole-FTL myself. This works. This should get you going -\> [https://github.com/pi-hole/docs/blob/release/v6.0/docs/ftldns/compile.md](https://github.com/pi-hole/docs/blob/release/v6.0/docs/ftldns/compile.md) Also I've seen other people here that are also running pihole on pogo-plugs, so feel free to search this forum. Please note ... pihole 6 requires a little more me…

---

<div class="post-metadata">

**Author:** ![bluzfanmr1](https://discourse-cdn.pi-hole.net/letter_avatar_proxy/v4/letter/b/bbce88/32.png) [@bluzfanmr1](https://discourse.pi-hole.net/u/bluzfanmr1)\
**Post date:** [December 11, 2024, 4:53pm UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409/21 "2024-12-11T16:53:19Z")

</div>

If you are capable of compiling yourself, V6 works great on the PogoPlug Pro. I know there are at least 2 of us on here that have had success with it.

---

<div class="post-metadata">

**Author:** ![davygravy](https://discourse-cdn.pi-hole.net/user_avatar/discourse.pi-hole.net/davygravy/32/46075_2.png) [@davygravy](https://discourse.pi-hole.net/u/davygravy)\
**Post date:** [December 12, 2024, 3:21pm UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409/23 "2024-12-12T15:21:28Z")

</div>

@bluzfanmr1 , two question for you ... please...

1. did you compile it natively (on your PogoPlug Pro), which is IIRC oxnas?
2. How much memory does it require to run (my pogoplug v2 has 256MB)

@deHakkelaar : Is there any "Cross Toolchain of Choice" used by the _armel_ community here?

---

<div class="post-metadata">

**Author:** ![bluzfanmr1](https://discourse-cdn.pi-hole.net/letter_avatar_proxy/v4/letter/b/bbce88/32.png) [@bluzfanmr1](https://discourse.pi-hole.net/u/bluzfanmr1)\
**Post date:** [December 12, 2024, 4:02pm UTC](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409/24 "2024-12-12T16:02:10Z")

</div>

1. Correct, I compiled it on my Pogoplug Pro using the instructions @kennywest previously posted in the other thread: [https://github.com/pi-hole/docs/blob/release/v6.0/docs/ftldns/compile.md](https://github.com/pi-hole/docs/blob/release/v6.0/docs/ftldns/compile.md)

2. The Pro's only have 128k of memory so make sure you have created a swap file. I have a 2GB swap file on the SSD.

Like I said, it takes a bit over 2 hours, which I don't mind by letting it run while I'm doing other stuff.

[Next page](https://discourse.pi-hole.net/t/pihole-dns-works-but-some-parts-of-webif-broken-fastcgi-php-errors/74409.md?page=2)
