質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.50%

  • PHP

    20358questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Symfony2

    119questions

    Symphony2は、簡単で速く堅牢なプログラムの開発サイクルに焦点を当てた、オープンソースのPHPウェブアプリケーション開発フレームワークです。PHP version 5.3.3以上を対象としています。

  • Zend Framework 2

    48questions

    Zend Framework 2は、PHP 5.3以上に対応している MVCフレームワークとコンポーネントライブラリーの集合です。

[PHP] var_dumpできない

受付中

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,028

agumazu

score 1

専門ではないですが、業務でPHPフレームワークを使うことがあり、その際にある変数の中を確認したく

<?php
  var_dump($args);
  # または
  print_r($args);
?>


などと書いてページに表示しようとすると、
ブラウザのロードアイコンがぐるぐる回り続けて表示できないことがあります。

無知ですみませんが、単純になぜでしょうか?
構文間違いではありません(その場合エラーが表示されます)
全ての変数ではなく、見れるものは見れます。

ローカルに持ってこれないため、テストサーバーでの現象ですが、
諸事情でサーバーを触ることはできません。
そもそも何かそういう設定(サーバー/フレームワーク)があるのか、知識もありません...

フレームワークは固定ではありませんが、
例えば主に ZendFramework2 や Symfony2 等です。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

+1

$args がものすごく容量の大きなオブジェクトだったりしませんか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/01 14:56

    例えば、何かのカテゴリーに属する記事〇個分、ぐらいの大きさのオブジェクトです。
    場合によってはやや大きめの可能性はありますが...大きすぎるとは言わない気がします。
    どのぐらいまでなら許容範囲とかあるんでしょうか?あまりPHP自体に詳しくなく...

    キャンセル

  • 2017/02/01 15:06

    なるほど。確かにそれで大きすぎるとは言えないですね。
    想像しか出来ないので、例えば、`$args` の中身をそれぞれ(例えば記事1つずつ)dump で見ていったらどうなるのか?で原因を絞っていけばだんだんと分かる気がしますね。

    キャンセル

  • 2017/02/01 15:08

    フレームワークを使っているのであれば、思っている以上に大きなオブジェクトになっていてもおかしくはないですよ。
    「記事」クラスが何かのクラスの子クラスだったりすると、親クラスの持つデータは勿論持ってますし、メンバーとして他のクラスを持っていたりすると更にその親が・・メンバーが・・・と膨れ上がってきます。
    オブジェクト丸ごとではなく、必要な情報のみ配列にでも出してから見てみてはいかがでしょうか。

    キャンセル

  • 2017/02/01 15:23 編集

    皆さんありがとうございます。

    やはり、オブジェクトの大きさが原因と考えるのが妥当でしょうか?
    であれば、確かに小さいところから少しずつ見ていくべきなんだと思いますが、
    これは大丈夫だろうと思って(甘く見て)やってみる -> やっぱりだめ -> foreach で砕く -> という手順が結構頻繁に起こるので、何か打開策はないのか四苦八苦しています...

    知識が乏しく申し訳ないのですが、中身を見たい対象物が一体何なのかさっぱり分からない(分からないから見てみたい)とき、そしてそれが容量が大きなオブジェクトだった場合、皆さんどうやって対処されるのでしょうか?

    キャンセル

  • 2017/02/01 15:33

    私はログをファイルに出力しています。
    error_log関数, syslog関数, PEAR::Log, log4php, 自作Log出力クラス, Frameworkで提供されているログ出力クラスなどなどを使用してます。
    httpレスポンスで返すよりファイル出力する方がレスポンスタイムも早いので。
    調査する時は手当たり次第にログ出力を埋め込んでファイルに出力。
    画面遷移などがあっても時系列でファイルに残るのでじっくり調査ができます。
    まぁHDDの残容量は気にする必要がありますが。

    キャンセル

  • 2017/02/01 15:34

    対象物と言っても、var_dumpで出力させるという事はソースコードに記述のある変数か何かなわけですよね?
    であれば、その変数がどこから来ているかと言うようなことはコードを追えばわかるのでは。
    IDEを使えば変数を追う事なんて簡単ですし、デバッグモードでステップインしていけば変数の中身も見られますし。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.50%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • PHP

    20358questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Symfony2

    119questions

    Symphony2は、簡単で速く堅牢なプログラムの開発サイクルに焦点を当てた、オープンソースのPHPウェブアプリケーション開発フレームワークです。PHP version 5.3.3以上を対象としています。

  • Zend Framework 2

    48questions

    Zend Framework 2は、PHP 5.3以上に対応している MVCフレームワークとコンポーネントライブラリーの集合です。