php - Print_r 不返回任何东西; var_dump 显示 NULL

标签 php wordpress echo webhooks braintree

我是网络开发新手,正在试验 Braintree 网络 Hook 。我正在使用他们的 create submerchant 示例代码来创建一个 submerchant,然后假设通知应该到达我的服务器,说明它是否成功。

我的方法:我刷新 submerchant.php 页面(我在 NameCheap 服务器上使用 Wordpress),然后 echo 显示“成功!”。然后我转到 webhooks.php 页面并刷新它。但是,var_dump 仅返回 NULL NULLprint_r 不返回任何内容。为什么 print_r 不显示任何内容?

submerchant.php - 这会在我设置 $one = 1 并为子商户设置新的 id 时创建子商户

<?php

require_once(__DIR__ . '/../braintree/lib/Braintree.php');

Braintree_Configuration::environment('sandbox');
Braintree_Configuration::merchantId('A');
Braintree_Configuration::publicKey('B');
Braintree_Configuration::privateKey('C');

 function fd_create_sm() {

    $one;

    $one = 1;

    if($one=1) {

    $merchantAccountParams = [
      'individual' => [
        'firstName' => 'Janez',
        'lastName' => 'Doe',
        'email' => 'jane@14ladders.com',
        'phone' => '5553334444',
        'dateOfBirth' => '1981-11-19',
        'ssn' => '456-45-4567',
        'address' => [
          'streetAddress' => '111 Main St',
          'locality' => 'Chicago',
          'region' => 'IL',
          'postalCode' => '60622'
        ]
      ],
      'business' => [
        'legalName' => 'Jane\'s Ladders',
        'dbaName' => 'Jane\'s Ladders',
        'taxId' => '98-7654321',
        'address' => [
          'streetAddress' => '111 Main St',
          'locality' => 'Chicago',
          'region' => 'IL',
          'postalCode' => '60622'
        ]
      ],
      'funding' => [
        'descriptor' => 'Red Ladders',
        'destination' => Braintree_MerchantAccount::FUNDING_DESTINATION_BANK,
        'email' => 'funding@blueladders.com',
        'mobilePhone' => '5555555555',
        'accountNumber' => '1123581321',
        'routingNumber' => '071101307'
      ],
      'tosAccepted' => true,
      'masterMerchantAccountId' => "na",
      'id' => "green_ladders"
    ];
    $result = Braintree_MerchantAccount::create($merchantAccountParams);

    $result->success;
    if($result->success) {
    echo 'Success!';
    } else {

    print_r($result->errors);

            $errordata;
            echo '***********';
            $BT_Errors = new Braintree_Error_ErrorCollection($errordata);
            echo '***********';
            $BT_Errors->deepAll();
            echo '***********';
            $BT_Errors->onHtmlField("transaction[amount]");

    }

    $result->merchantAccount->status;

    $result->merchantAccount->id;
    // "blue_ladders_store"
    $result->merchantAccount->masterMerchantAccount->id;
    // "14ladders_marketplace"
    $result->merchantAccount->masterMerchantAccount->status;
    // "active"

    } else {
    return;

    }
 }

fd_create_sm();

?>

webhooks.php

<?php

var_dump($_POST['bt_signature']);
var_dump($_POST['bt_payload']);

print_r($_POST['bt_signature']);
print_r($_POST['bt_payload']);

?>

最佳答案

很可能,输出数据存储在某个输出缓冲区中。如果您非常确定要以这种方式调试代码,请尝试在使用print_r 输出数据后立即添加wp_die(); 调用.这应该有所帮助!

还有一件事:有时一些代码(不是这种特殊情况)实际上由于更复杂的数据流而从未输出过。对于这种情况,使用一些第 3 方调试工具可能是个好主意,或者,如果您正在寻找更简单的解决方案,您可以将一些输出写入某个日志文件,然后检查该文件。

祝你好运!

关于php - Print_r 不返回任何东西; var_dump 显示 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34456929/

相关文章:

php - 在 Wordpress 中格式化 get_the_date 元素

php - 查询结果显示间距

php - 使用左连接需要最高的ID

PHP/MYSQL : Function mysqli_query() doesnt work for some reason

php - Divi builder背景视频要静音

css - 在 wordpress 的 php 文件中查找标签

php, Echo mysql 按ID查询

PHP exec - 在进度期间逐行回显输出

php - Zend Framework 2 - 通过 URL 的多个模块

php - 如何访问未出现在 $_SERVER 中的请求 header ?