先生、CentOS6にPHP-GDモジュールが入りません!
ということで少し小林朋道著『先生、シマリスがヘビの頭をかじっています!』のシリーズ風に表題を書いてみました。
題名だけですが・・・
*************************************************************
さくらインターネットVPS centOS6 64bit サーバ移行 設定変更 追記
まだまだポロポロと設定忘れがあったのでサーバ移行の追記を書きたいと思います。
1年前位にcentO5の設定やったのにすでにすっかりと忘れていました。
ということでそのほか追加設定した事項を書いときます。
wordpressで写真を投稿するときに写真サイズをフルサイズしか選択出来なくなってしまった。
(写真サイズがサムネイル、中、大、フルサイズがありますが他のボタンが押せなくなっていました。)
そういえば、先回のサーバ移行のときもこれあったなぁ~と思い出しましたが今回は、一筋縄ではいきませんでした。
PHP-gdモジュールというものが必要らしいということを思い出し色々と試してみました。
まずそのまんまyumでインストールしてみます。
yum -y install php-gd
このまま入れば、/etc/init.d/httpd restart で問題ないですが、今回のサーバの場合は、
##################################################
–> Finished Dependency Resolution
Error: Package: php-gd-5.3.3-3.el6_2.8.x86_64 (updates)
Requires: php-common = 5.3.3-3.el6_2.8
Installed: php-common-5.3.14-1.el6.remi.x86_64 (@remi)
php-common = 5.3.14-1.el6.remi
Available: php-common-5.3.3-3.el6_1.3.x86_64 (base)
php-common = 5.3.3-3.el6_1.3
Available: php-common-5.3.3-3.el6_2.5.x86_64 (updates)
php-common = 5.3.3-3.el6_2.5
Available: php-common-5.3.3-3.el6_2.6.x86_64 (updates)
php-common = 5.3.3-3.el6_2.6
Available: php-common-5.3.3-3.el6_2.8.x86_64 (updates)
php-common = 5.3.3-3.el6_2.8
You could try using –skip-broken to work around the problem
You could try running: rpm -Va –nofiles –nodigest
##################################################
こんな感じでphp-commonがあるからインストールできないみたいです。(詳しくはわかりませんが)
そんでphp-commonを消してから入れれば良いというサイト見つけましたが、
一緒にphp-mysqlとか他のモジュールも消しちゃうみたいなので却下しました。
(実際サーバ運用中なので動かなくなったりしたら最悪再インストールになるのでやめました。)
一応やってみます。
(下記は、-yをつけていないのであとから実行していいか、聞かれるので大丈夫です。)
yum remove php-common-5.3.14-1.el6.remi.x86_64
##################################################
Loaded plugins: downloadonly, fastestmirror, priorities, security
Setting up Remove Process
Resolving Dependencies
–> Running transaction check
—> Package php-common.x86_64 0:5.3.14-1.el6.remi will be erased
–> Processing Dependency: php-common(x86-64) = 5.3.14-1.el6.remi for package: php-mbstring-5.3.14-1.el6.remi.x86_64
–> Processing Dependency: php-common(x86-64) = 5.3.14-1.el6.remi for package: php-mcrypt-5.3.14-1.el6.remi.x86_64
–> Processing Dependency: php-common(x86-64) = 5.3.14-1.el6.remi for package: php-pdo-5.3.14-1.el6.remi.x86_64
–> Processing Dependency: php-common(x86-64) = 5.3.14-1.el6.remi for package: php-5.3.14-1.el6.remi.x86_64
–> Processing Dependency: php-common(x86-64) = 5.3.14-1.el6.remi for package: php-cli-5.3.14-1.el6.remi.x86_64
–> Running transaction check
—> Package php.x86_64 0:5.3.14-1.el6.remi will be erased
—> Package php-cli.x86_64 0:5.3.14-1.el6.remi will be erased
—> Package php-mbstring.x86_64 0:5.3.14-1.el6.remi will be erased
—> Package php-mcrypt.x86_64 0:5.3.14-1.el6.remi will be erased
—> Package php-pdo.x86_64 0:5.3.14-1.el6.remi will be erased
–> Processing Dependency: php-pdo(x86-64) = 5.3.14-1.el6.remi for package: php-mysql-5.3.14-1.el6.remi.x86_64
–> Running transaction check
—> Package php-mysql.x86_64 0:5.3.14-1.el6.remi will be erased
–> Finished Dependency Resolution
Dependencies Resolved
============================================================================================
Package Arch Version Repository Size
============================================================================================
Removing:
php-common x86_64 5.3.14-1.el6.remi @remi 6.3 M
Removing for dependencies:
php x86_64 5.3.14-1.el6.remi @remi 7.3 M
php-cli x86_64 5.3.14-1.el6.remi @remi 6.3 M
php-mbstring x86_64 5.3.14-1.el6.remi @remi 4.1 M
php-mcrypt x86_64 5.3.14-1.el6.remi @remi 92 k
php-mysql x86_64 5.3.14-1.el6.remi @remi 448 k
php-pdo x86_64 5.3.14-1.el6.remi @remi 353 k
Transaction Summary
============================================================================================
Remove 7 Package(s)
Installed size: 25 M
Is this ok [y/N]: N
##################################################
やっぱり消しちゃうみたいなのでNでキャンセルしました。
ということでもう少しググッて見ると
yum –enablerepo=remi -y install php-gd
上記のようにリポジトリをremiで指定してインストールすると他のモジュールを消さずに出来るみたい。
けどremiのリポジトリは、現在入ってないので入れます。
(ちなみに先日このリポジトリを入れていたので上記のphp-common関連のパッケージでremiの文字が入ってます。
必要ないと思いすぐにリポジトリの削除で消してしまいました。)
ついでに必要そうなレポジトリ3つほど一緒にいれます。
色々なサイトの真似で入れてみるとエラーがでて出来ないものとかもあったのですが下記のでうまくいきました。
多分releaseバージョンの違いとかもあるのではないでしょうか?
それとhttp://で指定しているのですがそのサイトにそのものがないとか、色々考えられます。直接URL指定して確認作業もありです。
エラー一例
# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
http://rpms.famillecollet.com/enterprise/remi-release-6.rpm を取得中
エラー: 依存性の欠如: epel-release >= 6 は remi-release-6-1.el6.remi.noarch に必要とされています
成功一例
# rpm -ivh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm を取得中
準備中… ########################################### [100%]
1:rpmforge-release ########################################### [100%]
##################################################
まずrpmforgeリポジトリの取得
rpm –import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -ivh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
epelリポジトリの取得
rpm –import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
rpm -ivh epel-release-6-7.noarch.rpm
remiリポジトリの取得
rpm –import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/6/remi/x86_64/remi-release-6-1.el6.remi.noarch.rpm
##################################################
あとは、通常使わなければviで編集してenable=0とかpriority=10とかにして必要なときに使うようにしたほうがいいようです。
リポジトリ同士で混在するとインストール、アップデートしたあとに不具合が出る可能性があるそうです。
通常は、デフォルトのリポジトリで、必要に応じてenable=0→enable=1がいいのかと思います。
(※ 私も色々なサイトのコマンドを試しつつやったのでもしかしたら上記コマンドで出来ないかもしれないのでご了承ください。)
あと/etc/yum.repos.d の中を確認するとどんなリポジトリが入っているかわかります。
ちなみに私のところは、lsでみますと
##################################################
CentOS-Base.repo CentOS-Media.repo mirrors-rpmforge remi.repo
CentOS-Base.repo.orig epel-testing.repo mirrors-rpmforge-extras remi.repo.rpmsave
CentOS-Debuginfo.repo epel.repo mirrors-rpmforge-testing rpmforge.repo
##################################################
結局のところ下記のコマンドを発行してサムネイル表示完了しました!!(httpdのrestartを忘れずに)
yum –enablerepo=remi -y install php-gd
##################################################
Loaded plugins: downloadonly, fastestmirror, priorities, security
Loading mirror speeds from cached hostfile
* remi: rpms.famillecollet.com
remi | 2.9 kB 00:00
remi/primary_db | 261 kB 00:01
Setting up Install Process
Resolving Dependencies
–> Running transaction check
—> Package php-gd.x86_64 0:5.3.14-1.el6.remi will be installed
–> Processing Dependency: libt1.so.5()(64bit) for package: php-gd-5.3.14-1.el6.remi.x86_64
–> Processing Dependency: libXpm.so.4()(64bit) for package: php-gd-5.3.14-1.el6.remi.x86_64
–> Running transaction check
—> Package libXpm.x86_64 0:3.5.8-2.el6 will be installed
—> Package t1lib.x86_64 0:5.1.2-6.el6_2.1 will be installed
–> Finished Dependency Resolution
Dependencies Resolved
============================================================================================
Package Arch Version Repository Size
============================================================================================
Installing:
php-gd x86_64 5.3.14-1.el6.remi remi 133 k
Installing for dependencies:
libXpm x86_64 3.5.8-2.el6 base 59 k
t1lib x86_64 5.1.2-6.el6_2.1 updates 160 k
Transaction Summary
============================================================================================
Install 3 Package(s)
Total download size: 351 k
Installed size: 1.2 M
Downloading Packages:
(1/3): libXpm-3.5.8-2.el6.x86_64.rpm | 59 kB 00:00
(2/3): php-gd-5.3.14-1.el6.remi.x86_64.rpm | 133 kB 00:01
(3/3): t1lib-5.1.2-6.el6_2.1.x86_64.rpm | 160 kB 00:00
——————————————————————————————–
Total 181 kB/s | 351 kB 00:01
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
Installing : libXpm-3.5.8-2.el6.x86_64 1/3
Installing : t1lib-5.1.2-6.el6_2.1.x86_64 2/3
Installing : php-gd-5.3.14-1.el6.remi.x86_64 3/3
Installed:
php-gd.x86_64 0:5.3.14-1.el6.remi
Dependency Installed:
libXpm.x86_64 0:3.5.8-2.el6 t1lib.x86_64 0:5.1.2-6.el6_2.1
Complete!
##################################################