php - PHP缺少参数,但没有错过,它只发生在生产中
问题描述
我一直在为我的公司编写一个内部工具,并且我对其进行了测试,并且一切正常,但是当它恰好在服务器上时,它会拒绝缺少参数的连接,这并不完全奇怪,因为我编写了该行为,但是当我在 localhost 中对其进行测试时,它的行为并非如此,我们目前正在数字海洋上部署工具,并且该工具以 JSON 格式接收数据
include("./request.php");
include("./urlParams.php");
include("./conexion.php");
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS");
header("Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token");
header("Content-Type: application/json");
error_reporting(0);
main($conexion);
function main($conexion){
//$values = getParams(array( 'webinarHash', 'fecha'));
$data = json_decode(file_get_contents("php://input"), true);
if( !( isset($data['webinarHash']) && isset($data['fecha']) ) ){
$response = array('message' => 'Rechazado, argumento faltante');
http_response_code(400);
echo json_encode($response);
die();
}
$webinarHash = $data['webinarHash'];
$date = $data['fecha'];
拒绝的原因可能是什么?
解决方案
如果没有更多的上下文,这很难说。
$conexion
失踪了。确保在执行之前已定义main($conexion);
它可能在顶部的 3 个包含的 php 文件之一中定义。也许那里的代码没有正确初始化变量,因为逻辑在您的 prod 系统上的行为与在 localhost 上的行为不同。
如果给定的代码片段代表完整的main
功能,您也可以$conexion
完全删除该变量。
推荐阅读
- masstransit - 如何将 MassTransit 消息标头注入我的自定义类构造函数?
- asp.net - 单击时禁用链接按钮 - 没有任何效果
- php - 如何在 laravel 的请求类中使用 if/else
- javascript - 什么时候应该使用 componentDidMount?
- scala - Spark 的分层凝聚聚类
- ckeditor - 内联编辑器 - 禁用编辑器并显示 HTML / 渲染内容 (Vue)
- java - 使用 DoubleUnaryOperator 与函数
- java - 如何在 Appium 上使用 Jbehave 和 Junit 截屏失败?
- android - 我们如何在 android 中为 exoplayer 添加混响效果
- solr - Apache solr - 为该字段找到的结果数