Joomla!では、Joomla!本体やエクステンションを管理画面からアップデートすることができます。ところがアップデートしようとすると、「エラーが発生しました。No HTTP response received.」と表示され、アップデートができないことがあります。
原因は、ほとんどの場合エクステンションにあります。
エクステンションも管理画面からアップデートできるのは前述したとおりですが、すべてのエクステンションがこの機能に対応しているわけではありません。アップデート対応のエクステンションは、開発者がそれぞれ用意したアップデートサーバにアクセスし、アップデートが存在するか確認します。アップデートが見つかれば、Joomla!管理画面のトップページなどに「アップデートがあります」のように表示されます。
ところが、開発者が用意したアップデートサーバへ何らかの原因でアクセスできない場合、上記のエラーが表示されてアップデートできなくなることがあるようです。そのエクステンションだけでなく、Joomla!本体も巻き込んでアップデートできなくなります。
問題を解決するには、このアップデートできないエクステンションを特定する必要があります。インストールしてあるエクステンションが少ない場合は、1つずつアンインストールすれば特定は簡単です。しかし、すでに運用を開始しているサイトでは、この方法が現実的でないこともあります。
そこで次の方法でエクステンションのアップデートサーバを確認し、そのエクステンションを特定することができます。
- phpMyadminなどのデータベース管理ツールを使い、xxxx_update_sitesテーブルを開く(xxxxは、テーブル接頭辞。サイトによって異なる。)
- 各エクステンションのアップデートを確認するURLが表示されるので、各URLへ正常にアクセスできるか確認する
- アクセスできないURLが見つかった場合、そのレコードを削除する(必要に応じてバックアップを取ること)
- もしすべてのURLにアクセスできたとしても、URLに以上がないか確認する(例えばURLの先頭にスペースが含まれているなど)
これでJoomla!本体およびエクステンションのアップデートを試し、問題なくアップデートできるか確認してください。