Imsanityエラー
2013年9月4日 / Server, wordpress, 作業記録
書きたいネタは沢山あるんですよ.
まとめる時間が取れていないっていう残念な事態orz
今回のネタは,Wordpressの画像をアップデートする時に自動的にリサイズしてくれる便利なプラグイン「Imsanity」についてです.
導入当初からエラーがでて放置してたのですが,これからのことを思いちゃんと直しました.
以下にその経緯を.
まず,どんなエラーだったかというと,
ほう...
とりあえずGoogle先生に聞いてみたところ,「GDライブラリ入ってなにんじゃね?」っていう話し
参考:http://wordpress.org/support/topic/imsanity-php-error-on-upload-of-image
GDライブラリって何?(まぁ自分は初心者なので
原因を要約すると、GDライブラリが入ってないからだ!インストールすればよいのだ!と書いてあります。
では、GDライブラリ(以下、GD)とは、なんぞ??
それは、GIF、JPEG、PNGなどの形式をサポートしている画像処理ライブラリです。
引用:http://www.hougetsudou.com/wp/archives/1122
だそうです.
とりあえず,自分の鯖に入っているのか確認してみましょう
$ gdlib-config --version
→コマンドが見つかりません.
PHPのモジュールだそうなので,
$ php -m
→やっぱりありませんでした.
GDライブラリが動作していない(=disable)なのか,そもそもインストールされていないのかという問題については,phpinfoを見ればよいそうです.
・phpinfoで確認する: https://forums.digitalpoint.com/threads/how-to-check-if-gd-library-is-installed.234025/
・PHPでGDライブラリがenableなってるか?:http://i-njoy.net/blognplus/index.php?e=66
じゃあ,入れましょう.
こちらのサイトと状況が似てますね.
http://www16071ue.sakura.ne.jp/wordpress/2012/07-08-3978.html
とりあえずインストールコマンドを打ってみましょう
$ yum install php-gd
結果は,
Installed: php-common-5.4.10-1.el6.remi.x86_64 (@remi)
php-common(x86-64) = 5.4.10-1.el6.remi
Available: php-common-5.3.3-22.el6.x86_64 (base)
php-common(x86-64) = 5.3.3-22.el6
Available: php-common-5.3.3-23.el6_4.x86_64 (updates)
php-common(x86-64) = 5.3.3-23.el6_4
You could try using –skip-broken to work around the problem
You could try running: rpm -Va –nofiles –nodigest
まー予想通りですね.
結論からするとphp-commonとかいうのを一旦消してからphp-gdを入れれば良いそうなのですが,php-mysqlとかも消えることになるけどいいの?っていう話
んー
めんどくせーからやっちまえー
$ yum remove php-common
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Removing:
php-common x86_64 5.4.10-1.el6.remi @remi 6.2 M
Removing for dependencies:
php x86_64 5.4.10-1.el6.remi @remi 9.1 M
php-cli x86_64 5.4.10-1.el6.remi @remi 7.7 M
php-mysql x86_64 5.4.10-1.el6.remi @remi 447 k
php-pdo x86_64 5.4.10-1.el6.remi @remi 348 k
Transaction Summary
================================================================================
Remove 5 Package(s)
んじゃ次に
$ yum install php-gd $ yum install php-mysql php-cli php-pdo
適用されてないんじゃないかなと思って
$ sudo service httpd reload
[失敗]
・・・おうふ(´・ω・`)
php入れるの忘れてました.
$ yum install php
これで,apacheをreloadすると,phpinfoを確認すると,無事にGDがenableになっていることが確認できました.
さあ,画像のアップデートをしてリサイズを試してみよう.いつも通りWordpressで...
・・・
おうふ(´・ω・`)
php.infoに書いてあるアップロード上限が2Mになってたので,10Mに書き換えて再度apacheのreloadを行い,終了です.
無事「Imsanity」が使えるようになりました.
タグ: wordpress
[…] ※こちらを参考にさせていただきました。 僕の場合は、 yum install php-gd […]
[…] 参考にさせていただきました:WebTank様 […]
追加補足
たまに参考にしてくださる方がいらっしゃるので,もう少し整理しておきます.
(読みづらい記事で申し訳ありません...)
この記事では,
・php-commonを消去
・php-gdを導入
・php(標準リポジトリ)を再度導入
・アップロード上限の変更
という作業を行っています.
php-commonを消したりややこしいことが必要だなーという感じかもしれませんが,
実際に必要なのは,「php-gd」の導入です.
なんでこんな複雑になっているかというと,サーバーを構築した当初,phpの最新バージョン(5.4.10)を入れたためです.
導入しようとしているphp-gdに適合するphpのバージョンが違いますよ,とそんな感じです.
Requires: php-common(x86-64) = 5.3.3-23.el6_4
Installed: php-common-5.4.10-1.el6.remi.x86_64 (@remi)
ここらへんのエラーメッセージの通りですね.
php-gd入れるために,phpを標準リポジトリ版に戻した次第です.
まぁphp5.4.10をインストールするは,標準ではなくRemiリポジトリを指定しなければならないため,
意図的にこういったことをしない限り,前半の作業は不要なんじゃないかなと思います.