linux's docs

24.4.0: 扩展模块-mysqli


0. mysqli模块安装

1) 错误信息

  1. 访问php文件返回500
  2. 检查nginx错误日志发现以下关键字
    PHP Fatal error:  Class 'MySQLi' not found in /data/web/....../mysqli.php on line 5
    网上去查了一下报错信息,是由于编译时没有包含mysqli模块引起的报错

2) 编译安装mysqli模块

# 进入php源码目录中的mysqli扩展目录
cd /usr/local/src/php-5.3.3/ext/mysqli/

# 初始化,生成configure等文件
phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626

# 编译安装(指定php-config和mysql_config路径)
./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config
make
make install
Installing shared extensions:     /data/server/php/lib/php/extensions/no-debug-non-zts-20090626/
# 模块文件的路径

ls /data/server/php/lib/php/extensions/no-debug-non-zts-20090626/
mysqli.so

# 把mysqli.so增加到php.ini的配置文件中去
vim /usr/local/php/etc/php.ini
******************************
extension=/data/server/php/lib/php/extensions/no-debug-non-zts-20090626/mysqli.so
******************************

# 重启php
/etc/init.d/php-fpm restart

Contents