2026年11月6日
2026年11月6日
WordPressのXSLT拡張が無効な場合の対処
はじめに
XSLT (Extensible Stylesheet Language Transformations) 拡張は、PHPでXMLデータを変換するための重要なツールです。WordPressテーマやプラグインの一部がこの拡張を利用している場合がありますが、サーバー環境によってはこれが無効になっていることがあります。その結果、エラーが発生したり、ページが白い画面になる可能性があります。
症状・背景
この記事が必要な主な場面:
- <サーバー設定によりXSLT拡延が無効になっている場合>
- <特定のページや機能が正常に動作しない場合>
手順・設定方法
ステップ1: XSLT拡張を有効にする
# php.iniファイルを開く(一部のサーバーでは /etc/php/7.4/apache2/php.ini など)
nano /etc/php/7.4/apache2/php.ini
# 'disable_functions'行を探し、そこに 'xsl' を削除するかコメントアウトする
; disable_functions = xsl, ...
# 変更を保存してphp.iniファイルを閉じる(Ctrl+Oで保存、Ctrl+Xで終了)
ステップ2: サーバー設定を更新
# Apacheの設定ファイルを開く
nano /etc/apache2/mods-available/php7.4.conf
# 'php_admin_value'行を探し、そこに 'disable_functions = xsl' を削除するかコメントアウトする
; php_admin_value[security][arg_separator] = "&"
; php_admin_value[security][disable_functions] = "xsl"
# 変更を保存して設定ファイルを閉じる(Ctrl+Oで保存、Ctrl+Xで終了)
ステップ3: サーバーの再起動
# Apacheサーバーを再起動する
sudo systemctl restart apache2
# PHP-FPMプロセスも必要であれば再起動する
sudo systemctl restart php7.4-fpm
ステップ4: 確認とテスト
# サーバーのPHP情報を確認する
php -i | grep xsl
# WordPressサイトをブラウザで開き、問題が解決したことを確認する
注意事項
- <実践的な注意点1>: 上記手順は一般的なLinuxサーバー環境向けですが、具体的な設定は各サーバーのドキュメントや管理者に確認してください。
- <実践的な注意点2>: XSLT拡張を有効化した後も問題が解決しない場合は、他のPHP設定またはテーマ/プラグインの問題が原因である可能性があります。その場合、より詳細なトラブルシューティングが必要となります。
- <セキュリティ上の注意>: サーバー設定を変更する際は、システム全体に対する影響やセキュリティリスクを十分に確認してください。
- <パフォーマンス/運用上の注意>: XSLTの使用は特定のケースでパフォーマンスへの負荷が発生することがあります。必要な場合のみ有効化することをお勧めします。
まとめ
1. XSLT拡張を有効にする: PHP設定ファイルとサーバー設定ファイルを確認し、必要に応じて変更を行います。
2. サーバーを再起動する: 設定の更新が適切に反映されるよう、ApacheやPHP-FPMプロセスを再起動します。
3. 問題が解決したか確認する: 変更後の設定が正しく機能していることをテストしてみましょう。
4. 追加のトラブルシューティングが必要な場合: 他の原因による可能性もありますので、その際は詳細な調査を行うことが重要です。
関連記事: