laravel - 从 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
但我不知道该怎么做。
解决方案
首先,您应该只使用其中一个。即使您设法将请求发送到,那么您必须在“Auth bridge”之后code igniter
将其发送回?laravel
laravel 将如何识别身份验证?
无论如何,回到你的问题。一种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));
其他解决方案需要精心设计.htaccess
或nginx/apache config file
将请求重定向到正确的 php 文件。
推荐阅读
- java-8 - 为什么第一次调用并行流的执行时间比下一次大得多
- flutter - 在一行中居中文本 (Flutter)
- express - 有没有办法实现 express.js 的速率限制?
- python - pySpark Reduce 抛出 Py4JJavaError
- listview - 使用文本框中的按钮在 uwp 中填充列表视图
- spring - 使用 Spring Boot 下载大文件时出现 ClientAbortException
- c# - 将反序列化为接口的对象转换回其原始类型
- python - 在 Python 中计算矩阵的 3 范数
- python - 希望优化网格搜索以获得最佳参数
- python - 如果函数在不应该执行时执行