2

phpDocumentor を呼び出してドキュメントを生成すると、XSLT 変換が開始されるまですべて正常に動作します。次に、次のメッセージが表示されます。

[phpDocumentor\Plugin\Core\Exception]
The XSL writer was unable to find your XSLTProcessor; please check if you have 
installed the PHP XSL extension

XSLT Support for PHP がインストールされ、アクティブ化されているため、非常に混乱します。これは、Debian ターミナル経由の PHP 情報のスクリーンショットです。

xsl
XSL => enabled
libxslt Version => 1.1.26
libxslt compiled against libxml Version => 2.7.7
EXSLT => enabled
libexslt Version => 1.1.26

環境:

  • アパッチ 2
  • PHP 5.3.3 (php5-cli / xslt-support を後でインストール)
  • Zend Engine 2 を搭載した Zend サーバー
  • phpDocumentor2 (梨のインストール)

誰が問題が何であるか考えていますか?

4

1 に答える 1

0

最後に、問題を見つけて解決できました:

問題は、CLI-PHP.ini によってロードされた拡張機能でした。

すべての拡張機能 (およびそのインターフェイス) を同じディレクトリにコピーすることで、問題を解決しました。Zend ファイル構造内の 1 つのディレクトリにすべての拡張機能 (およびそのディレクトリにすべてのインターフェイスをまとめて)。

次に、この拡張ディレクトリ *(usr/local/zend/lib/php_extension)* をターゲットとするCLI-config ディレクトリ(/etc/php5/cli/)にシンボリック リンクを配置し、使用可能な拡張機能 ( .so) を指定します (! )しかし、拡張機能を使用するためのインターフェース( .ini)は、デフォルトのphp5拡張ディレクトリ(/etc/php5/conf.d/)に入れ、CLI-php.iniでそれに気付きました。これにより、CLI で使用される拡張機能が削減されます (一部の拡張機能が「二重に含まれる」)。

最後に、(拡張ではなく) インターフェイスを php5-default 拡張ディレクトリ(/etc/php5/conf.d/)にコピーして、XSLT 拡張をアクティブにしました。

これで、システム上のすべての PHP5x 構成で、システム内に一度だけ配置された同じ拡張機能を使用できるようになりました。そして、今では非常にうまく機能しています。

これが誰かを助けることを願っています。

于 2012-12-05T08:33:02.067 に答える