0

こんにちは、私は彼らのサイトから phpQuery プラグインをダウンロードしました。しかし、phpQuery demo.php ファイルを実行しようとするたびに、次のエラーが発生します:-

エラー:-

Fatal error: Uncaught exception 'Exception' with message
    "Old PHP4 DOM XML extension   detected. phpQuery won't work until this extension is enabled."
in   C:\wamp\www\phpQuery\phpQuery\phpQuery.php:483
Stack trace:
    #0 C:\wamp\www\phpQuery\phpQuery\phpQuery.php(271): phpQuery::createDocumentWrapper('<div/>',  NULL)
    #1 C:\wamp\www\phpQuery\demo.php(11): phpQuery::newDocument('<div/>')
    #2 {main} thrown in C:\wamp\www\phpQuery\phpQuery\phpQuery.php on line 483

私のphpバージョンは5.2.9-1です。追加の拡張機能が必要ですか? 誰でもこのエラーで私を助けることができますか??

4

3 に答える 3

3

このエラー メッセージは誤解を招くものです。phpQuery のソースを調べてみると、実際には逆のことを言っていることがわかります:「phpQuery は、この拡張機能が無効になるまで機能しません」。(または、少なくとも、拡張機能を有効にしたときではなく、無効にしたときに関数が存在しなくなるため、ソースコードからそう信じることができます。)

PHP Web サイトでのこの拡張機能の参照は利用できなくなりましたが、archive.org にはまだそのコピーがあります。このページでは、PHP4 DOM 拡張機能の DLL 名がphp_domxml.dllであることを示しているため、これを削除する必要があります。

php.ini ファイルで、 という行をコメント化する必要がありますextension=php_domxml.dll。行の前にセミコロンを付けることで、コメントにすることができます。

これはすべて、PHP のバージョンを間違えていないことを前提としています。<?php phpinfo(); ?>まだ実行していない場合は、想定している PHP バージョンを実行していることを確認するために、a を確認することをお勧めします。PHP5 のインストールで PHP4 拡張機能がまだ使用されていることに驚きました。

于 2013-01-31T04:07:27.797 に答える
2

phpQuery は、システムに PHP 4の DOM XML 拡張機能があるか、またはそれを置き換えるPHP 5 DOM 拡張機能があるかを検出しようとしています。

残念ながら、それは結果についてあなたに嘘をついています. 関連する phpQuery コードは次の場所にあります。

if (function_exists('domxml_open_mem'))
    throw new Exception("Old PHP4 DOM XML extension detected. phpQuery won't work until this extension is enabled.");

「有効」ではなく「無効」という意味でした。構成で「DOM XML」拡張機能を無効にする必要があります。

この問題はphpQuery issue #224として提出されています。

于 2013-01-31T04:02:37.607 に答える
-2

エラー メッセージを読むことをお勧めします。古いバージョンの DOM XML を使用しています。

新しいバージョンに関して必要なすべての情報は公式ドキュメントで入手できますが、デフォルトでインストールされるため、WAMP を最新バージョンに更新することをお勧めします。

于 2013-01-31T04:02:14.757 に答える