【Server】wordpress雑記
2014/01/18
今まで使っていたテーマファイルがモバイル端末に対応していないし、
開発者がサイトを閉鎖してしまったので、新しいテーマに変更しました。
テーマファイルをニコニコプレス(夏)からSTINGER3に変更
今まで使っていたニコニコプレスですが、wordpressのメジャーバージョンアップで、
記事抜粋のexcerptの関数がバグっていたり、携帯端末に非対応と言うこともあり、
思い切ってSTINGER3に変更しました。
STINGER3のサイトはこちら→STINGER3
既存の問題
PHPの文字化け対策
CentOSで自宅サーバー構築
自宅のサーバは上記サイトを元に作成しました。
ですが、PHPで文字列関数を使うと、文字化けが発生していました。
記事の本文の省略などで、最後の文字が「�」←こうなってしまう現象ですね。
LinuxやSQLでいくらcharsetをUTF-8にしていても、PHPで使用する内部エンコーディングを合わせてあげないと駄目みたいですね。
解決法は、
vi /etc/php.ini
に、下記を追加してあげればPHPの内部エンコーディングをUTF-8に指定してあげる事ができます。
mbstring.http_input = UTF-8 mbstring.encoding_translation = On mbstring.internal_encoding = UTF-8 mbstring.substitute_character = "?" default_charset = UTF-8
こちらは荒業ですが、mb_substrの3番目の引数で文字コードを設定してあげれば、
その部分だけ指定した文字コードで扱ってくれるみたいです。
mb_substr($str,0,1,"utf-8");
サーバサイドのphp.iniを容易に書き換えられない場合は、
ヘッダーなどに指定する方法もあるそうなので、そちらのほうが良いかもしれませんね。
PHPの問題
上記の文字化け対応中に、phpのバージョンの確認をしようとしたら、下記エラーが発生しました。
[root@centos ~]# php -v PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/apc.so' - /usr/lib/php/modules/apc.so: cannot open shared object file: No such file or directory in Unknown on line 0 PHP 5.2.10 (cli) (built: Nov 13 2009 11:24:03) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
APC.soが無いって怒られてますね。
pecl install APC
上記コマンドでAPCをインストールしたら、php.iniの最終行に下記を追記して完了です。
; Enable apc extension module extension=apc.so
以上、お疲れ様でした。
関連記事
-
【第三回】自宅でサーバー.com
構成が決まり以下のパーツにする事が決まった。
-
【Server】DenyHostsのインストール
リモートログイン(ssh)のセキュリティ強化
-
【Linux】今更気づく俺もアホなんだけど・・・
Clam AntiVirusでエラー!?
皆はちゃんと対処しよう!!
-
【第二回】自宅でサーバー.com
今回はハードウェア構成のお話
-
【第四回】自宅でサーバー.com
マシン組み立て終わり!!
-
【第一回】自宅でサーバー.com
独自ドメインを取得して、自作機(ATOM)を使い奮闘するヘタレ鯖管のお話
-
【Server】なん・・・だと!?
なんと無料でワードプレスが使えちゃうレンタルサーバがありますたwwwww