我正在尝试使用PhpStorm(v2017.3)运行一个简单的php文件.它应该输出一个var_dump,但在运行脚本时我的浏览器中经常遇到502错误的网关错误.我在PhpStorm中收到以下错误:
找不到php-cgi:请确保已配置的PHP解释器构建为CGI程序(指定了--enable-fastcgi)
当我php -v在我的终端中运行时,输出是:
PHP 7.1.7 (cli) (built: Jul 15 2017 18:08:09) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止尝试过的事情:
brew uninstall php71然后brew install71.--with-cgi选项添加到我的brew install php71命令我试图将通用值传递给通过索引访问的类型,但遇到语法错误。
我onCreateNode在名为 的接口上定义了一个名为 的函数类型签名GatsbyNode:
interface GatsbyNode {
...
onCreateNode?<TNode extends object = {}>(
args: CreateNodeArgs<TNode>,
options?: PluginOptions,
callback?: PluginCallback
): void
...
Run Code Online (Sandbox Code Playgroud)
我现在创建了一个也被命名的函数,我想在将值传递给泛型时onCreateNode为其分配类型:GatsbyNode['onCreateNode']TNode
export const onCreateNode: GatsbyNode['onCreateNode']<AGenericTypeIWantToPassIn> = ...
Run Code Online (Sandbox Code Playgroud)
但是,我在第一个尖括号 ( ) 处收到语法错误,<告诉我这不是有效的 TypeScript。
在生产模式下,URL参数值不能用于呈现动态属性值。相同的URL参数值可用于呈现特定的组件。
我已经建立了一个带有最小可复制示例的仓库。
https://github.com/mikepuglisi/gatsby-dynamic-attribute-bug
我们已经能够通过将参数值存储在状态中来解决此问题,但是我不明白为什么这是必要的(特别是因为它呈现了正确的div)。
相关代码(src / pages / index.js)
const IndexPage = ({location}) => {
const params = new URLSearchParams(location.search);
const color = params.get('color');
return (
<Layout>
<SEO title="Home" />
<h1>Hi people</h1>
{ color ?
<p style={{color: color}}>
I SHOULD BE THE COLOR {color} in production mode even after hitting CTRL+F5 (hard refresh)
</p> :
<p>
No Color was passed. Add ?color=blue to URL and hit CTRL+F5 to ensure a hard refresh
</p>
}
<div style={{ maxWidth: `300px`, marginBottom: `1.45rem` …Run Code Online (Sandbox Code Playgroud)