【问题标题】:Having a folder path issue migrating to a new PHP server. folder/../folder2迁移到新的 PHP 服务器时出现文件夹路径问题。文件夹/../文件夹2
【发布时间】:2016-10-17 08:01:42
【问题描述】:

我安装了一个名为 Homestead 的 Vagrant box,并试图运行我的应用程序。

在本地,我在 Windows 机器上使用 PHP 7.0.9

盒子在 linux (Ubuntu) 机器上使用 PHP 7.0.8

问题:

我正在使用带有 HMVC 的 Codeigniter,它执行以下操作: application/controllers/../modules

这在我的机器上转换为 application/modules,但在 vagrant box 中保持不变。

我是否可以更改设置以使其也可以在 Vagrant 框中工作?

【问题讨论】:

    标签: php linux codeigniter


    【解决方案1】:

    解决办法:

    • 简单:创建一个文件夹application/controllers 有一个文件,所以git会保存它
    • 很难(也是一个糟糕的解决方案):在 CI 核心中,在第 400 行附近,添加以下代码:(解析路径并删除 ../

    function resolve_path($path) {
        $stack = [];
        foreach (explode('/', $path) as $segment)
            if ($segment == "..")
                array_pop($stack); else
                $stack[] = $segment;
        return implode('/', $stack);
    }
    
    $controller_path = resolve_path(APPPATH . 'controllers/' . $RTR->directory . $class . '.php');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-27
      • 1970-01-01
      • 1970-01-01
      • 2019-12-28
      • 1970-01-01
      • 1970-01-01
      • 2018-12-17
      • 1970-01-01
      相关资源
      最近更新 更多