Skip to content

Commit fe41b32

Browse files
authored
feat: add support for FrankenPHP (#3)
1 parent 19d57c1 commit fe41b32

File tree

1 file changed

+32
-7
lines changed

1 file changed

+32
-7
lines changed

version.go

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ const (
3333
fpmServer serverType = iota
3434
cgiServer
3535
cliServer
36+
frankenphpServer
3637
)
3738

3839
// Version stores information about an installed PHP version
@@ -47,6 +48,7 @@ type Version struct {
4748
PHPizePath string `json:"phpize_path"`
4849
PHPdbgPath string `json:"phpdbg_path"`
4950
IsSystem bool `json:"is_system"`
51+
FrankenPHP bool `json:"frankenphp"`
5052
}
5153

5254
type versions []*Version
@@ -56,21 +58,35 @@ func (vs versions) Swap(i, j int) { vs[i], vs[j] = vs[j], vs[i] }
5658
func (vs versions) Less(i, j int) bool { return vs[i].FullVersion.LessThan(vs[j].FullVersion) }
5759

5860
func (v *Version) ServerPath() string {
59-
if v.serverType() == fpmServer {
61+
switch v.serverType() {
62+
case fpmServer:
6063
return v.FPMPath
61-
} else if v.serverType() == cgiServer {
64+
65+
case cgiServer:
6266
return v.CGIPath
67+
68+
case frankenphpServer:
69+
return ""
70+
71+
default:
72+
return v.PHPPath
6373
}
64-
return v.PHPPath
6574
}
6675

6776
func (v *Version) ServerTypeName() string {
68-
if v.serverType() == fpmServer {
77+
switch v.serverType() {
78+
case fpmServer:
6979
return "PHP FPM"
70-
} else if v.serverType() == cgiServer {
80+
81+
case cgiServer:
7182
return "PHP CGI"
83+
84+
case frankenphpServer:
85+
return "FrankenPHP"
86+
87+
default:
88+
return "PHP CLI"
7289
}
73-
return "PHP CLI"
7490
}
7591

7692
func (v *Version) IsFPMServer() bool {
@@ -85,12 +101,21 @@ func (v *Version) IsCLIServer() bool {
85101
return v.serverType() == cliServer
86102
}
87103

104+
func (v *Version) IsFrankenPHPServer() bool {
105+
return v.serverType() == frankenphpServer
106+
}
107+
88108
func (v *Version) serverType() serverType {
109+
if v.FrankenPHP {
110+
return frankenphpServer
111+
}
89112
if v.FPMPath != "" {
90113
return fpmServer
91-
} else if v.CGIPath != "" {
114+
}
115+
if v.CGIPath != "" {
92116
return cgiServer
93117
}
118+
94119
return cliServer
95120
}
96121

0 commit comments

Comments
 (0)