先日、このサイトを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();
とすれば、エラーは生じません。
ただし、これは暫定的な対策です。恒久的にこれで問題がないかはわかりません。
ですので、変更するなら自己責任でお願いします^^。