Skip to content

Commit 13fbe12

Browse files
committed
fix: automatically change cwd when embedding an app
1 parent afa7daf commit 13fbe12

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

caddy/php-server.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import (
66
"log/slog"
77
"net/http"
88
"os"
9-
"path/filepath"
109
"strconv"
1110
"strings"
1211
"time"
@@ -79,14 +78,17 @@ func cmdPHPServer(fs caddycmd.Flags) (int, error) {
7978
panic(err)
8079
}
8180

81+
if frankenphp.EmbeddedAppPath != "" {
82+
if err := os.Chdir(frankenphp.EmbeddedAppPath); err != nil {
83+
return caddy.ExitCodeFailedStartup, err
84+
}
85+
}
86+
8287
var workersOption []workerConfig
8388
if len(workers) != 0 {
8489
workersOption = make([]workerConfig, 0, len(workers))
8590
for _, worker := range workers {
8691
parts := strings.SplitN(worker, ",", 2)
87-
if frankenphp.EmbeddedAppPath != "" && filepath.IsLocal(parts[0]) {
88-
parts[0] = filepath.Join(frankenphp.EmbeddedAppPath, parts[0])
89-
}
9092

9193
var num uint64
9294
if len(parts) > 1 {
@@ -99,16 +101,16 @@ func cmdPHPServer(fs caddycmd.Flags) (int, error) {
99101
}
100102

101103
if frankenphp.EmbeddedAppPath != "" {
102-
if _, err := os.Stat(filepath.Join(frankenphp.EmbeddedAppPath, "php.ini")); err == nil {
104+
if _, err := os.Stat("php.ini"); err == nil {
103105
iniScanDir := os.Getenv("PHP_INI_SCAN_DIR")
104106

105107
if err := os.Setenv("PHP_INI_SCAN_DIR", iniScanDir+":"+frankenphp.EmbeddedAppPath); err != nil {
106108
return caddy.ExitCodeFailedStartup, err
107109
}
108110
}
109111

110-
if _, err := os.Stat(filepath.Join(frankenphp.EmbeddedAppPath, "Caddyfile")); err == nil {
111-
config, _, err := caddycmd.LoadConfig(filepath.Join(frankenphp.EmbeddedAppPath, "Caddyfile"), "")
112+
if _, err := os.Stat("Caddyfile"); err == nil {
113+
config, _, err := caddycmd.LoadConfig("Caddyfile", "caddyfile")
112114
if err != nil {
113115
return caddy.ExitCodeFailedStartup, err
114116
}
@@ -121,9 +123,7 @@ func cmdPHPServer(fs caddycmd.Flags) (int, error) {
121123
}
122124

123125
if root == "" {
124-
root = filepath.Join(frankenphp.EmbeddedAppPath, defaultDocumentRoot)
125-
} else if filepath.IsLocal(root) {
126-
root = filepath.Join(frankenphp.EmbeddedAppPath, root)
126+
root = defaultDocumentRoot
127127
}
128128
}
129129

0 commit comments

Comments
 (0)