我从Yii2开始,已经安装了XAMPP,在Yii2项目模板的帮助下创建了一个名为'yiidemo'的基本项目。然后通过此网址http://localhost:8080/yiidemo/web/index.php?r=gii访问Gii以生成示例控制器“问候语”,但是当我点击“尝试”链接时,它会显示以下错误消息(网址为http://localhost:8080/yiidemo/web/index.php?r=greeting):
未找到(#404)
这是controllers \ greetingController的代码:
<?php
namespace app\controllers;
class greetingController extends \yii\web\Controller
{
public function actionIndex()
{
return $this->render('views/index');
}
}
这是views \ greeting \ index.php代码:
<?php
/* @var $this yii\web\View */
?>
<h1>greeting/index</h1>
<p>
You may change the content of this page by modifying
the file <code><?= __FILE__; ?></code>.
</p>
任何机构都可以建议如何使用Yii2 hello world示例。
答案 0 :(得分:5)
控制器需要全部为CamelCase并以大写字母开头。所以在你的情况下,GreetingController
(类和文件)。
在你的行动中使用:
return $this->render('index');
详细了解如何使用此方法here。
答案 1 :(得分:0)
检查文件是否保存为GreetingsController.php而不仅仅是GreetingsController(没有.php) 虽然这不是你犯的错误,但它仍会产生相同的错误信息。
答案 2 :(得分:0)
检查您的apache配置文件,并确保网站目录是否允许覆盖
您可以在ubuntu系统中找到配置文件
sudo nano /etc/apache2/sites-enabled/000-default.conf
很少有Linux系统具有配置文件
sudo nano /etc/httpd/conf/httpd.conf
只需检查您的配置文件并替换 使用AllowOverride All
例如
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
保存文件更改后,只需重新启动Apache服务器