1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package caddy
- import (
- "errors"
- "os"
- "path/filepath"
- caddycmd "github.com/caddyserver/caddy/v2/cmd"
- "github.com/dunglas/frankenphp"
- "github.com/spf13/cobra"
- )
- func init() {
- caddycmd.RegisterCommand(caddycmd.Command{
- Name: "php-cli",
- Usage: "script.php [args ...]",
- Short: "Runs a PHP command",
- Long: `
- Executes a PHP script similarly to the CLI SAPI.`,
- CobraFunc: func(cmd *cobra.Command) {
- cmd.DisableFlagParsing = true
- cmd.RunE = caddycmd.WrapCommandFuncForCobra(cmdPHPCLI)
- },
- })
- }
- func cmdPHPCLI(caddycmd.Flags) (int, error) {
- args := os.Args[2:]
- if len(args) < 1 {
- return 1, errors.New("the path to the PHP script is required")
- }
- if frankenphp.EmbeddedAppPath != "" {
- if _, err := os.Stat(args[0]); err != nil {
- args[0] = filepath.Join(frankenphp.EmbeddedAppPath, args[0])
- }
- }
- status := frankenphp.ExecuteScriptCLI(args[0], args)
- os.Exit(status)
- return status, nil
- }
|