:::: MENU ::::
Posts tagged with: php

WEBページの文字化けはApacheの設定だけではなかった

CentOS7にて、yumでインストールしたApacheで、以前の設定のまま稼働状態になっていたにも関わらず、なぜかUTF-8以外のページが文字化けしていた。

UTF-8以外のページは、charsetの文字コードも記述しているにも関わらず、ブラウザー(Safari,Firefox,Google Chrome)で自動認識されない症状。

Apacheの設定では、このようば文字化けに関する設定は、/etc/httpd/httpd.conf内のAddDefaultCharが関係しているので、

#AddDefaultCharset UTF-8
AddDefaultCharset Off

このどちらかを記述していれば問題ないはず。

さらには、conf.d内のバーチャルホスト等の設定も、これらの記述は書かれていないことを確認。
設定を変更したならば、Apacheを再起動することで有効になるが、これでも文字化けは解決せず。

かなり、時間を費やして、ページや設定を弄りましたが、どうやら、この問題はApacheだけではなかったようです。

それは、PHPの設定

PHPの設定でも、以前から全く変更はしていませんでしたが、/etc/php.ini内のdefault_charsetを空白にする必要があるようです。

;default_charset = "UTF-8"
default_charset = ""

これで、Apacheを再起動したところ、文字化けが解消されました。

文字化けしてたページ内では、ごく普通なHTMLで、PHP構文は使ってないにも関わらず、 PHPが関係していたのです。


WordPressでデバッグオンにした時、Unable to allowcate memry ..が出る場合の対処

WordPressの設定ファイルで、デバッグをONにしたところ、下記のような警告が出る場合がある。

Warning: include_once() [function.include-once]: Unable to allocate memory for pool. in /var/www/…

どうやら、APCが原因のようで、WordPressのデバッグに限らず、PHPのフラグONでも警告が出る模様。

APCを外すか、.htaccessでオフにすれば警告が出なくなる。

php_flag apc.cache_by_default Off


JpGraphのphp設定

Jpgraphを使う際に、ライブラリのパスを設定する必要があるので、php.iniを編集。

jpgraphのインストール先は、/var/www/jpgraphとした場合、include_pathを設定します。

# vi /etc/php.ini
...
include_path = ".:/var/www/jpgraph"
...
...

保存後に、Apache再起動