首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PUT请求返回'200 - updated‘或'200 - partially’,但在PHP cURL中不更新

PUT请求返回'200 - updated'或'200 - partially'表示请求成功并且资源已被更新或部分更新。在PHP cURL中不更新可能是由于以下原因:

  1. 请求未正确设置:确保在PHP cURL中正确设置了PUT请求的URL、请求头、请求体等参数。可以使用curl_setopt函数设置相关参数。
  2. 服务器端未正确处理请求:检查服务器端代码,确保PUT请求被正确处理。可能是由于服务器端代码逻辑错误或未正确解析请求体导致的。
  3. 权限问题:检查服务器端是否有足够的权限来更新资源。确保服务器端代码有足够的权限来执行更新操作。
  4. 数据库连接问题:如果更新操作涉及到数据库,检查数据库连接是否正常。确保数据库连接配置正确,并且数据库服务器正常运行。
  5. 请求体格式错误:检查请求体的格式是否正确。根据实际情况,确保请求体的格式与服务器端代码的要求相匹配。
  6. 服务器端缓存问题:如果服务器端使用了缓存机制,可能导致PUT请求返回'200 - updated'或'200 - partially',但实际上并未更新。可以尝试清除服务器端缓存或禁用缓存机制。

总结起来,要解决PHP cURL中PUT请求不更新的问题,需要确保请求设置正确、服务器端代码正确处理请求、权限足够、数据库连接正常、请求体格式正确,并且排除服务器端缓存等可能的影响因素。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Laravel API教程:如何构建和测试RESTful API

更新动作:PUT vs POST RESTful API中有很多争论的问题,对于使用POST,PATCH或者PUT更新哪个是最好的,或者创建动作最好留给PUT动词这种问题有很多的意见。...在本文中,我们将使用PUT更新操作,根据HTTP RFC,,PUT意味着在特定位置创建/更新资源。...PUT动词的另一个要求是幂等,在这种情况下,基本上意味着您可以发送该请求1,21000次,结果将相同:数据库的一个更新的资源。...当一个动作执行成功,但没有内容返回。 206:部分内容。当您必须返回分页的资源列表时很有用。 400: 错误的请求。无法通过验证的请求的标准选项。 401:未经授权 用户需要进行身份验证。...: { data: "Resource not found" } 如果您使用Laravel服务其他页面,则必须编辑代码以使用Accept header,否则常规请求的404错误也将返回JSON

20.4K20

HTTP API 设计指南HTTP API 设计指南

理想状态下,通过拒绝所有非 TLS 请求,不响应 http 80端口的请求以避免任何不安全的数据交换。如果现实情况无法这样做,可以返回403 Forbidden响应。...好的响应应该使用如下的状态码: 200: GET请求成功,及DELETEPATCH同步请求完成,或者PUT同步更新一个已存在的资源 201: POST 同步请求完成,或者PUT同步创建一个新的资源...202: POST,PUT,DELETE,PATCH请求接收,将被异步处理 206: GET 请求成功,但是只返回一部分,参考:上文中范围分页 使用身份认证(authentication)和授权...或是201时返回所有可用资源,包含 PUT/PATCH 和 DELETE 请求,例如: $ curl -X DELETE \ https://service.com/apps/1f9b/domains...": "2012-01-01T12:00:00Z" } 当请求状态码为202时,返回所有可用资源,例如: $ curl -X DELETE \ https://service.com/apps

2.4K31
  • elasticsearch实战三部曲之二:文档操作

    : 假设通过Postman工具向服务器发送一个PUT类型的请求,地址是:http://192.168.119.152:9200/test001/article/1 请求的内容是JSON格式的,内容如下:..." } 读者您看到上述内容,就可以在postman中发起PUT请求,地址是"test001/article/1"前面加上您的服务器地址,内容是上面的JSON; 新建文档 在索引test001下创建一个文档...检查文档是否存在 HEAD test001/article/1 该请求的响应没有body,只有返回码,存在时返回200,不存在返回404 根据id一次获取多个文档(_mget命令) 一次查询三条记录,id...":{ "title":"abc" } } 更新成功后,返回200返回body: { "_index": "test001", "_type": "article",...如果您的电脑可以使用curl命令,那么在book.json文件所在文件夹下面执行此命令即可提交: curl -XPOST "http://192.168.119.152:9200/_bulk?

    49820

    RESTful API 设计最佳实践

    文档应该有展示请求和输出的例子:或者以点击链接的方式或者通过curl的方式(请见openstack的文档)。如果有更新(特别是公开的API),应该及时更新文档。...排序:和过滤一样,一个好的排序参数应该能够描述排序规则,而业务相关。...更新和创建操作应该返回资源 PUT、POST、PATCH 操作在对资源进行操作的时候常常有一些副作用:例如created_at,updated_at 时间戳。...为了防止用户多次的API调用(为了进行此次的更新操作),我们应该会返回更新的资源(updated representation.)例如:在POST操作以后,返回201 created 状态码,并且包含一个指向新资源的...如果API使用者确实无法访问返回头,或者API需要支持交叉域请求(通过jsonp)。 jsonp请求请求的url包含了一个callback函数参数。

    1.5K40

    RESTful API 设计最佳实践

    文档应该有展示请求和输出的例子:或者以点击链接的方式或者通过curl的方式(请见openstack的文档)。如果有更新(特别是公开的API),应该及时更新文档。...更新和创建操作应该返回资源 PUT、POST、PATCH 操作在对资源进行操作的时候常常有一些副作用:例如created_at,updated_at 时间戳。...为了防止用户多次的API调用(为了进行此次的更新操作),我们应该会返回更新的资源(updated representation.)例如:在POST操作以后,返回201 created 状态码,并且包含一个指向新资源的...如果API使用者确实无法访问返回头,或者API需要支持交叉域请求(通过jsonp)。 jsonp请求请求的url包含了一个callback函数参数。...如果给出了这个参数,那么API应该返回200,并且把真正的状态码放到返回值里面(包装在信封里),例如: callback_function({ status_code: 200, next_page

    1.6K90

    HTTP接口设计

    请求方法 如果请求头中存在 X-HTTP-Method-Override 参数存在 _method(拥有更高权重),且值为 GET, POST, PUT, DELETE, PATCH, OPTIONS...完成请求返回状态码 200 OK 完成请求后需要返回请求的资源详细信息 POST用于创建新资源 创建完成后返回状态码 201 Created 完成请求后需要返回被创建的资源详细信息 PUT用于完整的替换资源或者创建指定身份的资源...,比如创建 id 为 123 的某个资源 如果是创建了资源,则返回 201 Created 如果是替换了资源,则返回 200 OK 完成请求后需要返回被修改的资源详细信息 PATCH用于局部更新资源 完成请求返回状态码...这个时候可以使用 Last-Modified 和/ ETag 头来实现条件请求,支持乐观并发控制。 下文只考虑使用 PUT 和 PATCH 方法更新资源的情况。...,那就更新资源,响应 200 OK 或者 204 No Content ,并且包含更新过的 Last-Modified 和/ ETag 头,同时包含 Content-Location 头,其值为更新后的资源

    1.8K20

    使用 PHP Curl 扩展进行HTTP3请求的优化

    要使用 Curl 创建 HTTP/3 条件 Curl 必须使用 HTTP/3 支持构建 Curl 版本 7.66 更高版本 PHP 8.2 更高版本 使用 PHP Curl 扩展发出 HTTP/3..., CURL_HTTP_VERSION_3); curl_exec($ch); 注:PHP 8.3 任何较旧的 PHP 版本中都没有声明该 CURL_HTTP_VERSION_3 常量。...将 CURLOPT_HTTP_VERSION 选项设置为 CURL_HTTP_VERSION_3 时,如果 HTTP/3 未内置到 Curl 扩展,则 Curl 返回 false : $ch = curl_init...建议对生产系统这样做 Curl 的 HTTP/3 文档提供了使用 HTTP/3 编译 Curl 的最新说明。Curl 可以是不同的加密和传输库,但根据 PHP 的多次测试。...不幸的是,它需要编译 Curl 扩展,这使得依赖操作系统软件包存储库的更新来获取安全和错误修复更新的系统具有挑战性。

    62810

    Restful 接口设计最佳事件

    文档应该有展示请求和输出的例子:或者以点击链接的方式或者通过curl的方式(请见openstack的文档)。如果有更新(特别是公开的API),应该及时更新文档。...更新和创建操作应该返回资源 PUT、POST、PATCH 操作在对资源进行操作的时候常常有一些副作用:例如created_at,updated_at 时间戳。...为了防止用户多次的API调用(为了进行此次的更新操作),我们应该会返回更新的资源(updated representation.)例如:在POST操作以后,返回201 created 状态码,并且包含一个指向新资源的...如果API使用者确实无法访问返回头,或者API需要支持交叉域请求(通过jsonp)。 jsonp请求请求的url包含了一个callback函数参数。...如果给出了这个参数,那么API应该返回200,并且把真正的状态码放到返回值里面(包装在信封里),例如: callback_function({ status_code: 200, next_page

    88530

    推荐17-Laravel 中使用 JWT 认证的 Restful API

    使用 API 时,只需使用一些参数点击 GET , POST 其他类型的请求,服务器就会返回 JSON(JavaScript Object Notation) 格式的一些数据,这些数据由客户端应用程序处理...使用以下内容更新 app/User.php 。 <?...然后,使用请求的数据去创建一个新的产品模型。如果,产品成功的写入数据库,会返回成功响应,否则返回自定义的 500 失败响应。...更新产品模型并保存到数据库,如果记录成功更新返回一个 200 成功响应,否则返回 500 内部服务器错误响应给客户端。 现在,让我们实现 destroy 方法。...发送请求,你将获得令牌。 ? 我们的用户现已注册并通过身份验证。我们可以发送另一个请求来检测 login 路由,结果会返回 200 和令牌。 ? 获取用户详情 ? 测试身份认证已完成。

    11K20

    【Nginx28】Nginx学习:代理模块(二)缓存与错误处理

    proxy_cache_background_update 允许启动后台子请求更新过期的缓存项,同时将过时的缓存响应返回给客户端。...proxy_cache_revalidate on | off; 默认值是 off ,通过请求头中的 HTTP 缓存相关字段来做为缓存的更新依据,需要我们 PHP 代码添加响应头及处理。...如果头部包含“X-Accel-Expires”字段,可以在头部字段“Expires”“Cache-Control”设置缓存参数。 如果标头包含“Set-Cookie”字段,则不会缓存此类响应。...curl -v 'http://192.168.56.88:8027/cache/fastcgi1/proxy/1.cache.php' 直接使用 CURL 进行测试,加上 -v 参数可以看到请求头和响应头的信息...三秒后随机数才会更新,我们也可以加上 nocache 参数,走缓存,这样每次都会走后端的代理请求

    96150

    PHP使用CURL实现下载文件功能示例

    CURLOPT_FILETIME 启用时会尝试修改远程文档的信息。结果信息会通过 curl_getinfo()函数的CURLINFO_FILETIME选项返回curl_getinfo()....CURLOPT_FOLLOWLOCATION 启用时会将服务器服务器返回的”Location: “放在header递归的返回给服务器,使用CURLOPT_MAXREDIRS可以限定递归返回的数量。...CURLOPT_FRESH_CONNECT 强制获取一个新的连接,替代缓存的连接。 CURLOPT_FTP_USE_EPRT 启用时当FTP下载时,使用EPRT ( LPRT)命令。...CURLINFO_HEADER_OUT 启用时追踪句柄的请求字符串。 从 PHP 5.1.3 开始可用。CURLINFO_前缀是故意的(intentional)。...CURLOPT_VERBOSE 启用时会汇报所有的信息,存放在STDERR指定的CURLOPT_STDERR

    2.5K50

    Elasticsearch从入门到放弃:文档CRUD要牢记

    如果延续我们之前恰当的对比RDMS的话,我认为文档可以类比成关系型数据库的表。...PUT //_create/ POST //_create/ 这四种方法的区别是,如果指定id,则Elasticsearch会自动生成一个id。...更新文档 了解了如何创建文档之后,我们再来看看应该如何更新一个已经存在的文档。其实在创建文档时我们就提到过,使用PUT //_doc/的方法就可以更新一个已存在的文档。..._source_excludes:指定要从检索结果排除的source字段 _source_includes:指定要返回的检索source字段 下面的一个例子是用脚本来更新文档 curl -X POST...其实我们在上面的例子已经有所展现了,对于indexcreate这样的请求,如果请求本身是有包体的,那么用换行符来表示下面的内容与子请求分隔,即为包体的开始。

    67620

    ElasticSearch教程_Elasticsearch原理

    创建一个索引 现在,我们创建一个名字叫“customer”的索引,然后查看索引: 请求curl -X PUT "localhost:9200/customer?...索引并查询一个文档 现在,让我们put一些数据到我们的”customer”索引: 请求curl -X PUT "localhost:9200/customer/_doc/1?...下面这个例子展示了如何更新一个文档(ID为1),改变name字段为”Jane Doe”,同时添加一个age字段: 请求curl -X POST "localhost:9200/customer/_doc...q=*,而是向_search API提供json风格的查询请求体 很重要的一点是,一旦返回搜索结果,Elasticsearch就完全完成了对请求的处理,不会在结果维护任何类型的服务器端资源打开游标。..._source) 如果我们希望返回整个源文档,我们可以从源文档请求几个字段来返回

    1.7K22

    Yii2.0 RESTful API 基础配置教程

    /to/api/web"> # 开启 mod_rewrite 用于美化 URL 功能的支持(译注:对应 pretty URL 选项) RewriteEngine on # 如果请求的是真实存在的文件目录...-d # 如果请求的不是真实文件目录,分发请求至 index.php RewriteRule . index.php # if $showScriptName is false...123 的详细信息 HEAD /users/123: 显示用户 123 的概述信息 PATCH /users/123: and PUT /users/123: 更新用户123 DELETE /users...ok,在控制器我们没有写任何一句代码,他就给我们生成许多方法,但是有时候我们可能需要修改一些代码,来达到我们想要的效果,比如连表查询,然后再返回数据 接下来我们就实现这样的功能: 打开刚才新建的user...; }, ], 这里统一使用 200来表示,当然并不是所有的都是 200,你应该具体情况具体对待,切记不要乱使用 任意加各种标识,请 遵循这些 规范 状态码

    1.1K20

    ElasticSearch权威指南学习(文档)

    每个类型(type)都有自己的映射(mapping)或者结构定义,就像传统数据库表的列一样。 _type的名字可以是大写小写,不能包含下划线逗号。...HEAD请求不会返回响应体,只有HTTP头: curl -i -XHEAD http://localhost:9200/website/blog/123 Elasticsearch将会返回200 OK状态如果你的文档存在...: HTTP/1.1 200 OK Content-Type: text/plain; charset=UTF-8 Content-Length: 0 如果不存在返回404 Not Found: curl...它在一个沙盒(sandbox)运行,以防止恶意用户毁坏Elasticsearch攻击服务器。...每个文档的检索和报告都是独立的 更新时的批量操作 就像mget允许我们一次性检索多个文档一样,bulk API允许我们使用单一请求来实现多个文档的create、index、updatedelete。

    96630
    领券