LoginSignup
21
21

More than 5 years have passed since last update.

.phpenvで入れた場合のpeclモジュールの追加方法

Posted at

以前virtualbox(centos)でphpenv+php-buildインストールメモ(5.3,5.4変更確認まで)でphpenvを入れたのだが、peclのコマンドがなかった。
はてそこら辺ってどうやるんだろう??ということでpeclモジュールのmongoを入れた時のメモ

参考にしたサイト

※以降は全てroot権限で実行しています

peclコマンドがない

peclモジュールを入れるときに便利なpeclコマンドがなかった

which pecl

なかったのでphpizeで入れることにした

which phpize
/root/.phpenv/shims/phpize

pecl/mongoの取得

peclのサイトで欲しいextensionのダウンロードURLを取得する

/tmp
cd /tmp
wget http://pecl.php.net/get/mongo-1.3.4.tgz


--2013-02-26 19:44:13--  http://pecl.php.net/get/mongo-1.3.4.tgz
pecl.php.net をDNSに問いあわせています... 76.75.200.106
pecl.php.net|76.75.200.106|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 124844 (122K) [application/octet-stream]
`mongo-1.3.4.tgz' に保存中

100%[===========================================================>] 124,844      102K/s 時間 1.2s    

2013-02-26 19:44:15 (102 KB/s) - `mongo-1.3.4.tgz' へ保存完了 [124844/124844]


#tgzを解凍する
tar zxvf mongo-1.3.4.tgz 

phpizeを使ってコンパイルする

configureファイルを作成する

/tmp/mongo-1.3.4
cd /tmp/mongo-1.3.4
phpize 


Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525

configure

/tmp/mongo-1.3.4
./configure
make
#インストールする内容を確認
make test


Build complete.
Don't forget to run 'make test'.


=====================================================================
PHP         : /root/.phpenv/versions/5.4.11/bin/php 
PHP_SAPI    : cli
PHP_VERSION : 5.4.11
ZEND_VERSION: 2.4.0
PHP_OS      : Linux - Linux localhost.localdomain 2.6.32-279.19.1.el6.x86_64 #1 SMP Wed Dec 19 07:05:20 UTC 2012 x86_64
INI actual  : /tmp/mongo-1.3.4/tmp-php.ini
More .INIs  :  
CWD         : /tmp/mongo-1.3.4
Extra dirs  : 
VALGRIND    : Not used
=====================================================================
TIME START 2013-02-26 10:48:37
=====================================================================
No tests were run.

#インストール
make install


Installing shared extensions:     /root/.phpenv/versions/5.4.11/lib/php/extensions/no-debug-non-zts-20100525/
#入った

mongo.iniの追加

上記のコンパイルでextensionが/root/.phpenv/versions/5.4.11/lib/php/extensions/no-debug-non-zts-20100525/に入ってうのがわかったのでiniファイルを追加する

/root/.phpenv/versions/5.4.11/etc/conf.d/mongo.ini
#新規で作成
vim /root/.phpenv/versions/5.4.11/etc/conf.d/mongo.ini


extension=/root/.phpenv/versions/5.4.11/lib/php/extensions/no-debug-non-zts-20100525/mongo.so

apacheの場合は再起動

いつもどおりで

/etc/init.d/httpd restart

nginxの場合はphp-fpmをkillしてnginxの再起動

php-fpmのプロセスを殺す

ps aux | grep php


root      2331  0.0  0.6 291632  6580 ?        Ss   19:17   0:00 php-fpm: master process (/root/.phpenv/versions/5.4.11/etc/php-fpm.conf)
nobody    2332  0.0  0.9 291788  9308 ?        S    19:17   0:00 php-fpm: pool www
nobody    2333  0.0  0.9 291788  9308 ?        S    19:17   0:00 php-fpm: pool www
root      7932  0.0  0.0 107460   916 pts/0    S+   20:06   0:00 grep php

#プロセスを殺す
kill 2331

nginxの再起動

/etc/init.d/nginx restart
nginx を停止中:                                            [  OK  ]
nginx を起動中:                                            [  OK  ]

後はphpinfo()とかでmongoのモジュールが入っていればOK
以上。

21
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
21