小编Nmk*_*Nmk的帖子

WP_REST_Response 与 WP_Error

我对 Wordpress 的 REST API 中如何处理错误感到有些困惑。在他们的示例中,他们建议使用WP_Error返回错误,但WP_REST_Response将 HTTP 状态代码作为第二个参数,这使得它更短,更符合我的口味。

所以我比较这种返回错误的方式:

return new WP_REST_Response(array('error' => 'Error message.'), 400);
Run Code Online (Sandbox Code Playgroud)

有了这个:

return new WP_Error('rest_custom_error', 'Error message.', array('status' => 400));
Run Code Online (Sandbox Code Playgroud)

使用第一个选项,我可以在响应中只包含错误文本,这对我来说就足够了。所以响应看起来像这样:

{"error":"错误信息。"}

第二个更详细:

{"code":"rest_custom_error","message":"错误消息。","data":{"status":403}}

但是我还需要指定错误代码(第一个参数),这对我的前端实现没有任何好处。除了语法之外,我对性能、安全性和面向未来的因素的差异感到好奇。

那么,除了个人喜好之外,还有什么理由更喜欢其中之一吗?

php error-handling wordpress wp-api wordpress-rest-api

7
推荐指数
1
解决办法
3857
查看次数

下载标志使用哪个 Unicode 字符?

我们可以使用什么符号来符合 ??download 的想法?是否有唯一的 Unicode 符号?

unicode symbols unicode-string unicode-literals

7
推荐指数
1
解决办法
1317
查看次数

标准错误中发送的 Nginx 错误 FastCGI:“对脚本 [文件夹] 的访问已被拒绝(请参阅 security.limit_extensions)”

我正在尝试使用 Nginx 和 php-fpm 配置我的网络服务器
,我之前在本地计算机和开发服务器中已成功配置,但现在在 AWS 中没有。
唯一的区别是我从生产服务器的源安装了 Nginx

它在我的 /var/log/nginx/error.log 中给出了这样的错误

2014/03/11 11:09:19 [error] 11138#0: *1 FastCGI sent in stderr: "Access to the script '/home/ambassador-portal/ambassador-api/web' has been denied (see security.limit_extensions)" while reading response header from upstream, client: 202.62.16.225, server: brandapi.whatiwear.com, request: "GET /app_dev.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "brandapi.whatiwear.com", referrer: "http://brandapi.whatiwear.com/"
Run Code Online (Sandbox Code Playgroud)

虽然 php-fpm 中的错误日志没有给出错误

这是我的 nginx.conf

user  root;
worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    gzip  on;

    server { …
Run Code Online (Sandbox Code Playgroud)

php linux webserver nginx amazon-web-services

6
推荐指数
2
解决办法
9729
查看次数

如何在服务器中执行 MQL4 程序?

我已经使用 MQL4 语言实现了一个要在 MetaTrader 中执行的智能交易系统。

现在,如果我需要执行它,我总是需要运行 MetaTrader 并将我的 EA 程序附加到其中的实时货币对图表。

我想知道是否有一种方法可以在服务器中执行 MQL4 脚本,这样我就不需要让我的计算机始终处于开启状态。我用谷歌搜索了这个问题,但我找不到合适的答案。

我发现有一种方法可以将数据从 MetaTrader 传输到网络服务器(MQL 到 PHP),但我不知道它是否有助于解决我的问题(http://mql4-php.iinuu.eu/

提前致谢。

php webserver mql4 mql5 server

5
推荐指数
1
解决办法
2538
查看次数

AWS 匿名无权对资源执行:execute-api:Invoke。私有 API 网关

我将 REST API Lambda 函数部署到私有子网,其中 API 网关类型为私有。在之后,我设置了一个 vpc 端点到私有 API 网关,连接到与 lambda 函数私有子网相同的 vpc 的两个公共子网。vpce 对应的安全组允许所有流量。

如果我尝试从公有子网中的 EC2 实例查询 API 端点,我会收到以下错误:

 anonymous is not authorized to perform: execute-api:Invoke on the resource.
Run Code Online (Sandbox Code Playgroud)

我找不到问题,因为私有 API 网关的资源策略如下所示:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:eu-central-1:xxxxxxx:xxxxxx/*",
            "Condition": {
                "StringEquals": {
                    "aws:sourceVpce": "vpce-xxxxxxxx"
                }
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

amazon-web-services amazon-vpc aws-api-gateway

5
推荐指数
1
解决办法
6148
查看次数

React:从受控子输入字段更新大型父记录时如何保持性能?

想象一个允许用户编辑账单(发票)的 React 页面。账单有相当多的可编辑字段,比如 100 个。此外,账单可以有任意数量的行项目。让我们想象一下其中的 100 个,每个都有,比如说,20 个字段。

如果帐单是“父项”,并且由 React 组件呈现,则行项目是“子项”,每个项都由“子”组件呈现。

我在父组件中维护帐单(及其行项目)的状态,感觉不错。

我想在子(行项目)组件中使用受控输入字段。然而,这意味着,至少天真地,即使我明智地使用 React.memo,每次按键都会导致父(账单)组件中的状态更新,以及一些重新渲染。

性能很快变得令人无法接受,即使只有 10 个订单项,例如每次按键延迟 500-800 毫秒。我已经做了一些性能调查,并且有几个可能的答案,但我不打算在这里报告它们,以免阻碍通往最佳答案的任何途径。

必须有一个通用的解决方案,不是吗?我想在没有表单库的情况下这样做,尽管我并不完全反对。

下面的精简示例,只是为了演示基本架构。该示例没有性能问题。:-)

帮助!我缺少保持这种性能的魔力是什么?


const INITIAL_STATE = {
  invoiceNumber: "ABC123",
  customer: "Phil's Dills",
  lineItems: [
    { index: 0, item: "Pickles", quantity: 2 },
    { index: 1, item: "Pickle Juice", quantity: 5 },
  ]
}

export function Bill() {
  const [ bill, setBill ] = useState(INITIAL_STATE);

  function updateBill(updatedLineItem) {
    const newLineItems = [...bill.lineItems];
    newLineItems[updatedLineItem.index] = updatedLineItem;
    setBill({
      ...bill,
      lineItems: newLineItems
    }) …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

5
推荐指数
1
解决办法
82
查看次数

无法保存在 WordPress 编辑器(管理面板)中编辑的主题 PHP 页面

我无法使用 WordPress 编辑器保存主主题 (PHP) 文件。我收到以下错误:

无法与站点通信以检查致命错误,因此 PHP 更改已恢复。您需要通过其他方式上传 PHP 文件更改,例如使用 SFTP。

在此输入图像描述

我已经清除了浏览器缓存、网站缓存、停用了所有插件并重新安装了主题。

我还检查了服务器上所有文件的权限和所有权。没有问题,但是,我的其他站点可以在此服务器上编辑和保存。

php wordpress web-hosting wordpress-theming custom-wordpress-pages

5
推荐指数
1
解决办法
5143
查看次数

Apollo Android 中的多个模式

我在 Android 项目中使用 Apollo 客户端。我有 2 个架构文件,并将它们放在 2 个不同的目录中。

  1. src/main/graphql/com/example/data/search/schema.json
  2. src/main/graphql/com/example/data/user/schema.json

但是当我构建一个项目来通过 Apollo 生成代码时,它给了我一个错误:

ApolloGraphQL: By default, only one schema.json file is supported.

并建议我使用多个服务 构建输出:

ApolloGraphQL: By default, only one schema.json file is supported. Please use multiple services instead: 

apollo {
  service("search") {
    sourceFolder = "/.../app/src/main/graphql/com/example/data/search" 
  }

  service("customer") {
    sourceFolder = "/.../app/src/main/graphql/com/example/data/customer" 
  } 
}
Run Code Online (Sandbox Code Playgroud)

我还将其添加到我的build.gradle(应用程序级别)文件中,但仍然显示相同的构建错误。

请建议我如何解决这个错误

android apollo graphql apollo-client graphql-java

4
推荐指数
1
解决办法
3486
查看次数

Material Icon Two-Tone:如何改变图标的​​颜色?

我在我的 Angular 应用程序中使用了材质图标,我想使用双色调图标。如何更改图标的颜色?我尝试了经典颜色:红色;在我的 CSS 文件中,但不起作用。你能帮我吗?

这是一个 Stackblitz 示例

html css material-design angular-material

4
推荐指数
1
解决办法
3250
查看次数

Puppeteer:如何在不使用评估的情况下获取父节点?

通过 Puppeteer,我知道如何使用评估来获得一些属性,例如parentNodeor previousSibling

let id = await page.evaluate(() => {
    let wantedHref = $('li a').filter(
        function (index) {
            return $(this).text().includes("Text that I Want");
        })[0];
    //get parentNode
    let id = wantedHref.parentNode.parentNode.parentNode.id;
    //get  previousSibling
    let expandIcon = wantedLink.parentNode.parentNode.previousSibling;
    expandIcon.click();
    return id;
});
Run Code Online (Sandbox Code Playgroud)

我想知道如何在不使用评估的情况下检索这些类型的属性。

请问你能帮帮我吗?

javascript acceptance-testing node.js google-chrome-devtools puppeteer

3
推荐指数
1
解决办法
3945
查看次数