💾 Archived View for bbs.geminispace.org › u › chluehr › 12036 captured on 2024-08-18 at 20:32:35. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-07-09)

🚧 View Differences

-=-=-=-=-=-=-

Server change to gmid & FastCGI with PHP

I switched server from Agate to gmid, becaused I am planning on playing with dynamic content in Geminispace.

The currect setup of this capsule consists of a Docker/Portainer/traefik server forwarding all traffic on port 1965 to the gmid server. The gmid is configured to forward some traffic based on a location to a php-fpm container.

For more details, read the news entry:

Server change to gmid & FastCGI with PH

🐧 chluehr

2023-11-29 · 9 months ago · 👍 gritty, Addison, Minko_Ikana

3 Comments ↓

🕹️ skyjake [...] · 2023-11-29 at 09:17:

I'm interested in hearing how you fare with PHP when it comes to Gemini! So far I've only been using Python for my Gemini services, on top of a Python-based server I've written from scratch.

The `header_remove` calls make it sound like you had to fight a little to make PHP forget about HTTP. 🙂

🐧 chluehr [OP] · 2023-11-29 at 09:27:

Indeed :) ... OpenSwoole was a good option, too (building a PHP self-contained TCP/TLS/Gemini Protocol server) - but integrating Swoole with Composer/Packagist and the rest of the PHP ecosystem is harder. Using FPM this is - once you get past the header thing - easy. I am not sure what kind of app to build, yet, though. Gemini compared to html looks so nice as I don't have to bother with the frontend that much (building a nice UX is harder, though ... link placement .. emoticons ... ) :) ... I am going to post my experience down the road.

🐧 chluehr [OP] · 2023-12-29 at 18:21:

Okay, update: Using standard PHP-FPM has one issue: As per definition there is always an empty line between header/status code and content. With Gemini / gmi, this is not a big issue - but I was planning on delivering images .... the extra line breaks the images. darn. So php-only server? Or s.th. like https://github.com/lisachenko/protocol-fcgi ?