从Laravel应用读取Codeigniter外部文件夹

时间:2019-01-18 07:59:32

标签: laravel codeigniter

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

由于事实很大并且仍在使用中,所以我不能从头开始编写所有内容(即使我真的很喜欢),所以我的解决方案是创建一个从Codeigniter到Laravel的Auth“桥”。

>

基本上,我需要保持Codeigniter应用程序运行,并从那里读取所有旧内容,而所有新逻辑将在Laravel内部实现。

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

laravelnewsite/ci

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

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

我认为要为ci文件夹设置一个例外,但是我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

首先,您应该仅使用其中一个。 即使您设法将请求发送到code igniter,也必须在“验证桥”之后将其发送回laravel吗? laravel如何识别身份验证?

无论如何,回到您的问题。一种PHP解决方案是将代码点火器的index.php文件包含在laravel的index.php文件中,然后退出。 (请求的结构可能不适用于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文件。