php - parse_url 在调试时将主机名作为星号(但仍然可以获得值)

标签 php cakephp

使用 PHP 5.5.12

使用 CakePHP 2.6.7

正在运行

debug($url); // output = "http://google.co.uk"

debug(parse_url($url));
/* output = array(
                'host' => '*****',
                'scheme' => 'http'
            )
*/

我一直在毫无问题地使用它,但现在复制/粘贴我的代码的一部分以将其作为方法(以节省重复)已经开始给我这个输出。但是在我最初的同一个地方测试它也给了我这个输出。

任何人都可以解释为什么主机名是星星以及为什么数组的其余部分没有出现(我意识到所有其他元素应该为 NULL)?

编辑

刚刚再次尝试使用一个 URL,该 URL 具有指向主机之后的页面的路径。路径显示正常,但主机仍被加星标。

部分答案

只是想尝试 debug(parse_url($url)['host']) 它会正确打印主机。我意识到其他元素只有在 url 中存在时才会被设置。

但是,谁能解释为什么打印数组会打印几个星而不是主机名,即使它肯定存储在那里?

最佳答案

发生这种情况的原因是 debug() 的工作方式。很多个月前,人们对他们可能意外地将数据库凭据转储到错误页面(使用与 debug() 相同的底层代码)感到不满。因此,debug() 和 Debugger::export() 将一组可能具有数据库凭据的数组键列入黑名单。以下键被替换为***:

  • 密码
  • 登录
  • 主持人
  • 数据库
  • 端口
  • 前缀
  • 架构

关于php - parse_url 在调试时将主机名作为星号(但仍然可以获得值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31327066/

相关文章:

PHP oci_connect() TNS :could not resolve the connect identifier (ORA-12154)

php - 如何保护数据库服务器?

postgresql - cakephp 3 postgres 9.4 驱动程序烘焙

.htaccess - 在 Cakephp 2.0 中使用 .htaccess 进行 URL 重定向

php - CakePHP 约定名称或连接的名称

php - 计算 5 天移动平均线 - 如果日期之间存在差距,则将值设置为 0。

php - MySQL IN 语句的 PDO 绑定(bind)值

php - CakePHP 查询 - 复杂的 AND/OR 条件

php - 如何使用 CakePHP3 ORM 获取字符串格式的 where 子句?

php - Auth::check() 不持久 Laravel 5.2