3

PHP 5.4 で Apache 2.4 を使用しています。

私は以下を実行しています:

# retrieve caller name
$calledby = debug_backtrace(); print_r($calledby);
$caller = (strlen($calledby[1]['class'])) ? $calledby[1]['class'] : $calledby[0]['class'];
# arguments are required
if (!func_num_args()) { return; }
# fill variables with argument contents if exists
$variables = (func_num_args() == 0) ? NULL : (is_array(func_get_arg(0)) ? func_get_arg(0) : NULL);

クラスのプライベート メソッド内から。

$caller = と $variables = 行をコメントアウトすると、機能します。

コードを次のように変更すると、それも機能します (AS DEFINED)

if (strlen($calledby[1]['class']))  $caller = $calledby[1]['class'];
else                                $caller = $calledby[0]['class'];

バグ レポートを提出する必要がありますか?それとも、新しい 5.4 構文の癖で何か間違ったことをしていますか?

前もって感謝します!

[更新] CLI を使用してファイルを実行すると、スクリプトが目的の結果を生成しました。

4

1 に答える 1

0

私は php 5.4 設定を試しましたが、問題はありません。apache / php ログが表示されるはずです。

于 2012-05-03T14:44:22.127 に答える