1

だから、私の問題は次のとおりです。このコードは、Web ブラウザー経由でページを読み込むと正常に機能します。しかし、「php script.php」のようにコマンドラインからスクリプトを実行すると、爆撃します。

script.php は次のとおりです。

<?php
include_once('class.WebsiteScraper.php');
$ws = new WebsiteScraper();
$ws->test();
...
?>

class.WebsiteScraper.php は次のとおりです。

<?php
echo 'test';
class WebsiteScraper {
    public function test() {
        echo 'test2';
    }
}
?>

これはエラーを返します:

PHP 致命的なエラー: 未定義のメソッド WebsiteScraper::test() の呼び出し ... 4 行目

これは、コマンド ラインから呼び出された場合にのみ発生します。注意すべきもう1つのことは、追加するときに

error_log('hey there');

script.php では、エラー ログではなく、標準出力にエラーをスローします。ただし、Web ブラウザーから呼び出されると、エラー ログに記録されます。何か案は?

4

1 に答える 1

1

コマンド ライン オプション を使用して、--iniコマンド ラインが apache と同じ構成ファイルをロードしているかどうかを確認します。

php --ini

を呼び出すこともできますphpinfo()

ファイルがインクルードされていないようです - おそらくインクルード パスが原因です。

編集:

追加してみる

error_reporting(E_ALL);
于 2009-08-30T21:25:49.770 に答える