首页 > 解决方案 > 从 Laravel 应用程序读取 Codeigniter 外部文件夹

问题描述

我在 Codeigniter 中有一个非常庞大的旧客户项目,我需要将其迁移到 Laravel 而无需全部编写。

我不能从头开始写它(即使我真的很喜欢),因为它非常大并且仍在使用中,所以我的解决方案是创建一个从 Codeigniter 到 Laravel 的 Auth“桥梁”。

基本上我需要保持 Codeigniter 应用程序运行,所有旧的东西都将从那里读取,而所有新的逻辑都将在 Laravel 中实现。

我的想法是将 Codeigniter 应用程序ci放在我的根文件夹项目内的文件夹中:

laravelnewsite/ci

我唯一想做的就是只在ci文件夹中跳过 Laravel 路由。

目前,如果我只是导航到laravelnewsite.test/ci不起作用并返回 Laravel-404 错误,即使我将它移到public/或移到storage/app/public/ci(带有符号链接)我仍然无法阅读它。

我认为是对文件夹进行例外处理的问题,ci但我不知道该怎么做。

标签: laravelcodeigniter

解决方案


首先,您应该只使用其中一个。即使您设法将请求发送到,那么您必须在“Auth bridge”之后code igniter将其发送回?laravellaravel 将如何识别身份验证?

无论如何,回到你的问题。一种PHP解决方案是将index.php代码点火器index.php文件包含在 laravel 文件中,然后退出。(请求的结构可能不是 CI 的正确结构,请检查 .htaccess)

public/index.php

<?php

if ({condition}) {
    require_once({{codeigniter.index.php}});
    die();
}

/**
 * Laravel - A PHP Framework For Web Artisans
 *
 * @package  Laravel
 * @author   Taylor Otwell <taylor@laravel.com>
 */

define('LARAVEL_START', microtime(true));

其他解决方案需要精心设计.htaccessnginx/apache config file将请求重定向到正确的 php 文件。


推荐阅读