3

PHP 用のsimpletest: http://www.simpletest.org/を初めて使用し、サーバーで PHP 5.2* を使用しています。デモに基づいて最初のテスト スクリプトをセットアップしようとすると、次のようなページが表示されます。以下のようなエラー...これがsimpletestがPHP 5.*と互換性がないことに関係しているのか、それとも問題が何であるかはわかりません。洞察をいただければ幸いです..ライブラリを引き続き使用できるようですエラーの下で適切と思われるものを返しますが、これを理解したいので修正できます..ありがとう

simpletest 関数を呼び出すために使用している php コードの例を次に示します。

<?php

require_once('C:/wamp/www/external/simpletest/simpletest/autorun.php');


class TestOfLogging extends UnitTestCase {
    function testFirstLogMessagesCreatesFileIfNonexistent() {
        @unlink(dirname(__FILE__) . '/../temp/test.log');
        $log = new Log(dirname(__FILE__) . '/../temp/test.log');
        $log->message('Should write this to a file');
        $this->assertTrue(file_exists(dirname(__FILE__) . '/../temp/test.log'));
    }
}
?>

そして、私が得るエラー:

Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www\external\simpletest\simpletest\unit_tester.php  on line 74

Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www\external\simpletest\simpletest\unit_tester.php on line 89
4

4 に答える 4

2

「非推奨」とは、PHP の将来のバージョンではサポートされない可能性がある古い方法が行われていることを意味します。これは有害ではありませんが、最も単純な開発者が対処する必要があります。simpletest の最新バージョンをダウンロードしましたか? 理解したい場合は、unit_tester.php の 74 行目と 89 行目を見てください。

于 2010-07-03T20:28:18.917 に答える
1

すべてのエラーをオフにするのではなく、非推奨の警告をオフにするだけです。別の方法は、単純なすべてのファイルに対して検索と置換を実行することです。「&new」を検索し、「new」に置換します。new参照による ( &new) は PHP5.3 でのみ廃止されたため、次の SimpleTest リリースで修正されることを願っています。

于 2010-10-28T10:17:34.063 に答える
0

単体テストを実行するときに、5.3 ではなく 5.2 を使用していますか? 5.3 で実行されている PEAR パッケージでこれらのエラーが発生したことを覚えているようです。

于 2010-07-03T20:38:30.840 に答える
0

simpletestチュートリアルを実行しているときにも、この問題が発生しました。

これらのメッセージを消すために、ファイルのdisplay_errors = On設定を に変更しました。php.inidisplay_errors = Off

于 2010-10-17T03:47:45.840 に答える