最近、XHP 1.5 をソースからビルドし、既存の Web サーバーにインストールしました。Web サーバーは PHP 5.4.32、mod_php (fastcgi ではない) を使用して PHP を呼び出す Apache 2.2.15、CentOS 6.5 を実行しています。既存のすべての PHP コード (新しい XHP 構文に依存しないもの) は、Imagick、curl、JSON などの他の拡張機能を含め、引き続きうまく機能します。
XHP インストールテストに基づくテスト ファイルの使用:
<?php
echo "XHP!\n";
exit;
echo <a/>;
?>
コマンドラインから実行すると、これは期待どおりに機能します。(XHP! を出力して終了します。パーサーが失敗する原因にはなりませんが、依存関係を読み込んでいないため、どちらも表示されません。)
このスクリプトを Apache 経由でフェッチすると、エラーが発生します
Parse error: syntax error, unexpected '<' in /var/www/html/bloom/play.php on line 4
Apache 経由で phpinfo() を取得すると、XHP がロードされていることが示され、Apache 経由で extension_loaded("xhp") を実行すると true が返されます。
XHP がコマンド ラインから動作するのに、Apache 経由で実行すると動作しない (解析すらしない) 原因は何ですか?