使用mongo驱动程序编译php 5.4.5

时间:2012-08-15 08:04:30

标签: php compilation mongodb-php

现在我已经在我的Ubuntu PC上通过apt-get安装了php 5.3。*,但我需要使用5.4.5来解决一些问题。 根据这个原因,我尝试使用mongo驱动程序编译并安装新版本的PHP 5.4.5到separete位置: 我做了下一步:

sudo su
cd /opt
tar xfz php-5.4.5.tar.gz
cd php-5.4.5
./configure --prefix=/opt/php545 --enable-phar --with-config-file-path=/opt/php545/php.ini
make & make install

在上面的命令后我得到了php:

/opt/php545/bin/php -v
PHP 5.4.5 (cli) (built: Aug 15 2012 09:04:56) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies

之后我做了下一步:

/opt/php545/bin/pecl install mongo

然后它回到我身边

Build process completed successfully
Installing '/opt/php545/lib/php/extensions/no-debug-non-zts-20100525/mongo.so'
install ok: channel://pecl.php.net/mongo-1.2.12
configuration option "php_ini" is not set to php.ini location
You should add "extension=mongo.so" to php.ini

我添加到/opt/php545/php.ini下一行

extension=/opt/php545/lib/php/extensions/no-debug-non-zts-20100525/mongo.so

但mongo未加载为模块:

/opt/php545/bin/php -m | grep mongo
!!!Nothing here!!!

我做错了什么?

PS:

 /opt/php545/bin/php -i | grep php.ini 

返回

Configuration File (php.ini) Path => /opt/php545/php.ini

(php.ini正确设置)

2 个答案:

答案 0 :(得分:0)

php config不接受扩展行的绝对路径,请使用extension_dir。

答案 1 :(得分:0)

不从php.ini加载扩展,从解析的ini文件加载如下:

 nano /usr/local/php-5.x.xx/php.d/mongo.ini

x.xx是PHP版本。

然后加载扩展名:

 ;Enable mongo extension module
 extension=mongo.so
 mongo.default_port=27017

使用ctrl + o保存并关闭白色crtl + x

然后重启服务:

 service php-fpm restart 
 service httpd restart

// php-fpm如果有

所以你应该已经加载了。