如何在CodeIgniter 3.0.3中获取带端口号的基本URL

3

我目前正在使用codeigniter 3.0.3。我尝试使用var_dump(base_url());函数获取基本URL。
我得到的结果是:

字符串 'http://localhost/' (长度=17)

但我需要获取带端口号的基本URL。在codeigniter 3.0.2中,我可以这样做:

字符串 'http://localhost:8000'

如何在codeigniter 3.0.3中获取带端口号的基本URL。


2
设置 $config['base_url'] = 'http://localhost:8000/'; - Narf
3个回答

5
在config.php中设置base_url,如下所示:

$config['base_url'] = 'http://'. $_SERVER['HTTP_HOST'].'/';

这将使您的网站具有正确的URL路径。

但是当我像往常一样打开它时,localhost/projectname却无法工作! - Hana90

1
您可以从基本网址中删除尾部斜杠,并添加当前请求的端口号,如下所示:
$trimmedBaseUrl = rtrim(base_url(), '/');
$serverPort = $_SERVER['SERVER_PORT'];
$newBaseUrl = "$trimmedBaseUrl:$serverPort/";

var_dump($newBaseUrl);

1
我认为应该将代码修改为 $trimmedBaseUrl = rtrim(base_url(), '/');,而不是 $trimmedBaseUrl = rtrim('/', base_url());。参考:rtrim - Yaroslav Fedoruk

-1

你可以像这样做

var_dump(base_url().$_SERVER['SERVER_PORT']);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接