如何 运行 PHP 与 vscode

How to run PHP with vscode

我正在尝试创建一个简单的 HTML 表单,将用户重定向到服务器显示的感谢消息,并用 PHP 编写。但是,我所做的一切似乎都不起作用。每次尝试 运行 代码时,我都会收到 405。如果我刷新页面,它就会开始下载。我正在使用实时服务器扩展,并且安装了 PHP。

HTML 文件:

    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link rel = "stylesheet" type = "text/css" href = "styles-signup.css">
    <script type = "text/javascript" src = "script-signup.js"></script>

</head>
<body>
    <div>
        <h1 class = "title"></h1>
    </div>
    <div class = "form">
        <h1 id = "header">Create Your Account</h1>
        <form method = "POST" id = "signup" action = "action.php">
            <input name = "firstName" type = "text" placeholder="First Name" required id = "fname">
            <input name = "lastName" type = "text" placeholder = "Last Name" required id = "lname">
            <input name = "Email" type = "email" placeholder="email, e.g. person@gmail.com" required id = "mail">
            <input name = "newPassword" type = "password" id = "password" placeholder="Password" required minlength="8" maxlength="25">
            <input name = "passwordConfirm" type = "password" placeholder = "Confirm Password" required minlength="8" maxlength="25" id = "cpassword">
           <br>

           <input name = "gender" type = "radio" id = "male" required>
           <label for = "gender" id = "mlabel">Male</label>

           <input name = "gender" type = "radio" id = "female" required>
           <label for = "gender" id = "flabel">Female</label>

           <input name = "gender" type = "radio" id = "other" required>
           <label for = "gender" id = "olabel">Other</label>
           <br>

           <br>
           <input name = "birthdate" type = "number" min = "1920" max = "2019" placeholder="Year Of Birth" id = bd required>
           <br>

            <input name = "terms" type ="checkbox" id = "box" required>

            <p id = "tc">I agree to the <a href = "termsandconditions.txt" id = "tcLink">Terms and Conditions</a></p>

            <input name = "submit" type = "Submit" id = "button" value = "Sign up">

            <a href = "login.html" id = "login">Already have an account? Log in</a>

        </form>
    </div>

</body>
</html>

PHP 文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>

    <?php
    echo "<p>Hi</p>";
    ?>

</body>
</html>

我收到这个错误:

这个问题有问题


VS Code 不是服务器,它是高度专业化的编辑器。在 nushell 中,这意味着您不能使用它来接受 HTTP 请求,然后使用可执行文件预处理这些请求。这是一个问题的原因是,PHP 不仅不能在无法 运行 其可执行文件的情况下工作,而且在其核心,PHP 的本质是,可执行文件(包括一些库)。

所以我不能用 VS Code 写 PHP?

可以,但是您需要设置一个开发服务器,您将从 VSCode 向其发送请求。换句话说,当你在浏览器中执行一个 PHP 文档时,浏览器做了什么,它是否将该脚本发送到你的服务器,你的服务器预处理 php 文档,并响应一个 HTML 使用初始 PHP 脚本动态创建的文档。因此,您将需要一个服务器 (我们称这些开发服务器),您可以在开发中将代码发送到该服务器,这样您就可以在编写时查看您正在创建的内容。 Visual Studio Marketplace 中提供的扩展可以提供帮助。目前最流行的扩展是名为...

的 GUI 服务器

Open PHP/HTML/JS In Browser

上面的 link 会将您带到 VS-Marketplace 中的扩展页面,但最简单的方法是使用 VS Code's in-editor extension view.

从 VS Code 内部安装它

您还必须正确安装 PHP,这超出了本答案的范围,但如果您需要帮助,this is a really great guide 涵盖在任何平台和任何服务器上安装 PHP。

我劫持了这个相当古老且已回答的线程,以提供一种更舒适的方法 running/testing 您的 php 来自 VSC 内部的项目,不需要您 运行 XAMPP设置。

有一个名为 PHP Server 的 VSCode 扩展,可让您将项目提供给临时服务器。当然你需要有(取决于你的项目要求)例如MySQL 服务器 运行ning,但它是一个很棒的工具,对我帮助很大,特别是因为我可以将我的项目放在磁盘上我想要的任何地方,而不必考虑 apache。