Skip to content

feat: frankenphp#58541

Open
CarlSchwan wants to merge 11 commits into
masterfrom
carl/frankenphp
Open

feat: frankenphp#58541
CarlSchwan wants to merge 11 commits into
masterfrom
carl/frankenphp

Conversation

@CarlSchwan
Copy link
Copy Markdown
Member

@CarlSchwan CarlSchwan commented Feb 24, 2026

  • Resolves: #

Summary

Advantages:

  1. Worker mode available (but not yet working)
  2. Allow to easily write some extension in go
  3. Mercure integration
  4. And more https://frankenphp.dev/

To test:

  1. Install frankenphp https://frankenphp.dev/docs/#rpm-packages
  2. Install some extensions: sudo dnf in php-zts-intl php-zts-apcu php-zts-pdo_sqlite php-zts-pdo php-zts-gd php-zts-zip
  3. Make /var/lib/php-zts/session writable for your user
  4. frankenphp run

Note that even with this PR merged, we don't recommend yet switching to frankenphp. This is preliminarily work to make it work and particularly for multi-users instance we are not yet sure that there won't be some security relevant memory sharing bugs.

TODO

  • ...

Checklist

Comment thread lib/private/Share/Share.php Outdated
Comment thread index.php Outdated
@come-nc
Copy link
Copy Markdown
Contributor

come-nc commented Mar 13, 2026

https://php.watch/versions/8.3/typed-constants I need to remove type from constants 😿

CarlSchwan and others added 7 commits June 2, 2026 13:22
To test:

1. Install frankenphp https://frankenphp.dev/docs/#rpm-packages
2. Install some extensions: sudo dnf in php-zts-intl  php-zts-apcu php-zts-pdo_sqlite php-zts-pdo php-zts-gd php-zts-zip
3. Make /var/lib/php-zts/session writable for your user
4. `frankenphp run`

This is only for the classic mode for now

Signed-off-by: Carl Schwan <carlschwan@kde.org>
Signed-off-by: Carl Schwan <carlschwan@kde.org>
Isolated OC in its own file instead so that index.php can do finer init.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
We’re gonna need a psalm rule

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Also fixed recursive globbing and added a few manual skip.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Carl Schwan <carlschwan@kde.org>
Comment thread lib/private/Files/Filesystem.php
Signed-off-by: Carl Schwan <carlschwan@kde.org>
Comment thread lib/OC.php Outdated
Comment thread index.php Outdated
Comment thread Caddyfile
@@ -0,0 +1,49 @@
localhost {
php_server {
worker index.php
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

watch directive should be added for upgrades: https://frankenphp.dev/docs/config/#watching-for-file-changes

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's already on by default

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's already on by default

reference needed

Signed-off-by: Carl Schwan <carlschwan@kde.org>
Signed-off-by: Carl Schwan <carlschwan@kde.org>
Not needed in v1.12.3

Signed-off-by: Carl Schwan <carlschwan@kde.org>
@CarlSchwan CarlSchwan marked this pull request as ready for review June 2, 2026 15:08
@CarlSchwan CarlSchwan requested a review from a team as a code owner June 2, 2026 15:08
@CarlSchwan CarlSchwan removed the request for review from a team June 2, 2026 15:08
@CarlSchwan CarlSchwan added this to the Nextcloud 35 milestone Jun 2, 2026
@CarlSchwan CarlSchwan self-assigned this Jun 2, 2026
@come-nc
Copy link
Copy Markdown
Contributor

come-nc commented Jun 2, 2026

Caddyfile should be added in build/files-checker.php and REUSE.toml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants