1.PHP --version和phpinfo()的版本不一致。
一般这种情况是出现在php重装后导致的,解决方法也很简单,重装php和apache即可,重装之前rm掉php和apache,若是系统自带的,RH系列的话 可以通过rpm -qa | grep httpd 和 rpm -qa | grep php 再通过grep -e卸载所有的。之前先关闭两个服务 service httpd stop 和 apachctl stop,重装后就ok了。重装时也要注意编译选项:
Apache安装时需要注意加这几个选项
./configure --prefix=/usr/local/apache --enable-module=so --enable-module=rewrite --enable-shared=max
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs
2.安装PHP Mongo
PHP Mongo的安装可以参看:http://www.php.net/manual/en/mongo.installation.php
开始为了图省事用的是pecl 也就是pecl install mongo,但是安装后 发现根本就没有mongo.so.后来直接下载源码来进行安装。
phpize ./configure --with-php-config=/usr/local/php/bin/php-config
安装好后把php.ini的 Modules的extension_dir 路径改为 /usr/local/php/modules/
并在最后一行加上 extension="mongo.so"
然后把刚才生成的mongo.so拷贝进去,再重启apache服务。 大概就OK了。
一般这种情况是出现在php重装后导致的,解决方法也很简单,重装php和apache即可,重装之前rm掉php和apache,若是系统自带的,RH系列的话 可以通过rpm -qa | grep httpd 和 rpm -qa | grep php 再通过grep -e卸载所有的。之前先关闭两个服务 service httpd stop 和 apachctl stop,重装后就ok了。重装时也要注意编译选项:
Apache安装时需要注意加这几个选项
./configure --prefix=/usr/local/apache --enable-module=so --enable-module=rewrite --enable-shared=max
另外安装好后需要在httpd.conf中加入
vi /usr/local/apache/conf/httpd.conf <IfModule mod_mime.c> AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps <IfModule>
PHP安装时:configure为:./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs
安装成功后需要修改php.ini中加入 register_globals = On
重新启动apachectl restart 就可以使用php了。
2.安装PHP Mongo
PHP Mongo的安装可以参看:http://www.php.net/manual/en/mongo.installation.php
开始为了图省事用的是pecl 也就是pecl install mongo,但是安装后 发现根本就没有mongo.so.后来直接下载源码来进行安装。
phpize ./configure --with-php-config=/usr/local/php/bin/php-config
安装好后把php.ini的 Modules的extension_dir 路径改为 /usr/local/php/modules/
并在最后一行加上 extension="mongo.so"
然后把刚才生成的mongo.so拷贝进去,再重启apache服务。 大概就OK了。
可以通过 php -i | grep -i mongo查看下是否成功加载mongo.so 若报出 "PHP Startup: Unable to load dynamic library" 则可能是mongo.so版本或未成功加载的问题。