您的位置:首页 > 运维架构 > Linux

linux下php扩展mysqli的支持 .

2013-02-19 11:29 393 查看
前两天一个站点转移过来,因为给我的数据库有问题,我也没有仔细处理这个站点。今天把数据库弄好了,发现还是用不了,报的错误如下:Fatal error: Class ‘mysqli’ not found in。原来是我之前在编译php的时候,没有把mysqli的支持编译进去,解决问题的办法,就是重新编译一下

  mysqli是优化后的mysql,具体的优点baidu下就ok了

  cd php-5.2.8 在这下面有个ext文件夹里有mysqli

  cd ext/mysqli

  linux下将源码文件编译应该都有configure吧,可这里没有,在我们已经安装php后,php5这个文件夹里的命令目录bin里有一个文件叫phpize,用它就可以生成configure文件啦,继续

  /usr/local/php5/bin/phpize 这里回车运行,执行完后就出了configure文件,

  ./configure –prefix=/usr/local/mysqli –with-php-config=/usr/local/php5/bin/php-config –with-mysqli=/usr/local/mysql/bin/mysql_config

  直接回车,不出问题就继续。。

  make

  make test

  make install (不出错就会显示Installing shared extensions: /usr/local/php5/lib/php/extensions/no-debug-non-zts-20041030/)

  现在mysqli.so文件就出来了,在 /usr/local/php5/lib/php/extensions/no-debug-non-zts-20041030/ 下

  直接在php.ini里把这个文件加载就OK啦。。

  extension_dir=”/usr/local/php5/ext”

  extension=mysqli.so

  把上面第一行找到修改成这个,然后再把第二行加入。。wq保存退出。

  把mysqli.so这个文件cp到/usr/local/php5/ext下

  重启apache.

------------------------

由于是客户的服务器没有安装mbstring扩展,不能重新编译、安装,所以只能添加mbstring这个扩展,网上查找了很多,多数都是以下方法(php版本5.1.6,安装目录/usr/local/php,源代码目录/usr/software/php5.1.6):

1、用cd命令进入php的源代码目录下的etc/mbstring目录下,即“/usr/software/php5.1.6/etc/mbstring”;

2、执行 #/usr/local/php5/bin/phpize

3、执行 #./configure --with-php-config=/usr/local/php5/bin/php-config

4、执行make && make install

5、之后系统提示mbstring.so文件所在的目录。根据php.ini中指示的extension_dir指向的目录中,将其复制过去

6、修改php.ini,添加一句extension=mbstring.so
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: