V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lshero
V2EX  ›  PHP

为何 Joomla!默认不支持自定义数据库端口?

  •  
  •   lshero · 2015-07-10 15:33:09 +08:00 · 2176 次点击
    这是一个创建于 3424 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Joomla!安装的时候可以选择使用Postgresql作为Driver的时候发现居然没有填写数据库端口的选项
    打开Driver的时候发现构造dsn里面果然没有定义端口



    作为一款成熟的开源程序对这种偷懒的设计表示理解不能,难道是我使用的姿势有误嘛?
    8 条回复    2015-07-12 15:49:47 +08:00
    oott123
        1
    oott123  
       2015-07-11 11:01:02 +08:00 via Android
    host=127.0.0.1:12345
    不行吗?
    lshero
        2
    lshero  
    OP
       2015-07-11 20:04:47 +08:00
    @oott123 貌似用pg_connect的时候确实需要在DSN中单独指定端口
    http://www.php.net/manual/zh/function.pg-connect.php
    所以最后手动修改了一下构造DSN的方法
    oott123
        3
    oott123  
       2015-07-12 11:06:23 +08:00
    看了下
    你可以 host="127.0.0.1 port=12345" 呀 23333
    lshero
        4
    lshero  
    OP
       2015-07-12 11:20:53 +08:00
    @oott123 是啊但是安装的UI那块只有填写Host的地方没有写端口所以需要自己去修改一下构造dsn的方法让dsn有port,现在就害怕万一到时候程序一更新然后无脑的覆盖文件了,只是好奇这些程序真心部署的时候都没有遇到非默认端口的情况嘛
    oott123
        5
    oott123  
       2015-07-12 11:31:47 +08:00
    @lshero 我的意思是,你填写的 host 可以是 "127.0.0.1 port=12345" 不就能构造出一个合理的 dsn 了么?
    lshero
        6
    lshero  
    OP
       2015-07-12 11:39:55 +08:00
    @oott123 咱讨论的不是pg_connect怎么使用而是为何joomla默认不支持其他数据库端口
    你看一下 默认的 libraries\joomla\database\driver\postgresql.php 如果不做修改压根就没有port这回事
    但是修改以后如果以后不注意的话一升级没准就覆盖了
    oott123
        7
    oott123  
       2015-07-12 15:43:25 +08:00   ❤️ 1
    @lshero 我看了,并且我说的也是 joomla 默认如何支持其他端口,请再仔细的看一遍我的回复:
    请阅读 joomla 的这句代码: $dsn.="host={$this->options[host]}"
    那么,我在安装的时候,在 host 这个表单中,填入:"127.0.0.1 port=12345"(不包括引号)
    那么,$this->options["host"] 这个变量,将变为 "127.0.0.1 port=12345"
    那么,最后 joomla 构造的 dsn 将会变为:"host=127.0.0.1 port=12345"
    这不就达到目的了吗?
    lshero
        8
    lshero  
    OP
       2015-07-12 15:49:47 +08:00
    @oott123 好机智
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   923 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:30 · PVG 05:30 · LAX 13:30 · JFK 16:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.