1

そのため、MAMPベースのphp 5.3.6であるローカル環境でクエリパスを使用して何かを開発していましたが、開発サーバーに移動すると動作しなくなりました。私の開発サーバーは、php 5.3.2-1ubuntu4.10 を使用した LAMP ベースです。私の人生では、ローカルでは機能するのにテストでは機能しない理由を理解できません。両方の環境で正しいphp拡張機能を有効にしています。

インクルード内のクエリパスファイルと関係があるようです。PHP/MySQL は両方の環境で正常に動作しています。Querypath では、'libxml' および 'dom' 拡張機能を有効にする必要があります。これらは両方の環境にあります。私のphpエラーログには何も表示されません.querypathにエラーログがある場合、それは私が認識していなかったものです.

基本的な例は、これが私のローカル環境で応答を受け取ることです:

<?php

$url = 'http://www.google.com';

$html = htmlqp($url);
print '<h1>TEST</h1>';

print_r ($html);

?>

私の開発環境では、'TEST' が出力されません。これは、クエリパスへのアクセスで何らかの致命的なエラーが発生したことを示しています。そして、はい、相対パスを厳密にチェックしました。

更新: 今日休暇から戻った同僚は、htmlqp() の代わりに qp() 関数を使用するようにアドバイスしてくれました。 \QueryPath\DOMQuery' が /Library/WebServer/Documents/fGalaxy54/fGalaxy54/include/QueryPath/src/QueryPath.php の 158 行目に見つかりません

なんらかの理由で、自動ローダーが DOMQuery クラスをロードしていないため、サーバーにファイルを再コピーして、破損していないことを確認しました。いずれにせよ、私の同僚は、彼がサーバー上の別の場所でホストしていた querypath のコピーを私に指摘しましたが、そのコピーは何らかの理由で正常に動作します。したがって、何も解決されていませんが、サーバーの別の場所に作業コピーがあります。すべてのコメントをありがとう。

さらに明確にするために再度編集します。

別のオートローダーを使用すると、開発環境ですべてが正常に機能しました。これがある種の qp バグかどうかはわかりませんが、確かに奇妙な癖です。

4

0 に答える 0