Commit Graph

36 Commits

Author SHA1 Message Date
Kévin Dunglas
5a8e5f9518 feat: add apache_response_headers() function (#530) 2024-01-31 12:34:30 +01:00
Kévin Dunglas
175b9a0296 feat: add Brotli compression support (#524) 2024-01-30 18:33:59 +01:00
Kévin Dunglas
49baf02035 feat: add go_apache_request_headers() 2024-01-23 23:14:24 +01:00
Kévin Dunglas
f71f9875ca perf: add benchmark (#392) 2023-12-18 15:35:44 +01:00
Kévin Dunglas
3d2c9b6f6f chore: add missing file 2023-11-10 18:39:29 +01:00
Kévin Dunglas
c615fe0087 feat: add experimental CLI support (#239)
* feat: add CLI support

* updated

* debug

* fix tests

* Caddy php-cli command

* use thread

* $_SERVER and input streams support

* Update frankenphp.c

Co-authored-by: Francis Lavoie <lavofr@gmail.com>

---------

Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2023-10-09 14:38:15 +02:00
Kévin Dunglas
c624971fa7 feat(caddy): add command to start a PHP server (#238)
* feat(caddy): a command to start a PHP server

* docs and l shortcut

* fix some bugs and support for compression

* cleanup

* enable compression by default

* add -a shortcut

* refactor

* const

* docs
2023-10-05 14:56:04 +02:00
Kévin Dunglas
2d91a606fd feat(caddy): php_server simplified directive (#235)
* feat(caddy): php_server simplified directive

* fix typo

Co-authored-by: Matt Holt <mholt@users.noreply.github.com>

* fix

* cleanup

* Update config.md

Co-authored-by: Francis Lavoie <lavofr@gmail.com>

* feat: automatically serve static files

* file_server off

* fix tests

* fix config

* fix tests in Docker

* debug

* fix

---------

Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2023-10-03 15:44:55 +02:00
Kévin Dunglas
69416cc0d6 test: prove that Fibers work if not calling Go 2023-09-28 19:04:57 +02:00
Kévin Dunglas
fb63099a88 feat: allow passing env vars to workers (#210) 2023-09-15 12:59:43 +02:00
Kévin Dunglas
ab0783519e perf: reduce the number of calls to cgo to set the headers 2023-08-18 19:20:32 +02:00
Kévin Dunglas
234873a35a test: add a test for large requests 2023-08-16 11:12:29 +02:00
Kévin Dunglas
2818dfb474 feat: upgrade to Caddy 2.7.3 2023-08-07 23:47:02 +02:00
Kévin Dunglas
e0cf262224 test: fix and refactor some flaky tests (#165)
* test: fix and refactor some flaky tests

* better fix for flush.php

* simpler DHA config
2023-07-10 18:46:04 +02:00
Kévin Dunglas
75cd310292 feat: add support for PHP timeouts on Linux (#128) 2023-03-05 15:47:20 +01:00
Kévin Dunglas
878a30d92f fix: ensure there is always a free thread for non-worker scripts (#105) 2022-11-14 22:45:51 +01:00
Rob Landers
3abda4fbb6 feat: handle aborted connection (#95)
* Handle aborted connection

* Handle when writing as well

* return bytes written

* optimize return

* remove goroutine

* fix style

* Add tests

* add missing newline
2022-11-09 15:09:45 +01:00
Kévin Dunglas
8e136d0d25 feat: implement flush() (#90)
* feat: implement flush()

* add tests
2022-11-09 00:56:00 +01:00
Kévin Dunglas
0a30dd1cb9 tests: improve TestFinishRequest (#97) 2022-11-09 00:53:34 +01:00
Rob Landers
9ef3bd7c47 feat: add fastcgi_finish_request() support (#69)
* Add function to ext

* buggy af, but kinda working

* Get worker and regular mode working

* fix formatting

* add eol

* add eol

* 🤦

* properly generate file

* use sync.Once
2022-11-03 08:36:47 +01:00
Kévin Dunglas
4b21d18e84 chore: remove useless code 2022-10-21 15:43:16 +02:00
Kévin Dunglas
26edeb76e4 fix: prevent panic when restarting crashed worker (#49) 2022-10-21 14:43:16 +02:00
Kévin Dunglas
0f65e421e4 feat: use mainline PHP 8.2 (#48) 2022-10-21 07:24:31 +02:00
Kévin Dunglas
acc48830f7 feat: improve Dockerfile and add some docs (#15) 2022-10-13 18:05:22 +02:00
Kévin Dunglas
5012ac30cd chore: improve tests and add missing file (#13) 2022-10-11 20:41:50 +02:00
Kévin Dunglas
5af6b10d1f feat: add support for 103 Early Hints (#12) 2022-10-11 17:40:12 +02:00
Kévin Dunglas
3712d0d69b test: add tests for exception handling (#11) 2022-10-11 10:54:30 +02:00
Kévin Dunglas
7ec0043fe8 feat: handle errors in worker mode (#9)
* feat: handle errors in worker mode (not working)

* feat: better exception and error handling
2022-10-11 08:10:46 +02:00
Kévin Dunglas
4c0dd41327 feat: improve PHP logger 2022-10-08 13:05:18 +02:00
Kévin Dunglas
0b8e322375 fix: preserve autoloading in worker mode 2022-10-06 15:25:58 +02:00
Kévin Dunglas
4a87ad3609 chore: add tests regarding persistent objects 2022-10-05 15:44:02 +02:00
Kévin Dunglas
796476d537 feat: use threads instead of GoRoutines (#6)
* feat: use threads instead of GoRoutines

* many improvements

* fix some bugs
2022-10-04 14:41:19 +02:00
Kévin Dunglas
a3ba57f021 test: ensure memory safety when handling parallel requests (#3) 2022-05-23 11:57:30 +02:00
Kévin Dunglas
7d81fa51fe feat: add a woker mode (#1)
* refactor: better memory management

* wip

* tmp

* introduce a go-like api

* upgraded to PHP 8.2

* Fix thread safety issues

* fix tests

* wip

* refactor worker

* worker prototype

* fix populate env

* session

* improve tests

* fix Caddy tests

* refactor
2022-05-18 11:52:24 +02:00
Kévin Dunglas
290e9e1114 feat: Caddy module 2021-11-01 00:18:30 +01:00
Kévin Dunglas
a2607e6be7 initial commit 2021-09-24 18:52:20 +02:00