我試著使用 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
方案例外。
我是不是漏掉了什麼?
有沒有辦法禁用這種行為?
parse_url()
的手冊提到您不能對 URI 使用此函數。具體來說,當您的方案有三重斜線時,它被定義為“無效”,並且此函數返回false
: