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

  • URLをコピーしました!

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

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

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

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

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

グローバルナビゲーションだけ文字化けしてしまう

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

[blogcard url=”https://faq.zenlogic.jp/faqs/FAQ01045/” title=”php.iniファイルを編集することはできますか。” content=”「php.ini」を直接編集する機能はご用意していませんが、「.htaccess」ファイルを設置することで一部の内容やパラメータを変更することができます。”][/blogcard]

そこで、.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>

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

[blogcard url=”http://qiita.com/danpansa/items/fc114f9b558020c4c3d4″][/blogcard]

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

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

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

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

無事、直りました!

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

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

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

よかったらシェアしてね!
  • URLをコピーしました!
目次