【问题标题】:PIP framework, Not found errorPIP 框架,未找到错误
【发布时间】:2014-02-26 02:24:23
【问题描述】:

我的 PIP PHP 框架运行良好,然后我搞砸了:我不知道它是什么。基本上对于除了我的默认控制器之外的每个控制器,我都会收到 404 not found 错误。如果我将默认设置更改为不同的页面,新页面将正常工作,但其他页面不会。我似乎在日志中找不到任何信息。

我想知道是否有一种好方法可以跟踪 apache 用于查找新页面的路线。或者如果有任何日志我可以检查。我在框架内的本地 log.txt 什么也没显示。 Apache 日志什么也没显示。 PHP 日志什么也没显示。

我以为可能和base_url有关,但是不管怎么改,还是找不到我的控制器。

 $config['base_url'] = ''; // Base URL including trailing slash (e.g. http://localhost/)

当我加载 localhost/controller 时,有什么方法可以查看 apache/ 我的浏览器尝试采用的绝对路径吗?即使页面没有加载,也会显示文件://Applications/MAMP/htdocs/path/to/controller?我可以在 config/sys 文件中的某个地方显示该信息吗?

不知道为什么降级。我以为我提供了有关该问题的所有信息,只是在寻找如何解决我的 default_controller 加载时未找到的 404 问题。

奇怪!我下载了 PIP 的新副本,将旧副本中的所有文件复制到新副本中,然后它就可以工作了。它一定是 Apache 的一些目录。

【问题讨论】:

  • 我们需要查看一些代码 --- 放大您的错误报告:ini_set('display_errors',1); ini_set('display_startup_errors',1);错误报告(-1); --- 你有没有试过抛出任何 die() 语句?另外,你在用 xdebug 吗?
  • 根本找不到页面。我将在哪里放入 die() 语句?如果找不到该页面,那么我假设该页面上的所有代码都不会运行。如果找到该页面,则错误报告工作正常。
  • “未找到”错误是来自 Apache 还是来自您的框架?你有一套自定义的mod_rewrite 规则来支持这个吗?如果有,请在此处添加。
  • 我假设它来自框架,因为目录框架之外的页面加载并且 default_controller 页面加载。
  • 我不熟悉 xdebug。我去看看。

标签: php config base-url


【解决方案1】:

如果你有 apache 运行,将基本 url 设置为

$config['base_url'] = 'http://localhost/';

// 记住末尾的正斜杠。

如果还是不行,到你的 MVC 框架文件夹,替换 index.php 和系统文件夹及其所有内容,如果你想要的话,你可以在这样做之前备份这个文件夹, 有两个文件会弄乱路由

index.php
pip.php

因此,如果您的配置基 URL 设置为如上例所示,但仍未找到控制器,则它是这两个文件之一已被修改。

// 注意,您可能还需要检查 .htaccess 文件中是否需要启用 mod_rewrite。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-28
    • 1970-01-01
    相关资源
    最近更新 更多