先日、このサイトをWordPress4.6にアップデートところ下記のようなエラーが表示されました。

Warning: ini_get_all() has been disabled for security reasons in /home/username/public_html/www.affiliate-tankyu.net/wp-includes/load.php on line 1020

調べてみると、WordPressの中で利用しているサーバーで、あるコマンドを使えないためでした。

それは、ini_get_all()。

このコマンドが使えないので、エラーが出たようです。

WordPressのサポートサイトでは、同じようなエラーが出ている人が続出してました。

https://wordpress.org/support/topic/warning-ini_get_all-has-been-disabled-for-security-reasons

この問題の解決方法としては、php.iniを編集してini_get_all()を使えるようにするか、phpのバージョンをアップするかどちらかのようです。

私の利用しているレンタルサーバーでは、phpのバージョンをアップを私の方で勝手にできないので、php.iniを編集しようとしたのですが、これもできませんでした。

なので、レンタルサーバーのサポート(海外)にメールで問題への対応を依頼しました。

すると、数日して問題へ対応したとの連絡が来ました。

実際に問題は解決できていました。たぶん、php.iniを編集してini_get_all()を使えるようにしてくれたのでしょう。

ただし、すべてのレンタルサーバーでこのような問題が起きるわけではないです。ini_get_all()の利用を許可してないサーバーだけです。

レンタルサーバー側としては、セキュリティ対策のためなるべくサーバー利用者にコマンドを開放したくないのでしょう。

今回のようなトラブルが生じた時に、サーバー側で対応してもらえたりphp.iniを編集できればいいのですが、もし、それができない場合は、自分で対応する必要があります。

その場合は、load.phpを編集して

<編集前>
$ini_all = ini_get_all();

<編集後>
// $ini_all = ini_get_all();

とすれば、エラーは生じません。

ただし、これは暫定的な対策です。恒久的にこれで問題がないかはわかりません。

ですので、変更するなら自己責任でお願いします^^。