本人新手一枚,在linux服务器上自配环境安装FECMALL2.3.3, 初步Init顺利完成,但是界面安装提交Mysql配置时,鼠标点击“提交”按钮,出现404错误信息:OPPS! 404 We Couldn’t Find this Page。如何解决这一问题?请大神指导!!!
访问的是install.php
是的,访问的是install.php,之后填写Mysql数据库配置信息提交,然后出现404错误,是没有controller来处理提交的post数据还是其它原因?调试了该问题好几天,由于对程序的框架和细节不是很了解,所以不知道引起问题的原因,故请教大神!
@xxyyzz [#2楼](#comment2) 看一下报错的url,是否还是install.php,将报错截图,请给与尽量多的信息
有能力自己debug一下代码,本地无法重现,信息提供太少,帮不上忙
install.php: 执行如下语句:
require(__DIR__ . '/../config/bootstrap.php');
其中bootstrap.php:
if (is_array($argv)) { foreach ($argv as $av) {
bootstrap.php出现第一个异常: 出现异常。 Notice: Undefined variable: argv
出现异常。 Notice: Undefined variable: argv
yii\web\User->init (\usr\local\fecmall\fecshop\vendor\yiisoft\yii2\web\User.php:163)
{main} (\usr\local\fecmall\fecshop\appfront\web\install.php:20)
出现第二个异常: 出现异常。 yii\base\InvalidConfigException: User::identityClass must be set.
出现异常。 yii\base\InvalidConfigException: User::identityClass must be set.
@appfront/web/install.php 的第一行代码
error_reporting(E_ALL & ~E_NOTICE & ~E_COMPILE_WARNING );
是不会因为一个变量没有定义,就报这个报错的。
你前面说执行mysql报错,后面又说这个一访问就报错,本人看不懂你的前后逻辑,自己排查下吧
终于找到原因,是因为Nginx配置问题,fcgi.conf配置中把fastcgi_param CONTENT_LENGTH $content_length写成了fastcgi_param CONTENT_lENGTH $content_length导致php-fpm接收不到post数据,从而使程序报404错误,这个错误排除之后浏览器又显示了一个500 Internal Server Error的错误,追查Nginx的access.log发现错误原因是"GET /install.php/database/config/migrate HTTP/1.1" 500 186 ,应该是Nginx的配置有问题吧?原因是什么?请大神耐心指导!!!
fastcgi_param CONTENT_LENGTH $content_length
fastcgi_param CONTENT_lENGTH $content_length
500 Internal Server Error
"GET /install.php/database/config/migrate HTTP/1.1" 500 186
@xxyyzz #6楼 http://www.fecmall.com/topic/2101 这说明nginx配置,这个帖子写的并没有问题。
@xxyyzz #6楼 您自己排查,方便的话,可以把root给我,我远程调试
qq:2358269014