【问题标题】:Where can I see what print_r display on PHP?我在哪里可以看到什么 print_r 在 PHP 上显示?
【发布时间】:2015-11-19 04:21:24
【问题描述】:

我有一个REST APIAndroidSlim framework。我正在使用XAMPP 将其与 MySQL 数据库连接。

我不知道print_r在哪里显示。

api.php 文件位于C:\Program Files\xampp\htdocs\project\app\api\api.php

当我尝试访问 localhost/project/app/api/api.php 时收到以下消息:

访问被拒绝。

这是我使用define 函数发送的消息。在 index.php 中:

define("CONSTANT",true);

在connect.php和api.php中:

if(!defined("CONSTANT")) die("Access denied");

【问题讨论】:

  • 您如何请求执行print_r 的脚本?
  • 也许可以试试exit(print_r($myVar));
  • 它应该在 htdocsXAMPP 文件夹中,以便 print_r 工作
  • @MubinKhalid 是的,它位于XAMPP 文件夹内的htdocs 文件夹中,但在htdocs 文件夹内我创建了一个名为project 的新文件夹,其中有我的脚本和连接。

标签: php android mysql xampp slim


【解决方案1】:

最后,在几个小时内测试不同的选项,我得到了解决方案。

如果您在设置新值(从 Android application ) 你可以把你的PHP script:

print_r([$name,$description,$idCar]);

这里一切都比以前相同了。那么,您如何查看 print_r 显示的内容?

在你的Android application上执行你的response后,你可以把这两行:

HttpEntity entity = response.getEntity();
String responseText = EntityUtils.toString(entity);

然后您可以输入Log 来查看它显示的内容:

Log.d("response",responseText);

现在您将能够看到 print_r 显示的内容。

【讨论】:

    【解决方案2】:

    您可以使用 chrome 的 Rest API 扩展:

    https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en

    您可以点击服务的 url 并查看您的所有 print_rvar_dump 值。

    【讨论】:

    • 如果我有 print_r([$name,$description,$idCar]); 并且在扩展上我看到一个有 Array( [0] => [1] => [2] =>) {"status":true} 的数组,那么这意味着它不在 put 方法中,对吧?
    • 在点击服务的 url 时,您还可以设置方法(即发布、放置、删除、获取等)。在您的代码中,数组显示了您在print_r 中传递的内容,而{"status":true} 显示了您在服务结束时返回的内容,我认为您在die 之后没有die 您的代码@跨度>
    • 还有人认为函数的主要功能并不完全依赖于putpost 方法,这取决于你如何定义你的函数来执行。 (基本上我们对update 使用put 方法,对insert 使用post 方法
    • 最后我得到了一个解决方案来查看它正在发送什么(我发布了一个答案)但我有疑问,对于你的扩展,我是否设置了 url,然后执行我的代码的一部分使用该 url 来查看值的 Android?或者在将 url 放在扩展程序上之前执行应用程序?谢谢!
    • 该扩展程序用于创建服务的 Web 开发人员,因此他们可以通过点击该扩展程序中的 url 来测试服务。所以基本上当你创建一个服务时,你可以通过将 url 放在扩展名中来测试它。
    【解决方案3】:

    试试这个,我就是这样用的。

    echo "<pre>";
    print_r($array);
    echo "</pre>";
    

    【讨论】:

    • 是的,但是在哪里可以看到呢?我不是问如何使用它,只是在哪里可以看到它显示的值。
    【解决方案4】:

    假设您有一个页面test.php,您正在使用print_r($stuff); 我假设你已经在C:\Program Files\xampp 中安装了 xampp,并且你的代码在这里C:\Program Files\xampp\htdocs\droidApp

    droidApp 是此文件test.php 所在的文件夹。

    test.php可以有

    <?php
        print_r($stuff_you_want_to_print);
    ?>
    

    从您的浏览器转到此网址

    localhost/droidApp/test.php

    在执行此操作之前,请确保您的 xampp 正在运行。

    【讨论】:

    • 它给了我访问被拒绝。在将我的网址放在浏览器上之前我有没有运行我的应用程序?
    • 你可以试试,我不太确定。给它一个障碍。
    • 我的print_r 它在我的Slim framework 的一种方法中(put 方法)。当应用程序使用此方法时,我尝试使用执行我的api.php 的url,但消息Access dennied 没有改变。你觉得为什么会这样?
    • 好的,我看到这条消息正在显示,因为我有一个用define 方法定义的常量,如果它不是常量值,我有一个die。我该如何解决?
    【解决方案5】:

    print_r 将指定的变量打印到屏幕上,类似于 echo 命令的方式。第二个参数是一个布尔值,默认设置为 false。如果将其设置为 true,它将允许您将内容存储在变量中,而不是将其打印到屏幕上。

    因此,

    print_r($_GET)
    

    相同
    $inputs = print_r($_GET,true);
    echo $inputs;
    

    更多信息请参见http://php.net/manual/en/function.print-r.php

    【讨论】:

    • 他不是在问 print_r,而是在问他在哪里可以看到打印的值
    【解决方案6】:

    print_r 被输出到文件被调用的地方。只需检查网页的来源,输出就会在某处。

    如果您需要快速找到它,请尝试在 print_r 上方回显一些独特的内容。例如。 echo "I AM OVER HERE!!!";

    【讨论】:

      猜你喜欢
      • 2015-01-29
      • 2018-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多