我正在学习PHP,我遇到了麻烦,我觉得这是因为我正在观看的视频教程是从2005年开始的,有些API还没有转移到现有标准.长话短说"挑战"之一是创建一个测验,无论我做什么,PHP代码都会泄漏并与HTML一起打印.
<html>
<head><title>Chapter #4 Challenge</title></head>
<body>
<h2> Chapter #4 Quiz</h2>
<?php
$question1 = "<b>Question #1: What does the operator == mean?</b><br>
A) <input type=radio name='q1' value='a'>Equals<br>
B) <input type=radio name='q1' value='b'>Not Equal<br>
C) <input type=radio name='q1' value='c'>True<br>
D) <input type=radio name='q1' value='d'>Assignment<br>
<input type=submit value='Submit'>
</form><br>";
$q1answer = "d";
?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
代码输出它应该的所有内容,但最后它还打印出:""; $ q1answer ="d"; ?>"
令我感到困惑的是,为什么它会打印任何东西,对于初学者来说,因为我只是实例化一个变量,而不是我在哪里打印它.其次,为什么将PHP代码显示为文本输出?
此外,对于记录我使用switch语句,它在变量$ question1前面加上开头的"form"括号,所以我不认为这是因为我将它包含在变量中.任何想法将不胜感激!
我似乎无法获取我的node:alpine Docker 镜像来构建react/next.js。
我可以让它在本地正常构建,但当 Docker 构建到达 API 端点时,我从未在 API 日志中看到流量,该端点本身在 Docker 容器(nginx、headless craft cms 等)中运行。
正如我所尝试的那样,构建似乎根本不喜欢本地主机:
http://localhost:9000/api
...这是我在日志中收到的消息:
#15 13.76 > Build error occurred
#15 13.76 FetchError: request to http://localhost:9000/api failed, reason: connect ECONNREFUSED 127.0.0.1:9000
Run Code Online (Sandbox Code Playgroud)
我听说我可以使用主机名代替“localhost”,因此在我的 MacOS 终端中,我输入了“主机名”,并将 localhost 替换为该值。这不会完全出错,但构建会挂在构建的“生成页面...”步骤上。
如何让 Docker 构建识别本地主机,或者换句话说,如何将 API URL 设置为本地 Docker 容器托管的端点?
这是我的 Dockerfile:
# Install dependencies only when needed
FROM node:alpine AS deps
RUN apk add --no-cache libc6-compat
WORKDIR /app
COPY package.json yarn.lock ./
RUN yarn --frozen-lockfile
# Rebuild the source code only …Run Code Online (Sandbox Code Playgroud)