Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add FreeBSD support #230

Merged
merged 10 commits into from
Oct 16, 2023
Merged

Add FreeBSD support #230

merged 10 commits into from
Oct 16, 2023

Conversation

crazywhalecc
Copy link
Owner

@crazywhalecc crazywhalecc commented Oct 15, 2023

If we just implement a standalone php binary in FreeBSD, it is very simple (I only took 2 hours to implement). FreeBSD support is now available with only a few modifications.

The current compilation result is not statically linked, but only libc.so, librt.so, etc. included by FreeBSD by default are linked. Tested (compiled from 13, run on 12) it's perfect.

I also tried compiling a fully static binary using -all-static, and the result of compiling it was very strange: file php showed dynamically linked, and running it or ldd php showed a segfault. Maybe it has something to do with clang/llvm and the underlying ELF parsing mode of FreeBSD, but there is very, very little information about this on the Internet.

Documentation PR: static-php/static-php-cli-docs#2

@crazywhalecc crazywhalecc added the enhancement New feature or request label Oct 15, 2023
@crazywhalecc crazywhalecc marked this pull request as draft October 15, 2023 05:13
@crazywhalecc crazywhalecc added the mixed PR This PR contains multiple updates label Oct 15, 2023
@crazywhalecc crazywhalecc added the os/freebsd Things only for FreeBSD label Oct 15, 2023
@crazywhalecc crazywhalecc marked this pull request as ready for review October 15, 2023 09:39
@crazywhalecc crazywhalecc merged commit ce60a9c into main Oct 16, 2023
4 checks passed
@crazywhalecc crazywhalecc deleted the freebsd-support branch October 16, 2023 02:28
@kdkd
Copy link

kdkd commented Oct 16, 2023

This is amazing, I will give this a test as soon as I can!

@crazywhalecc
Copy link
Owner Author

@kdkd I haven't added some extensions that rely on external libraries, so there are currently a lot of extensions that are not supported. But supporting them should be easy, unless some libraries are not supported when building in FreeBSD.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request mixed PR This PR contains multiple updates os/freebsd Things only for FreeBSD
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants