分类: 数据库开发技术
2012-01-05 15:11:55
成功编译好后,产生一个mongo.so文件,将它移到php扩展所在目录,这里为:/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613
接着需要修改/usr/local/lib下(编译php时指定的php.ini的路径) php.ini,找到 extension=modulename.extension,在下面一行添加extension=mongo.so,注意和windows写法的差异,重新启动apache,在网站根目录新建一个test.php文件,看phpinfo有没有侦探到mongodb模块。
我这里并没有侦探这个模块,因此怀疑是php.ini没加载,但test页面显示确实正确加载了php.ini的路径,下面也确实存在php.ini这个文件。网上搜了下这个问题,发现很多网友碰到过同样的问题,windows比较好办, 一般做法:通过设置PHPRC 环境变量,
a) 操作:右击我的电脑->属性->高级->环境变量
b) 在系统变量下新建一个“变量名为PHPRC ,变量值为你的php.ini文件所地文件路径”的环境变量
详见:,一般这样设置是没问题的,即使不用设置PHPIniDir的值,为了保险还是设置下这个值吧,刚接触php的时候经常遇到这个问题,非常郁闷。
查看了apache日志发现是mongodb路径没找到,于是重新检查了下php.ini,extension_dir的位置,这里为/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613,比较长所以弄错了,另外配置文件没找到可以在apache的配置文件中指定就ok了,在以下一行LoadModule php5_module modules/libphp5.so添加
PHPIniDir '/usr/local/lib/php.ini'
重启apache就找到mongodb模块扩展啦
配置后mongodb的php扩展后就可以在php程序中使用mongodb数据库了,这里写了个简单的脚本,mongo.php
访问,将返回如下:
1
2
3
4
5
6
7
8
9
10
php
php
php
更多复杂操作详见mongodb的php api部分,mongodb语法类似于mysql的sql语句,两者的简单对比,有实验显示mongodb比mysql效率更高,,继续探索实验中。。。