新しいDrupalインストールで非常に奇妙な問題があります:一部のページで、_ERR_EMPTY_RESPONSE
_を含むWSODを受け取ります:
たとえば、_admin/config/development/performance
_でClear all cachesをクリックすると発生します。 (ただし、他のページも影響を受けます。たとえば、NodeタイプのLayout Builderページ)。
興味深いことに、ここでバグを特定することができます。もしvendor/symfony/http-foundation/Response.php::sendHeaders()
の場合は、コードを微調整して、送信する多くのヘッダー(実際には、_X-Generator
_と_X-Frame-Options
_)、エラーが消えます。
_...
$headers = $this->headers->allPreserveCaseWithoutCookies();
unset($headers['Cache-Control']);
unset($headers['Content-language']);
unset($headers['Date']);
unset($headers['X-Drupal-Dynamic-Cache']);
unset($headers['X-UA-Compatible']);
unset($headers['X-Content-Type-Options']);
unset($headers['Expires']);
unset($headers['Vary']);
foreach ($headers as $name => $values) {
...
_
私が設定解除したヘッダーに基づいて、それはキャッシング関連の問題であるようです。 (ただし、キャッシュはオフになっています、ブラウザとプロキシキャッシュの最大経過時間は_<no caching>
_に設定されています。)
私のセットアップ:
問題が何であるか考えていますか?
編集:Apacheエラーログに関して:最初はそこにエントリがありませんでしたが、今度は再度デバッグしてそのようなエントリを確認しました。
_[core:notice] [pid 92592] AH00052: child pid 98466 exit signal Bus error (10)
_
グーグルは suggestion をapc_clear_cache();
に与えましたが、PHP7では使用できません。だから私は opcache-reset() を実行しました。
結果:ページ__admin/config/development/performance
_を開いたときに、まだ問題が残っています。
エラーログは今言う:
_ [core:notice] [pid 7428] AH00052: child pid 7446 exit signal Segmentation fault
_
Google suggests これは、_php.ini
_の構文エラーまたはそこに含まれる拡張機能が原因である可能性があります。したがって、私はすべての拡張機能を取り出しました。
_zend_extension=/usr/local/opt/php/lib/php/20180731/opcache.so
_
しかし、問題は残っています。
編集2:これが私の_php -i
_の出力です(phpinfo()
と同じ_php.ini
_ファイルを使用しています) localhostで)。 https://Pastebin.com/ppvCpPA6
今、私はそれを自分で解決することができました。 Apacheのエラーログに表示されました
AH00052: child pid 7363 exit signal Segmentation fault (11)
したがって、Apacheの設定に問題があったに違いありません。
私は機会を利用してApacheを再インストールし、FCGI/FPMこれによる で構成しましたが、問題は解決しました。
実行時のデバッグモードの設定に同じ問題があります
drupal smo dev
Prodモードに設定すると問題が発生します
drupal smo prod
しばらくデバッグした後、キャッシュヘッダーが原因で問題が見つかりました。そして、私は変わります
http.response.debug_cacheability_headers: true
に
http.response.debug_cacheability_headers: false
それは再び働いています。