Slim 框架总是返回 404 错误

2024-04-24

这些天我正在使用纤薄的框架作为我开发 php web api 的最简单的工具。 使用这两篇​​文章:

  • 科恩拉茨 http://coenraets.org/blog/2011/12/restful-services-with-jquery-php-and-the-slim-framework/
  • 编码这个 http://codingthis.com/programming/php/using-the-slim-php-framework-for-developing-rest-apis/comment-page-1/#comment-24213

我从那里开始遵循一些步骤。下载 Slim Framework,放入正确的目录和文件。调整启动语句,例如;

//1. Require Slim
require('Slim/Slim.php');

//2. Instantiate Slim
$app = new Slim();

//3. Define routes
$app->get('/books', function ($id) {
    //Show book with id = $id
});

然后,我相应地修改其余部分。

比如我已经完成的清单:

  • LoadModule rewrite_module 模块/mod_rewrite.so -> 启用
  • 苗条的.htaccess:

RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ bootstrap.php [QSA,L]

  • httpd.conf:(共享链接)。 http://pastebin.ca/2128997

但是,一旦我运行了这个语句;

$app->run();

我在浏览器上运行它......然后,我得到了404错误在我的本地主机上测试它时。解决这个问题的解决方案是什么?

仅供参考,这是我当前正在使用的最简单的 PHP 文件。


问题解决了!

我的apache其实是正常的,前面提供的.htaccess文件也正常。

线索是我使用的 URL。 之前我使用了无效的 URL,因此返回了 404 页面错误。 当我尝试使用这个通过浏览器访问较新的 GET URL 时,我才意识到这一点;

http://localhost/dev/index.php/getUsers/user1

现在可以了!

当我发现这些陈述时我才意识到;

如果 Slim 找不到 URI 与 HTTP 请求匹配的路由 URI,Slim 会自动返回 404 Not Found 响应。

如果 Slim 找到 URI 与 HTTP 请求 URI 匹配但不匹配的路由 HTTP请求方法,Slim会自动返回405方法 不允许的响应,带有Allow: 标头,其值列出了 HTTP 所请求的资源可接受的方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Slim 框架总是返回 404 错误 的相关文章

  • Monolog,如何将 PHP 数组记录到控制台?

    我正在使用浏览器处理程序将消息记录到 JS 控制台 require once vendor autoload php use Monolog Logger use Monolog Handler BrowserConsoleHandler
  • Streamlabs API 405 响应代码

    我正在尝试使用Streamlabs API https dev streamlabs com Streamlabs API 使用 Oauth2 来创建应用程序 因此 首先我将使用我的应用程序的用户发送到一个授权链接 其中包含我的应用程序的客
  • 合并 csv 文件 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何在 PHP 或 joomla 中将多个 CSV 文件合并为一个 csv 文件 将文件夹中 csv 文件中的所有数据合并到文本文件中 通
  • MySQL 最佳实践:SELECT 子递归尽可能提高性能?

    我想选择一个根项目及其子项 使其性能尽可能高 我更喜欢使用嵌套集模型 但这次表结构遵循邻接模型 有关嵌套集和邻接模型的更多信息 http mikehillyer com articles managing hierarchical data
  • 如何使用 PHP 动态插入 CSS 类?

    下面的代码有什么问题 我想在相应的情况下动态插入 当前 CSS 类 li 单击元素 谢谢 section section li
  • 如何在 Laravel 中 session_write_close() ?

    Running session write close before sleep 在 Laravel 中似乎不起作用 因为会话仍然被其他请求阻止 直到当前连接完成 我试图sleep 在 Laravel 中 不会阻止其他请求 发现 sessi
  • json_encode 创建格式错误的 JSON 数据?

    我有一个 codeigniter 应用程序将一些数据从数据库返回到视图 我正在尝试将其作为 json 数据发送回来 问题是返回的数据格式错误 它看起来像这样 2 5 Admin1 2 10 Admin2 当我在 jsonlint com 上
  • PHP,文本从数据库中回显,没有换行,全部一体

    我的数据库中有一个长文本 从 php mayadmin 来看它看起来很好 但是当我将它回显到页面时 它会丢失所有格式 即没有新行 全部都在一个块中 有任何想法吗 Thanks 可能是因为换行符是 n 并且 html 想要 br 所以使用nl
  • 在 Laravel 中按数据透视表 create_at 排序

    在我的数据库中 我有以下表格 courses id 名称 创建时间 更新时间 students id 名称 创建时间 更新时间 课程 学生 id course id student id created at updated at 我正在尝
  • 获取目录中最后修改的文件

    有没有办法只选择目录中的最后一个文件 扩展名jpg png gif 或者我是否必须解析整个目录并使用进行检查filemtime 是的 你必须通读它们 但由于目录访问已被缓存 因此您不必真正担心它 files array merge glob
  • .htaccess 在动态文件夹名称中加载索引

    我在 htaccess 加载动态文件夹名称中的索引时遇到问题 这是我的目录结构 root products gt this is constant folder name 而不是使用 GET 获取产品 url root products i
  • 如何使用额外标记输出 wp_list_categories

    我目前正在使用下面的脚本在无序列表中输出我的所有 WordPress 类别 如何获得带有额外标记的输出 ul ul 例如 ul li Category 1 rsaquo li li Category 2 rsaquo li ul 代替 ul
  • 如何让Symfony2直接加载CSS、JS文件而不是通过PHP?

    老问题 请参阅下面的更新版本 我的开发环境不是最快的 每个 PHP 请求大约需要 500 毫秒 它开始成为 Symfony2 资源文件的问题 因为每个资源文件都是通过 Symfony 的内部控制器请求的 http localhost myp
  • PHP URL 验证

    我知道有无数的线程问这个问题 但我一直无法找到一个可以帮助我解决这个问题的线程 我基本上试图解析大约 10 000 000 个 URL 的列表 确保它们根据以下标准有效 然后获取根域 URL 此列表包含您能想象到的几乎所有内容 包括类似的内
  • 如果文件名减去扩展名,.htaccess url 重写行为将被覆盖。与网址相同

    我正在尝试整理 URL 并从中删除 php 扩展名等 我位于网站的基本文件夹中 因此没有可以优先处理的父 htaccess 文件或其他文件 这是我的 htaccess 代码 RewriteEngine On RewriteRule give
  • PHPunit - 错误

    当 PHPunit 框架不希望发生的错误发生时 测试会停止 PHP 会抛出错误 但 PHPunit 不会记录这是一个错误 我如何确保 PHPunit 将其记录为错误 免责声明 我是 PHPUnit 的新手 我也试图弄清楚 发生错误时会发生什
  • Magento 中的子域 htaccess 问题

    public html www domain com public html subdomain subdomain domain com public html htaccess public html subdomain htacces
  • PHP 用星号替换所有字符

    假设我有一个字符串形式的密码 password thisisaplaintextpassword 我怎样才能把它变成下面的样子 password 我想通过电子邮件向用户发送他们的帐户详细信息 但不想发送整个内容 Use 字符串重复 http
  • 如何检查号码是否是巴基斯坦用户的手机号码而不是固定电话号码

    我所做的是从开头删除 92 或 0092 并使用以下代码检查它是否是巴基斯坦人的有效手机号码 if preg match 3 0 4 0 9 number 1 Pakistani mobile number else not a pakis
  • __callStatic():从静态上下文实例化对象?

    我对 PHP 中的 静态 和 动态 函数和对象如何协同工作感到困惑 特别是在 callStatic 方面 callStatic 的工作原理 您可以有一个普通的班级 MyClass 在班级内您可以 放置一个名为 callStatic 的静态函

随机推荐

  • 使用ExternalContext.redirect()将面孔消息添加到重定向页面

    我在用ExternalContext redirect String 将用户重定向到另一个页面的方法 FacesContext getCurrentInstance addMessage new FacesMessage Bla bla b
  • java.lang.NoClassDefFoundError:无法解析:Landroid/webkit/PacProcessor

    实在找不到言语 我的项目只是一天天都无法编译 这就是我所做的 我下载并显示一个 PDF 然后将其作为保存的 PDF 打印到设备上 然后崩溃了 这是崩溃的情况 at java lang Class java lang Class classF
  • 将预处理器宏添加到 xcode 6 中的目标

    也许这非常简单 但我找不到在 Xcode 6 中为目标定义预处理器宏的方法 我已经做了一个屏幕截图来显示它在 Xcode 中的位置 因为它更容易 选择项目文件 选择您想要的目标 转到构建设置 搜索 预处理器 添加用于调试 发布或两者的预处理
  • Apache Spark:在分区上并行应用 sklearn 的函数

    我是大数据和 Apache Spark 的新手 也是一名在导师指导下工作的本科生 是否可以将函数 即样条曲线 仅应用于 RDD 的分区 我正在尝试实现论文中的一些工作here http sites stat psu edu rli rese
  • onBackPressed 功能在 IMMERSIVE STICKY 模式下不起作用

    我正在使用沉浸模式进行带有 videoView 的活动 我的目标是当触摸屏幕时 媒体控制器和系统控制栏一起显示或消失 现在一切正常 问题是我无法正常离开活动 当我按一次后退按钮时 系统栏再次隐藏 什么也没有发生 我必须按两次才能退出活动 我
  • Cython 类执行同类 cython 类列表

    我定义了一个泛型类Rule在 Cython 中 它期望cdef方法initialize 我创建了一个类 它本身定义为Rule 但它执行initialize规则列表的方法 cython cdef class Rule cdef initial
  • cells().paste VS cells.pastespecial?

    下面的代码是如何工作的 Range D4 F4 copy cells 1 1 PasteSpecial 虽然下面不起作用 Range D4 F4 copy cells 1 1 Paste 我意识到正确的语法是 Range D4 F4 cop
  • pctl(PR_SET_PDEATHSIG) 竞争条件

    据我了解 当父进程死亡时终止子进程的最佳方法是通过prctl PR SET PDEATHSIG 至少在 Linux 上 父进程退出后如何让子进程终止 https stackoverflow com questions 284325 how
  • JQMIGRATE:jQuery.fn.offset() 需要连接到文档的元素

    我有一个使用 jquery 1 x 的网站 现在 我开始在这个网站中使用 jquery 3 x 为了解决任何迁移问题 我已经安装了 JQMigrate 它在控制台窗口中显示的消息之一是 JQMIGRATE jQuery fn offset
  • ClearFix 与溢出[重复]

    这个问题在这里已经有答案了 这是标准浮动问题 父容器 div 中有一堆浮动元素 由于子级是浮动的 父级不会扩展以包含所有子级 我了解clearfix解决方案以及将父容器div上的溢出属性设置为 自动 或 隐藏 http www quirks
  • 是否有内置的 .NET 异常指示非法对象状态?

    如果遇到非法状态 例如 只能调用一次的初始化方法第二次被调用 我应该抛出什么异常 我真的没有看到任何有意义的内置异常 这看起来应该是框架中的东西 我是不是戳错了地方 无效操作异常 http msdn microsoft com en us
  • 使用启动屏幕 (.xib) 会停止缩放

    据我了解 iOS 8 的应用程序应该有一个故事板文件作为启动屏幕而不是图像 我创建了一个非常简单的启动屏幕文件 它具有任意宽度和任意高度 并且有一个纯文本标签 上面写着 占位符 并将其设置为我的启动屏幕 然而 当我尝试在 iPhone 6
  • Postgresql 和 PHP:currval 是在多用户应用程序中检索最后一行插入的 id 的有效方法吗?

    我想知道我用来检索插入到 postgresql 表中的最后一行的 id 的方法是否有效 显然 它可以工作 但是当我有许多用户同时在同一个表中添加行时 引用串行序列 currval 值可能会出现问题 我的实际做法是 pgConnection
  • 使用 -fno-access-control 进行单元测试

    我见过许多在单元测试时访问私有变量的疯狂方法 我见过的最震撼人心的是 define private public 但是 我从未见过有人建议在编译器级别关闭私有变量 我一直以为你不能 我向许多开发人员抱怨说 如果您可以告诉编译器放弃这个文件
  • 找不到 androidx.camera:camera-view

    我正在开发一个基本的自定义相机应用程序 这些是我的依赖 CameraX core library dependency implementation androidx camera camera camera2 camera version
  • Eclipse CDT - 将静态资源文件复制到 bin_dir

    所以我的问题是 我在 Eclipse 3 5 上的 CDT 6 0 中有一个 C 项目 现在有一个静态资源文件 log4cxx 的 properties 需要复制到构建文件夹 该文件在运行时访问以配置 log4cxx 子系统 并且它需要与可
  • 更改 QT 主窗口的标题字体

    我想知道如何更改 QT 主窗口的标题字体 请参阅随附的屏幕截图 我尝试更改样式表等 但它不起作用 我也尝试使用 C 发送消息 但这也有效 SendMessage form gt effectiveWinId WM SETFONT WPARA
  • 使用 Angular 将对象写入 .json 文件?

    我有一个像这样的对象 text Address of Bowlers game center in Chennai entities entity action value business entity intent value fetc
  • 为什么 std::list 上的 Push_back 会更改使用 rbegin 初始化的反向迭代器?

    根据我发现的一些 STL 文档 在 std list 中插入或删除元素不会使迭代器失效 这意味着允许循环列表 从begin to end 然后使用push front添加元素 例如 在下面的代码中 我用元素 a b 和 c 初始化一个列表
  • Slim 框架总是返回 404 错误

    这些天我正在使用纤薄的框架作为我开发 php web api 的最简单的工具 使用这两篇 文章 科恩拉茨 http coenraets org blog 2011 12 restful services with jquery php an