0

xslt プロセスを実行しようとしています:

$xslt = new XSLTProcessor(); 

かなり標準的ですが、サーバー500エラーが発生しているため、少し不満があります。PHPエラーログを見つけようとして無駄になり、httpdエラーログを確認したため、この問題に関連するエラーは表示されません.

私は現在、PHP 5.3.3 (最新) がインストールされた Centos v6 64 ビット OS を実行しています。php-xsl が存在しないため、php-xml の yum インストールを実行しました。私のローカルWindowsマシンでは幸せな日々なのに、なぜこれが死んでいるのですか!

4

1 に答える 1

3

エラー 500 は解析エラーまたは別の致命的なエラーを示しているため、最初の推測では、XSLTProcessor クラスが欠落している (XSL モジュールがロードされていない) と考えられます。xsl.so がロードされた拡張 (extension=xsl.so) として追加されていること、および xml モジュールと一緒にインストールされていることを確認してください (そうである必要があります - 私が見る限り、Centos の php-xml に存在します)。

phpinfo() 呼び出しを実行し、そこに xsl / xml があるかどうかを確認します。error_log の値をチェックして、特定の PHP エラーが記録されている場所を確認し、error_reporting が E_NONE / 0 に設定されていないことを確認し、log_errors がオンになっていることを確認します (そうでない場合、エラー ログにエラーは表示されません)。またはphpログ)。

それでもよくわからない場合は、単純に var_dump(class_exists("XSLTProcessor")) を実行して、クラスが使用可能かどうかを確認してください。

これは何をする必要があるかについての正確な答えではありませんが、提供した情報から何が問題なのかを見つけるのに十分な情報を提供するはずです。

于 2012-07-16T21:37:21.023 に答える