@@ -33,6 +33,7 @@ const (
33
33
fpmServer serverType = iota
34
34
cgiServer
35
35
cliServer
36
+ frankenphpServer
36
37
)
37
38
38
39
// Version stores information about an installed PHP version
@@ -47,6 +48,7 @@ type Version struct {
47
48
PHPizePath string `json:"phpize_path"`
48
49
PHPdbgPath string `json:"phpdbg_path"`
49
50
IsSystem bool `json:"is_system"`
51
+ FrankenPHP bool `json:"frankenphp"`
50
52
}
51
53
52
54
type versions []* Version
@@ -56,21 +58,35 @@ func (vs versions) Swap(i, j int) { vs[i], vs[j] = vs[j], vs[i] }
56
58
func (vs versions ) Less (i , j int ) bool { return vs [i ].FullVersion .LessThan (vs [j ].FullVersion ) }
57
59
58
60
func (v * Version ) ServerPath () string {
59
- if v .serverType () == fpmServer {
61
+ switch v .serverType () {
62
+ case fpmServer :
60
63
return v .FPMPath
61
- } else if v .serverType () == cgiServer {
64
+
65
+ case cgiServer :
62
66
return v .CGIPath
67
+
68
+ case frankenphpServer :
69
+ return ""
70
+
71
+ default :
72
+ return v .PHPPath
63
73
}
64
- return v .PHPPath
65
74
}
66
75
67
76
func (v * Version ) ServerTypeName () string {
68
- if v .serverType () == fpmServer {
77
+ switch v .serverType () {
78
+ case fpmServer :
69
79
return "PHP FPM"
70
- } else if v .serverType () == cgiServer {
80
+
81
+ case cgiServer :
71
82
return "PHP CGI"
83
+
84
+ case frankenphpServer :
85
+ return "FrankenPHP"
86
+
87
+ default :
88
+ return "PHP CLI"
72
89
}
73
- return "PHP CLI"
74
90
}
75
91
76
92
func (v * Version ) IsFPMServer () bool {
@@ -85,12 +101,21 @@ func (v *Version) IsCLIServer() bool {
85
101
return v .serverType () == cliServer
86
102
}
87
103
104
+ func (v * Version ) IsFrankenPHPServer () bool {
105
+ return v .serverType () == frankenphpServer
106
+ }
107
+
88
108
func (v * Version ) serverType () serverType {
109
+ if v .FrankenPHP {
110
+ return frankenphpServer
111
+ }
89
112
if v .FPMPath != "" {
90
113
return fpmServer
91
- } else if v .CGIPath != "" {
114
+ }
115
+ if v .CGIPath != "" {
92
116
return cgiServer
93
117
}
118
+
94
119
return cliServer
95
120
}
96
121
0 commit comments