为什么我无法在AngularJS上创建会话,php& MySQL的?

时间:2018-05-29 02:19:46

标签: php mysql angularjs

我正在使用AngularJSphpMySQL登录系统。我正在关注this tutorial使用AngularJS创建php用户注册和登录身份验证MySQL。当我把它置于“实时”时,我收到以下错误消息:

  

无法加载资源:服务器响应状态为404   (未找到)angularlogin / files / functions / session:1无法加载   资源:

我已经检查了我的phpinfo会话,该会话已启用。有什么问题?

1 个答案:

答案 0 :(得分:1)

不是明确的答案(评论太有限),但是我将你链接到的项目分拆出来,我得到了几乎相同的错误:

angular.min.js:77 GET ... / files / functions / session 500(内部服务器错误)

但是500,而不是404,所以你可能需要给我们更多的信息。 404(找不到文件)可能意味着您忘记复制某些文件?

反正:

  1. 您可以随时查看服务器日志,我得到了ErrorException: mysqli::__construct(): (HY000/1049): Unknown database 'angularjs_login'。如果这是您的问题,您只是忘记在服务器上创建数据库。

  2. 在开发过程中,不要使用生产angularjs(angular.min.js),而是使用非缩小版本(angular.js),因为您将获得更好的错误消息!

  3. 在浏览器dev-tools中打开网络选项卡(按F12),单击未选中时标记为红色的失败请求(会话),如果您的php设置允许,您可以看到错误直接在预览选项卡下。 enter image description here

  4. 如果您确定已经复制了所有文件,那么这是一个合格的猜测:

    您的网络服务器未配置为超薄。这需要所有请求通过主index.php,在您的情况下files/functions/index.php。如果有请求说files/functions/session(不存在),则Web服务器会将该请求重定向到index.php,该请求会对请求进行排序并将其传递到正确的位置。

    如果请求没有通过index.php,那么您将收到404错误。

    Slim solves通过使用.htaccess文件来完成此操作。 files/functions/.htaccess。在Windows上它可能是一个隐藏文件,这可能是你错过它的原因。

    或者,您的网络服务器已配置为不关心.htaccess文件,那么您必须更改您的网络服务器设置。

    或者,您有一个完全不使用.htaccess文件的网络服务器(如nginx),那么您必须找到另一种方法来重定向这些请求。我建议你看一下https://www.slimframework.com/docs/v3/start/web-servers.html

    我们确切知道的信息太少,但我认为上述情况似乎有点可能。