1
<?php
declare(ticks=1);
function tick_handler()
{
print($GLOBALS['a']);
}
register_tick_function('tick_handler');


function test()
{
$a = 1;//This not print
$a = 2;//This not print
$a = 3;//This not print
$a = 4;//This not print
}
test();
$a = 1;//This print
$a = 2;//This print
$a = 3;//This print
$a = 4;//This print
?>

どのように印刷 //これは印刷されませんが、グローバル $a はありませんか?

そしてなし

function test()
{
$GLOBALS['a'] = 1;//This not print
$GLOBALS['a'] = 2;//This not print
$GLOBALS['a'] = 3;//This not print
$GLOBALS['a'] = 4;//This not print
}
4

1 に答える 1

0

私はあなたが何をしようとしているのか100%確信が持てませんが、

たとえば、Joomla でこのページの下部にあるラベルを変更するには、1) ホスティング ダンプ スクリプトをダウンロードする必要があります 2) 次の html スクリプト コードを見つけます 3) 関数の動作を調査するには 4)場所を見つける html コード 教育 $globals と register_tick_function の助けを借りて見つけるだけで数時間かかります

ように聞こえます。

アプリケーションをデバッグする必要がある場合、および/またはどの関数とメソッドがどの順序でどのパラメーターで呼び出されたかを確認する必要がある場合は、適切なデバッガーを使用してください。

https://stackoverflow.com/questions/1494288/good-free-php-debuggerを参照してください

どうもありがとう。ただし、hostmonster.com の xdebug は無効になっています

本番サイトをデバッグしたくありません。さらに機能を追加したり、変更を適用したりする必要がある場合は、まず開発サーバーで行ってください。動作することを確認してから、変更を本番サイトにデプロイします。したがって、XDebug をローカル マシンまたは VM などに配置します。または、開発環境用の新しいホストを入手してください。いずれにせよ、開発とデバッグが本番環境を混乱させない場所に置いてください。

于 2011-09-07T08:22:20.950 に答える