当您使用 React 作为前端时,查看 PHP 脚本错误的最佳方式是什么?

What is the best way to see errors from PHP scripts when you are using React as the Frontend?

我正在使用 React 作为前端并使用它设置 PHP 后端。

我通过将这个 React 项目放入 XAMPP.

的 htdocs 文件夹中,成功地将两者连接起来

当我向下面提出请求时URL

    useEffect(() => {
        fetch("http://localhost:80/php_w_r/api/index.php?url=Users/index", {
            method: 'GET',
        }).then((res) => res.json())
        .then((data) => {
            console.log(data)
        }).catch(err => console.log(err))
        })

好消息是它有效,我得到了一个对象。 这是我的 PHP 代码。

<?php
header('Access-Control-Allow-Origin: *');
header('Content-type: application/json');

class Users extends Controller
{
    public function __construct()
    {
        $this->userModel = $this->model('User');
    }
    public function index() {
        $s = $this->userModel->login();
       $json_data =  json_encode((array) $s);
       print_r($json_data);
    }
}

我遇到的真正痛苦是在 PHP 方面出现问题时进行调试。我能够解决这个问题的方法是打开开发者控制台。

我一直收到错误消息:

Uncaught (in promise) SyntaxError: Unexpected token s in JSON at position 0

有什么方法可以使开发更容易,而不必每次我认为 PHP 代码有问题时都​​打开控制台?即使出现问题,我也没有收到关于为什么 PHP 方面可能出现问题的非常有用的消息。我收到的唯一消息是

Uncaught (in promise) SyntaxError: Unexpected token s in JSON at position 0

在我能够在我的视图目录中看到来自 PHP 的任何错误之前。因为我现在使用的是 React,这些错误不再出现。

我正在根据 Udemy 上的本教程设置我的后端。

https://www.udemy.com/course/object-oriented-php-mvc/

你可以

  1. 将 PHP 中的任何调试信息(例如 print_r 输出)记录到文件中,而不是将其输出。还要确保 PHP 的屏幕错误报告已关闭,并且错误记录到文件已打开。

And/or

  1. 使用浏览器开发人员工具中的网络工具来检查从服务器返回的每个请求的原始响应,因此您不必担心 JSON 解析错误。

P.S。不要将 print_r 之类的工具用于正常输出 - 它旨在用作调试工具,可能会添加您没有预料到的额外内容。只需使用 echoprint 进行常规输出。