douhuang75397 2018-04-01 20:28 采纳率: 0%
浏览 7
已采纳

在没有硬编码的情况下获取dev和prod的网站root

My dev server is http://localhost/mygreatapp and my production server is http://www.myawesomesite.com but maybe someday it will migrate to http://www.myawesomesite.com/mygreatapp

In these cases mygreatapp is a virtual directory.

I would like a php function to return the correct website roots without having to hard-code anything (e.g., mygreatapp), regardless if it's off the default website or a virtual directory. In either case, that's where all the relative paths to the files begins.

I have looked at the similar questions and not found a solution that does not involve hard-coding, which would then involve having to update the value for each environment, painful and error prone.

  • 写回答

1条回答 默认 最新

  • dongqiulei6805 2018-04-01 22:44
    关注

    This will get my by for now, but I'll need to adjust it if I go into a subfolder on a linux machine.

    public static function WebRoot(){
            $virtualdir = '';
            if(isset($_SERVER['APPL_MD_PATH'])){
                $virtualdir = substr($_SERVER['APPL_MD_PATH'], strpos($_SERVER['APPL_MD_PATH'], '/ROOT/') + strlen('/ROOT/'));
            }
            return 'https://'.$_SERVER['SERVER_NAME'].'/'.$virtualdir.'/';
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应