-
xsPurX Junior Member
 
-
Posts: 27
Threads: 9
Joined: Oct 2023
Reputation:
0
05-06-2024, 11:31 AM
(This post was last modified: 05-06-2024, 11:32 AM by xsPurX.)
Hi,
I'm working on updating to 4.4.8 and my base url is defined like below.
Code: public string $baseURL = BASE_URL;
in config/Constants.php I have
Code: $base_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . dirname($_SERVER['SCRIPT_NAME']) . (substr(dirname($_SERVER['SCRIPT_NAME']), -1) == '/' ? '' : '/');
defined('BASE_URL') || define('BASE_URL', $base_url);
when I run php spark on 4.4.1 it works fine, but on 4.4.8 it just exits out, and doesn't run the localhost server.
if i replace the $baseURL with http://localhost:8080/ it works, but I need the dynamic url. So why is 4.4.8 exiting out when 4.4.1 doesn't? I don't get any error, it just goes back the typing commands in command prompt, and doesn't run the local server.
Any help would be appreicated.
-
kenjis Administrator
      
-
Posts: 3,671
Threads: 96
Joined: Oct 2014
Reputation:
231
Your code does not work with spark due to a PHP Fatal error.
> PHP Fatal error: Uncaught CodeIgniter\Exceptions\ConfigException: Config\App::$baseURL "http://./" is not a valid URL.
Code: $ php spark serve
PHP Warning: Undefined array key "HTTP_HOST" in /Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/Constants.php on line 96
PHP Stack trace:
PHP 1. {main}() /Users/kenji/work/codeigniter/official/CodeIgniter4/spark:0
PHP 2. CodeIgniter\Boot::bootSpark($paths = class Config\Paths { public string $systemDirectory = '/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/../../system'; public string $appDirectory = '/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/..'; public string $writableDirectory = '/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/../../writable'; public string $testsDirectory = '/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/../../tests'; public string $viewDirectory = '/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/../Views' }) /Users/kenji/work/codeigniter/official/CodeIgniter4/spark:84
PHP 3. CodeIgniter\Boot::loadConstants() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Boot.php:87
PHP 4. require_once() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Boot.php:210
Warning: Undefined array key "HTTP_HOST" in /Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/Constants.php on line 96
Call Stack:
0.0006 399456 1. {main}() /Users/kenji/work/codeigniter/official/CodeIgniter4/spark:0
0.0017 450136 2. CodeIgniter\Boot::bootSpark($paths = class Config\Paths { public string $systemDirectory = '/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/../../system'; public string $appDirectory = '/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/..'; public string $writableDirectory = '/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/../../writable'; public string $testsDirectory = '/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/../../tests'; public string $viewDirectory = '/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/../Views' }) /Users/kenji/work/codeigniter/official/CodeIgniter4/spark:84
0.0018 450720 3. CodeIgniter\Boot::loadConstants() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Boot.php:87
0.0020 465496 4. require_once('/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/Constants.php') /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Boot.php:210
CodeIgniter v4.5.1 Command Line Tool - Server Time: 2024-05-07 08:45:47 UTC+00:00
PHP Fatal error: Uncaught CodeIgniter\Exceptions\ConfigException: Config\App::$baseURL "http://./" is not a valid URL. in /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php:201
Stack trace:
#0 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php(147): CodeIgniter\HTTP\SiteURI->normalizeBaseURL(Object(Config\App))
#1 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php(102): CodeIgniter\HTTP\SiteURI->determineBaseURL(Object(Config\App), NULL, NULL)
#2 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURIFactory.php(212): CodeIgniter\HTTP\SiteURI->__construct(Object(Config\App), '/', NULL)
#3 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURIFactory.php(42): CodeIgniter\HTTP\SiteURIFactory->createURIFromRoutePath('/')
#4 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(807): CodeIgniter\HTTP\SiteURIFactory->createFromGlobals()
#5 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(311): CodeIgniter\Config\Services::uri(NULL, false)
#6 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(250): CodeIgniter\Config\BaseService::__callStatic('uri', Array)
#7 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(800): CodeIgniter\Config\BaseService::getSharedInstance('uri', NULL)
#8 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(320): CodeIgniter\Config\Services::uri()
#9 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(201): CodeIgniter\Config\BaseService::__callStatic('uri', Array)
#10 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(568): CodeIgniter\Config\BaseService::get('uri')
#11 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(320): CodeIgniter\Config\Services::incomingrequest(Object(Config\App), false)
#12 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(526): CodeIgniter\Config\BaseService::__callStatic('incomingrequest', Array)
#13 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(311): CodeIgniter\Config\Services::request(NULL, false)
#14 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(250): CodeIgniter\Config\BaseService::__callStatic('request', Array)
#15 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(522): CodeIgniter\Config\BaseService::getSharedInstance('request', NULL)
#16 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(320): CodeIgniter\Config\Services::request()
#17 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Debug/Exceptions.php(129): CodeIgniter\Config\BaseService::__callStatic('request', Array)
#18 [internal function]: CodeIgniter\Debug\Exceptions->exceptionHandler(Object(CodeIgniter\Exceptions\ConfigException))
#19 {main}
thrown in /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php on line 201
Fatal error: Uncaught CodeIgniter\Exceptions\ConfigException: Config\App::$baseURL "http://./" is not a valid URL. in /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php on line 201
CodeIgniter\Exceptions\ConfigException: Config\App::$baseURL "http://./" is not a valid URL. in /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php on line 201
Call Stack:
0.0880 5306512 1. CodeIgniter\Debug\Exceptions->exceptionHandler($exception = class CodeIgniter\Exceptions\ConfigException { protected $message = 'Config\\App::$baseURL "http://./" is not a valid URL.'; private string ${Error}string = ''; protected $code = 0; protected string $file = '/Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php'; protected int $line = 201; private array ${Error}trace = [0 => [...], 1 => [...], 2 => [...], 3 => [...], 4 => [...], 5 => [...], 6 => [...], 7 => [...], 8 => [...], 9 => [...], 10 => [...], 11 => [...], 12 => [...], 13 => [...]]; private ?Throwable ${Error}previous = NULL }) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Debug/Exceptions.php:0
0.0880 5306512 2. CodeIgniter\Config\BaseService::__callStatic($name = 'request', $arguments = []) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Debug/Exceptions.php:129
0.0881 5306888 3. CodeIgniter\Config\Services::request($config = ???, $getShared = ???) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:320
0.0881 5306888 4. CodeIgniter\Config\BaseService::getSharedInstance($key = 'request', ...$params = variadic(NULL)) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php:522
0.0881 5307640 5. CodeIgniter\Config\BaseService::__callStatic($name = 'request', $arguments = [0 => NULL, 1 => FALSE]) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:250
0.0881 5307640 6. CodeIgniter\Config\Services::request($config = NULL, $getShared = FALSE) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:311
0.0881 5308016 7. CodeIgniter\Config\BaseService::__callStatic($name = 'incomingrequest', $arguments = [0 => NULL, 1 => FALSE]) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php:526
0.0881 5308712 8. CodeIgniter\Config\Services::incomingrequest($config = NULL, $getShared = FALSE) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:320
0.0891 5409376 9. CodeIgniter\Config\BaseService::get($key = 'uri') /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php:568
0.0891 5409376 10. CodeIgniter\Config\BaseService::__callStatic($name = 'uri', $arguments = []) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:201
0.0892 5409752 11. CodeIgniter\Config\Services::uri($uri = ???, $getShared = ???) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:320
0.0892 5409752 12. CodeIgniter\Config\BaseService::getSharedInstance($key = 'uri', ...$params = variadic(NULL)) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php:800
0.0892 5410504 13. CodeIgniter\Config\BaseService::__callStatic($name = 'uri', $arguments = [0 => NULL, 1 => FALSE]) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:250
0.0892 5410504 14. CodeIgniter\Config\Services::uri($uri = NULL, $getShared = FALSE) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:311
0.0897 5443392 15. CodeIgniter\HTTP\SiteURIFactory->createFromGlobals() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php:807
0.0897 5443392 16. CodeIgniter\HTTP\SiteURIFactory->createURIFromRoutePath($routePath = '/') /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURIFactory.php:42
0.0897 5443776 17. CodeIgniter\HTTP\SiteURI->__construct($configApp = class Config\App { public string $baseURL = 'http://./'; public array $allowedHostnames = []; public string $indexPage = 'index.php'; public string $uriProtocol = 'REQUEST_URI'; public string $permittedURIChars = 'a-z 0-9~%.:_\\-'; public string $defaultLocale = 'en'; public bool $negotiateLocale = FALSE; public array $supportedLocales = [0 => 'en']; public string $appTimezone = 'UTC'; public string $charset = 'UTF-8'; public bool $forceGlobalSecureRequests = FALSE; public array $proxyIPs = []; public bool $CSPEnabled = FALSE }, $relativePath = '/', $host = NULL, $scheme = ???) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURIFactory.php:212
0.0897 5443776 18. CodeIgniter\HTTP\SiteURI->determineBaseURL($configApp = class Config\App { public string $baseURL = 'http://./'; public array $allowedHostnames = []; public string $indexPage = 'index.php'; public string $uriProtocol = 'REQUEST_URI'; public string $permittedURIChars = 'a-z 0-9~%.:_\\-'; public string $defaultLocale = 'en'; public bool $negotiateLocale = FALSE; public array $supportedLocales = [0 => 'en']; public string $appTimezone = 'UTC'; public string $charset = 'UTF-8'; public bool $forceGlobalSecureRequests = FALSE; public array $proxyIPs = []; public bool $CSPEnabled = FALSE }, $host = NULL, $scheme = NULL) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php:102
0.0897 5443776 19. CodeIgniter\HTTP\SiteURI->normalizeBaseURL($configApp = class Config\App { public string $baseURL = 'http://./'; public array $allowedHostnames = []; public string $indexPage = 'index.php'; public string $uriProtocol = 'REQUEST_URI'; public string $permittedURIChars = 'a-z 0-9~%.:_\\-'; public string $defaultLocale = 'en'; public bool $negotiateLocale = FALSE; public array $supportedLocales = [0 => 'en']; public string $appTimezone = 'UTC'; public string $charset = 'UTF-8'; public bool $forceGlobalSecureRequests = FALSE; public array $proxyIPs = []; public bool $CSPEnabled = FALSE }) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php:147
PHP Fatal error: Uncaught CodeIgniter\Exceptions\ConfigException: Config\App::$baseURL "http://./" is not a valid URL. in /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php:201
Stack trace:
#0 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php(147): CodeIgniter\HTTP\SiteURI->normalizeBaseURL(Object(Config\App))
#1 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php(102): CodeIgniter\HTTP\SiteURI->determineBaseURL(Object(Config\App), NULL, NULL)
#2 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURIFactory.php(212): CodeIgniter\HTTP\SiteURI->__construct(Object(Config\App), '/', NULL)
#3 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURIFactory.php(42): CodeIgniter\HTTP\SiteURIFactory->createURIFromRoutePath('/')
#4 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(807): CodeIgniter\HTTP\SiteURIFactory->createFromGlobals()
#5 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(311): CodeIgniter\Config\Services::uri(NULL, false)
#6 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(250): CodeIgniter\Config\BaseService::__callStatic('uri', Array)
#7 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(800): CodeIgniter\Config\BaseService::getSharedInstance('uri', NULL)
#8 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(311): CodeIgniter\Config\Services::uri()
#9 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(201): CodeIgniter\Config\BaseService::__callStatic('uri', Array)
#10 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(568): CodeIgniter\Config\BaseService::get('uri')
#11 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(311): CodeIgniter\Config\Services::incomingrequest(Object(Config\App), false)
#12 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(526): CodeIgniter\Config\BaseService::__callStatic('incomingrequest', Array)
#13 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(311): CodeIgniter\Config\Services::request(NULL, false)
#14 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(250): CodeIgniter\Config\BaseService::__callStatic('request', Array)
#15 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(522): CodeIgniter\Config\BaseService::getSharedInstance('request', NULL)
#16 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(311): CodeIgniter\Config\Services::request()
#17 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Debug/Exceptions.php(129): CodeIgniter\Config\BaseService::__callStatic('request', Array)
#18 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Debug/Exceptions.php(252): CodeIgniter\Debug\Exceptions->exceptionHandler(Object(ErrorException))
#19 [internal function]: CodeIgniter\Debug\Exceptions->shutdownHandler()
#20 {main}
thrown in /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php on line 201
Fatal error: Uncaught CodeIgniter\Exceptions\ConfigException: Config\App::$baseURL "http://./" is not a valid URL. in /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php on line 201
CodeIgniter\Exceptions\ConfigException: Config\App::$baseURL "http://./" is not a valid URL. in /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php on line 201
Call Stack:
0.0880 5306512 1. CodeIgniter\Debug\Exceptions->exceptionHandler() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Debug/Exceptions.php:0
0.0880 5306512 2. CodeIgniter\Config\BaseService::__callStatic() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Debug/Exceptions.php:129
0.0881 5306888 3. CodeIgniter\Config\Services::request() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:320
0.0881 5306888 4. CodeIgniter\Config\BaseService::getSharedInstance() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php:522
0.0881 5307640 5. CodeIgniter\Config\BaseService::__callStatic() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:250
0.0881 5307640 6. CodeIgniter\Config\Services::request() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:311
0.0881 5308016 7. CodeIgniter\Config\BaseService::__callStatic() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php:526
0.0881 5308712 8. CodeIgniter\Config\Services::incomingrequest() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:320
0.0891 5409376 9. CodeIgniter\Config\BaseService::get() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php:568
0.0891 5409376 10. CodeIgniter\Config\BaseService::__callStatic() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:201
0.0892 5409752 11. CodeIgniter\Config\Services::uri() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:320
0.0892 5409752 12. CodeIgniter\Config\BaseService::getSharedInstance() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php:800
0.0892 5410504 13. CodeIgniter\Config\BaseService::__callStatic() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:250
0.0892 5410504 14. CodeIgniter\Config\Services::uri() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:311
0.0897 5443392 15. CodeIgniter\HTTP\SiteURIFactory->createFromGlobals() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php:807
0.0897 5443392 16. CodeIgniter\HTTP\SiteURIFactory->createURIFromRoutePath() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURIFactory.php:42
0.0897 5443776 17. CodeIgniter\HTTP\SiteURI->__construct() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURIFactory.php:212
0.0897 5443776 18. CodeIgniter\HTTP\SiteURI->determineBaseURL() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php:102
0.0897 5443776 19. CodeIgniter\HTTP\SiteURI->normalizeBaseURL() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php:147
-
xsPurX Junior Member
 
-
Posts: 27
Threads: 9
Joined: Oct 2023
Reputation:
0
05-07-2024, 06:37 AM
(This post was last modified: 05-07-2024, 06:53 AM by xsPurX.)
(05-07-2024, 01:50 AM)kenjis Wrote: Your code does not work with spark due to a PHP Fatal error.
> PHP Fatal error: Uncaught CodeIgniter\Exceptions\ConfigException: Config\App::$baseURL "http://./" is not a valid URL.
Code: $ php spark serve
PHP Warning: Undefined array key "HTTP_HOST" in /Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/Constants.php on line 96
PHP Stack trace:
PHP 1. {main}() /Users/kenji/work/codeigniter/official/CodeIgniter4/spark:0
PHP 2. CodeIgniter\Boot::bootSpark($paths = class Config\Paths { public string $systemDirectory = '/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/../../system'; public string $appDirectory = '/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/..'; public string $writableDirectory = '/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/../../writable'; public string $testsDirectory = '/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/../../tests'; public string $viewDirectory = '/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/../Views' }) /Users/kenji/work/codeigniter/official/CodeIgniter4/spark:84
PHP 3. CodeIgniter\Boot::loadConstants() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Boot.php:87
PHP 4. require_once() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Boot.php:210
Warning: Undefined array key "HTTP_HOST" in /Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/Constants.php on line 96
Call Stack:
0.0006 399456 1. {main}() /Users/kenji/work/codeigniter/official/CodeIgniter4/spark:0
0.0017 450136 2. CodeIgniter\Boot::bootSpark($paths = class Config\Paths { public string $systemDirectory = '/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/../../system'; public string $appDirectory = '/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/..'; public string $writableDirectory = '/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/../../writable'; public string $testsDirectory = '/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/../../tests'; public string $viewDirectory = '/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/../Views' }) /Users/kenji/work/codeigniter/official/CodeIgniter4/spark:84
0.0018 450720 3. CodeIgniter\Boot::loadConstants() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Boot.php:87
0.0020 465496 4. require_once('/Users/kenji/work/codeigniter/official/CodeIgniter4/app/Config/Constants.php') /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Boot.php:210
CodeIgniter v4.5.1 Command Line Tool - Server Time: 2024-05-07 08:45:47 UTC+00:00
PHP Fatal error: Uncaught CodeIgniter\Exceptions\ConfigException: Config\App::$baseURL "http://./" is not a valid URL. in /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php:201
Stack trace:
#0 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php(147): CodeIgniter\HTTP\SiteURI->normalizeBaseURL(Object(Config\App))
#1 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php(102): CodeIgniter\HTTP\SiteURI->determineBaseURL(Object(Config\App), NULL, NULL)
#2 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURIFactory.php(212): CodeIgniter\HTTP\SiteURI->__construct(Object(Config\App), '/', NULL)
#3 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURIFactory.php(42): CodeIgniter\HTTP\SiteURIFactory->createURIFromRoutePath('/')
#4 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(807): CodeIgniter\HTTP\SiteURIFactory->createFromGlobals()
#5 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(311): CodeIgniter\Config\Services::uri(NULL, false)
#6 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(250): CodeIgniter\Config\BaseService::__callStatic('uri', Array)
#7 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(800): CodeIgniter\Config\BaseService::getSharedInstance('uri', NULL)
#8 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(320): CodeIgniter\Config\Services::uri()
#9 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(201): CodeIgniter\Config\BaseService::__callStatic('uri', Array)
#10 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(568): CodeIgniter\Config\BaseService::get('uri')
#11 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(320): CodeIgniter\Config\Services::incomingrequest(Object(Config\App), false)
#12 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(526): CodeIgniter\Config\BaseService::__callStatic('incomingrequest', Array)
#13 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(311): CodeIgniter\Config\Services::request(NULL, false)
#14 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(250): CodeIgniter\Config\BaseService::__callStatic('request', Array)
#15 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(522): CodeIgniter\Config\BaseService::getSharedInstance('request', NULL)
#16 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(320): CodeIgniter\Config\Services::request()
#17 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Debug/Exceptions.php(129): CodeIgniter\Config\BaseService::__callStatic('request', Array)
#18 [internal function]: CodeIgniter\Debug\Exceptions->exceptionHandler(Object(CodeIgniter\Exceptions\ConfigException))
#19 {main}
thrown in /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php on line 201
Fatal error: Uncaught CodeIgniter\Exceptions\ConfigException: Config\App::$baseURL "http://./" is not a valid URL. in /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php on line 201
CodeIgniter\Exceptions\ConfigException: Config\App::$baseURL "http://./" is not a valid URL. in /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php on line 201
Call Stack:
0.0880 5306512 1. CodeIgniter\Debug\Exceptions->exceptionHandler($exception = class CodeIgniter\Exceptions\ConfigException { protected $message = 'Config\\App::$baseURL "http://./" is not a valid URL.'; private string ${Error}string = ''; protected $code = 0; protected string $file = '/Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php'; protected int $line = 201; private array ${Error}trace = [0 => [...], 1 => [...], 2 => [...], 3 => [...], 4 => [...], 5 => [...], 6 => [...], 7 => [...], 8 => [...], 9 => [...], 10 => [...], 11 => [...], 12 => [...], 13 => [...]]; private ?Throwable ${Error}previous = NULL }) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Debug/Exceptions.php:0
0.0880 5306512 2. CodeIgniter\Config\BaseService::__callStatic($name = 'request', $arguments = []) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Debug/Exceptions.php:129
0.0881 5306888 3. CodeIgniter\Config\Services::request($config = ???, $getShared = ???) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:320
0.0881 5306888 4. CodeIgniter\Config\BaseService::getSharedInstance($key = 'request', ...$params = variadic(NULL)) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php:522
0.0881 5307640 5. CodeIgniter\Config\BaseService::__callStatic($name = 'request', $arguments = [0 => NULL, 1 => FALSE]) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:250
0.0881 5307640 6. CodeIgniter\Config\Services::request($config = NULL, $getShared = FALSE) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:311
0.0881 5308016 7. CodeIgniter\Config\BaseService::__callStatic($name = 'incomingrequest', $arguments = [0 => NULL, 1 => FALSE]) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php:526
0.0881 5308712 8. CodeIgniter\Config\Services::incomingrequest($config = NULL, $getShared = FALSE) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:320
0.0891 5409376 9. CodeIgniter\Config\BaseService::get($key = 'uri') /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php:568
0.0891 5409376 10. CodeIgniter\Config\BaseService::__callStatic($name = 'uri', $arguments = []) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:201
0.0892 5409752 11. CodeIgniter\Config\Services::uri($uri = ???, $getShared = ???) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:320
0.0892 5409752 12. CodeIgniter\Config\BaseService::getSharedInstance($key = 'uri', ...$params = variadic(NULL)) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php:800
0.0892 5410504 13. CodeIgniter\Config\BaseService::__callStatic($name = 'uri', $arguments = [0 => NULL, 1 => FALSE]) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:250
0.0892 5410504 14. CodeIgniter\Config\Services::uri($uri = NULL, $getShared = FALSE) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:311
0.0897 5443392 15. CodeIgniter\HTTP\SiteURIFactory->createFromGlobals() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php:807
0.0897 5443392 16. CodeIgniter\HTTP\SiteURIFactory->createURIFromRoutePath($routePath = '/') /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURIFactory.php:42
0.0897 5443776 17. CodeIgniter\HTTP\SiteURI->__construct($configApp = class Config\App { public string $baseURL = 'http://./'; public array $allowedHostnames = []; public string $indexPage = 'index.php'; public string $uriProtocol = 'REQUEST_URI'; public string $permittedURIChars = 'a-z 0-9~%.:_\\-'; public string $defaultLocale = 'en'; public bool $negotiateLocale = FALSE; public array $supportedLocales = [0 => 'en']; public string $appTimezone = 'UTC'; public string $charset = 'UTF-8'; public bool $forceGlobalSecureRequests = FALSE; public array $proxyIPs = []; public bool $CSPEnabled = FALSE }, $relativePath = '/', $host = NULL, $scheme = ???) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURIFactory.php:212
0.0897 5443776 18. CodeIgniter\HTTP\SiteURI->determineBaseURL($configApp = class Config\App { public string $baseURL = 'http://./'; public array $allowedHostnames = []; public string $indexPage = 'index.php'; public string $uriProtocol = 'REQUEST_URI'; public string $permittedURIChars = 'a-z 0-9~%.:_\\-'; public string $defaultLocale = 'en'; public bool $negotiateLocale = FALSE; public array $supportedLocales = [0 => 'en']; public string $appTimezone = 'UTC'; public string $charset = 'UTF-8'; public bool $forceGlobalSecureRequests = FALSE; public array $proxyIPs = []; public bool $CSPEnabled = FALSE }, $host = NULL, $scheme = NULL) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php:102
0.0897 5443776 19. CodeIgniter\HTTP\SiteURI->normalizeBaseURL($configApp = class Config\App { public string $baseURL = 'http://./'; public array $allowedHostnames = []; public string $indexPage = 'index.php'; public string $uriProtocol = 'REQUEST_URI'; public string $permittedURIChars = 'a-z 0-9~%.:_\\-'; public string $defaultLocale = 'en'; public bool $negotiateLocale = FALSE; public array $supportedLocales = [0 => 'en']; public string $appTimezone = 'UTC'; public string $charset = 'UTF-8'; public bool $forceGlobalSecureRequests = FALSE; public array $proxyIPs = []; public bool $CSPEnabled = FALSE }) /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php:147
PHP Fatal error: Uncaught CodeIgniter\Exceptions\ConfigException: Config\App::$baseURL "http://./" is not a valid URL. in /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php:201
Stack trace:
#0 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php(147): CodeIgniter\HTTP\SiteURI->normalizeBaseURL(Object(Config\App))
#1 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php(102): CodeIgniter\HTTP\SiteURI->determineBaseURL(Object(Config\App), NULL, NULL)
#2 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURIFactory.php(212): CodeIgniter\HTTP\SiteURI->__construct(Object(Config\App), '/', NULL)
#3 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURIFactory.php(42): CodeIgniter\HTTP\SiteURIFactory->createURIFromRoutePath('/')
#4 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(807): CodeIgniter\HTTP\SiteURIFactory->createFromGlobals()
#5 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(311): CodeIgniter\Config\Services::uri(NULL, false)
#6 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(250): CodeIgniter\Config\BaseService::__callStatic('uri', Array)
#7 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(800): CodeIgniter\Config\BaseService::getSharedInstance('uri', NULL)
#8 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(311): CodeIgniter\Config\Services::uri()
#9 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(201): CodeIgniter\Config\BaseService::__callStatic('uri', Array)
#10 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(568): CodeIgniter\Config\BaseService::get('uri')
#11 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(311): CodeIgniter\Config\Services::incomingrequest(Object(Config\App), false)
#12 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(526): CodeIgniter\Config\BaseService::__callStatic('incomingrequest', Array)
#13 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(311): CodeIgniter\Config\Services::request(NULL, false)
#14 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(250): CodeIgniter\Config\BaseService::__callStatic('request', Array)
#15 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php(522): CodeIgniter\Config\BaseService::getSharedInstance('request', NULL)
#16 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php(311): CodeIgniter\Config\Services::request()
#17 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Debug/Exceptions.php(129): CodeIgniter\Config\BaseService::__callStatic('request', Array)
#18 /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Debug/Exceptions.php(252): CodeIgniter\Debug\Exceptions->exceptionHandler(Object(ErrorException))
#19 [internal function]: CodeIgniter\Debug\Exceptions->shutdownHandler()
#20 {main}
thrown in /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php on line 201
Fatal error: Uncaught CodeIgniter\Exceptions\ConfigException: Config\App::$baseURL "http://./" is not a valid URL. in /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php on line 201
CodeIgniter\Exceptions\ConfigException: Config\App::$baseURL "http://./" is not a valid URL. in /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php on line 201
Call Stack:
0.0880 5306512 1. CodeIgniter\Debug\Exceptions->exceptionHandler() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Debug/Exceptions.php:0
0.0880 5306512 2. CodeIgniter\Config\BaseService::__callStatic() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Debug/Exceptions.php:129
0.0881 5306888 3. CodeIgniter\Config\Services::request() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:320
0.0881 5306888 4. CodeIgniter\Config\BaseService::getSharedInstance() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php:522
0.0881 5307640 5. CodeIgniter\Config\BaseService::__callStatic() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:250
0.0881 5307640 6. CodeIgniter\Config\Services::request() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:311
0.0881 5308016 7. CodeIgniter\Config\BaseService::__callStatic() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php:526
0.0881 5308712 8. CodeIgniter\Config\Services::incomingrequest() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:320
0.0891 5409376 9. CodeIgniter\Config\BaseService::get() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php:568
0.0891 5409376 10. CodeIgniter\Config\BaseService::__callStatic() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:201
0.0892 5409752 11. CodeIgniter\Config\Services::uri() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:320
0.0892 5409752 12. CodeIgniter\Config\BaseService::getSharedInstance() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php:800
0.0892 5410504 13. CodeIgniter\Config\BaseService::__callStatic() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:250
0.0892 5410504 14. CodeIgniter\Config\Services::uri() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/BaseService.php:311
0.0897 5443392 15. CodeIgniter\HTTP\SiteURIFactory->createFromGlobals() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/Config/Services.php:807
0.0897 5443392 16. CodeIgniter\HTTP\SiteURIFactory->createURIFromRoutePath() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURIFactory.php:42
0.0897 5443776 17. CodeIgniter\HTTP\SiteURI->__construct() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURIFactory.php:212
0.0897 5443776 18. CodeIgniter\HTTP\SiteURI->determineBaseURL() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php:102
0.0897 5443776 19. CodeIgniter\HTTP\SiteURI->normalizeBaseURL() /Users/kenji/work/codeigniter/official/CodeIgniter4/system/HTTP/SiteURI.php:147
Ah okay So I changed the code to this, don't know if there is a more elegant way to do this? lol Thanks for your help
Code: <?php
if(isset($_SERVER['HTTP_HOST']))
{
$httphost = $_SERVER['HTTP_HOST'];
}
else
{
$httphost = 'localhost:8080';
}
$base_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' ? 'https://' : 'http://') . $httphost . dirname($_SERVER['SCRIPT_NAME']) . (substr(dirname($_SERVER['SCRIPT_NAME']), -1) == '/' ? '' : '/');
defined('BASE_URL') || define('BASE_URL', $base_url);
-
kenjis Administrator
      
-
Posts: 3,671
Threads: 96
Joined: Oct 2014
Reputation:
231
An attacker can send any host name.
So the value of $_SERVER['HTTP_HOST'] can be anything.
So you should check the value is your server's host name.
But if your web sever is configured as it does not execute CI4 when undefined host name comes,
your site is not vulnerable.
PHP Code: <?php
namespace App\Controllers;
class Home extends BaseController { public function index(): string { return $_SERVER['HTTP_HOST']; } }
Request:
Code: $ telnet 127.0.0.1 8080
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET / HTTP/1.1
Host: developer.mozilla.org
Accept-Language: fr
Response:
Code: HTTP/1.1 200 OK
Host: developer.mozilla.org
Date: Thu, 09 May 2024 22:55:40 GMT
Connection: close
X-Powered-By: PHP/8.2.18
Cache-Control: no-store, max-age=0, no-cache
Content-Type: text/html; charset=UTF-8
developer.mozilla.org
-
mylastof Junior Member
 
-
Posts: 42
Threads: 17
Joined: Apr 2015
Reputation:
1
this works for me
PHP Code: $HTTPHOST = 'http://localhost:' . (PHP_SAPI === 'cli' ? '8080' : $_SERVER['SERVER_PORT']));
if (! empty($_SERVER['HTTP_HOST'])) { $HTTPHOST = $_SERVER['HTTP_HOST']; }
$BASEURL = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' ? 'https://' : 'http://') . $HTTPHOST;
defined('BASE_URL') || define('BASE_URL', $BASEURL);
|