首页  >  问答  >  正文

parse_url 和不同协议的奇怪行为

我试图使用 parse_url 来解码 DSN 并发现一个奇怪的行为。 以下是 DSN 示例:

parse_url('redis://localhost'); //Correctly parses
parse_url('file:///var/sessions'); //Correctly parses
parse_url('redis:///var/run/redis.sock'); //Parse error
parse_url('file:///var/run/redis.sock'); //Correctly parses

看起来它无法解析没有主机的 url,但对 file 方案例外。

我是不是漏掉了什么?

有没有办法禁用这种行为?

P粉771233336P粉771233336268 天前549

全部回复(1)我来回复

  • P粉512526720

    P粉5125267202024-02-18 16:56:03

    parse_url() 的手册提到您不能对 URI 使用此函数。具体来说,当您的方案有三重斜杠时,它被定义为“无效”,并且此函数返回 false

    回复
    0
  • 取消回复