php.iniを直接編集できないレンタルサーバーで、php.iniの設定を.htaccessで変更する方法

このサイトもそろそろ常時SSL化しなくては、ということで、
無料でSSLサーバー証明書が使えてWAFも入っている
ファーストサーバーの「Zenlogicホスティング」プランSを契約して、
さくらのレンタルサーバーから移行作業をしています。

一般的なレンタルサーバー(共用)と違い、
「Zenlogicホスティング」は仮想専用構造(VPS)のため
phpMyAdminを自分でインストールしなくてはならなかったり
(簡単インストール機能があるので簡単でしたが)
戸惑うこともありながらも、ある意味楽しみつつ進めております。

そして、何とかWordPressをインストールしてデータを移し替えながら
サイトの完成を目指している途中・・・

「メニュー」の設定をしようとして、文字化けが発生。

 

対策方法は、検索したらすぐに見つかりました。

 

要は、php.iniの設定を変更すれば良いのですが、
「Zenlogic」では、直接php.iniの編集ができないことが判明。

 

そこで、.htacsessファイルで設定することにしました。

その手順が以下のとおりです。

 

まず、現在の設定がどうなっているかを確認するため、
「info.php」というファイルを作成して、下記のとおり記述します。

<?php
 echo __FILE__;
 ?>

 

TeraPadで作成すると、こうなります。

 

それをWordPressのトップと同階層にアップロードしました。

 

そして、https://WordPressのドメイン/info.php にアクセスしますと
このようにPHPの情報が表示されます。

 

今回は、mbstring.encoding_translation の設定がどうなっているかを見たいので、
ずーっと下にスクロールしていき、見つけました。

「mbstring.encoding_translation」が「On」になっていましたので、
これを「Off」にしてみます。

 

サーバーから「.htaccess」ファイルをダウンロードして、このように(赤枠部分)追記しました。

<Files *.php>
php_value mbstring.encoding_translation "Off"
</Files>

 

記述方法はコチラを参考にさせていただきました。

 

そして、修正後の.htaccessを再度サーバーへアップロード。

先ほどのPHPの情報が表示されたページをリロードすると、

ちゃんと「mbstring.encoding_translation」が「Off」になっていました。

 

さて、これでメニューの文字化けが直るか・・・

無事、直りました!

 

最後に「info.php」のファイルをサーバーから削除。

 

文字化け以外でも、アップロードできるファイルサイズの上限を上げたい、など
php.ini設定を変更したいケースはいろいろあると思います。

その時に、php.iniを直接触れないレンタルサーバーでも
.htaccessで設定できる方法を知っていれば、何かと便利だろうなと感じました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA