1

我检查了控制器名称和方法名称,但仍然显示“在此服务器上找不到请求的 URL。如果您手动输入了 URL,请检查您的拼写并重试。”

我已经尝试了下面给出的这个 url 并得到了这个错误:

http://localhost/framework/index.php/helloworld
http://localhost/framework/helloworld/index

Controller名称下的文件是:Helloworld.php

<?php namespace App\Controllers;
use CodeIgniter\Controller;
class Helloworld extends CI_Controller
{
public function index()
{
echo 'Hello World!';
}

在此处输入图像描述

4

4 回答 4

3

改变

class Helloworld extends CI_Controller

class Helloworld extends Controller

在 CI4 CI_Controller 中重命名为 Controller

于 2020-04-13T13:12:19.237 回答
1

如果您在不使用 htaccess 的情况下尝试 Codeigniter 4,您应该调用

http://localhost/framework/public/helloworld

或者您应该使用此命令运行 C​​odeigniter

php spark serve 

之后去浏览器检查http://localhost:8080

您应该从这里学习 codeigniter 4 的基础知识 How to Use codeigniter 4

希望这可以帮助

于 2020-04-13T10:07:26.507 回答
0

请在执行以下更改后尝试 -

  • 删除使用声明。
  • 扩展 BaseController 作为 CI_Controller 在 CI4 中不可用。
  • 返回您想在屏幕上显示的内容。

    <?php namespace App\Controllers;
    
     class Helloworld extends BaseController {
       public function index() {
           return 'Hello World!';
       }
     }
    
于 2020-04-13T13:22:50.927 回答
0

在大多数评论中,都指出您所要做的就是将您的CI_Controller重命名为简单的 ole Controller(根据 CI 4 用户指南)以及您在“使用”中声明的内容。

所以你会有

<?php namespace App\Controllers;

use CodeIgniter\Controller; // This is what you are "use"ing

class Helloworld extends Controller {  // And this is where you are "use"ing it
    public function index() {
        echo 'Hello World!';
    }
}

看到不同?

于 2020-04-14T09:49:29.827 回答