给LuNamp安装MySQLi扩展

admin 发表于 [Linux] 分类,标签: CentOS Linux SSH 网站管理 VPS管理 Nginx LuManager
0

1、下载与您当前系统PHP版本一致的PHP安装包(http://www.php.net/downloads.php ),解压

tar zxvf php-5.2.17.tar.gz

,进入目录

cd php-5.2.17/ext/mysqli

2、

/usr/local/php_fcgi/bin/phpize


Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
configure.in:3: warning: prefer named diversions
configure.in:3: warning: prefer named diversions
3、

./configure --with-php-config=/usr/local/php_fcgi/bin/php-config \
--with-mysqli=/usr/local/mysql/bin/mysql_config


4、

make


5、

make test

Build complete.
Don't forget to run 'make test'.
+-----------------------------------------------------------+
|                       ! ERROR !                           |
| The test-suite requires that proc_open() is available.    |
| Please check if you disabled it in php.ini.               |
+-----------------------------------------------------------+
6、

vi /usr/local/php_fcgi/lib/php.ini

找到disable_functions = shell_exec, system, passthru, exec, popen, proc_open()
改为disable_functions = shell_exec, system, passthru, exec, popen
保存退出。
7、接着

make test

8、通过测试就

make install


Installing shared extensions:     /usr/local/php_fcgi/lib/php/extensions/no-debug-non-zts-20060613/
9、

cd /usr/local/php_fcgi/lib/php/extensions/no-debug-non-zts-20060613/
ll

total 1408
-rwxr-xr-x  1 root  wheel  669332 May 20 22:13 eaccelerator.so
-rwxr-xr-x  1 root  wheel  231724 May 20 22:13 memcache.so
-rwxr-xr-x  1 root  wheel  470863 May 20 22:54 mysqli .so
能看到新编译的so了。
10、在编辑下配置文件

vi /usr/local/php_fcgi/lib/php.ini


extension = "mysqli .so"

加到[memcache]节后面,实际上是借光了extension_dir="/usr/local/php_fcgi/lib/php/extensions/no-debug-non-zts-20060613/"这句。
11、最后

lu-restart

一下,再看phpinfo,mysqli 加上啦。

经过以上步骤MySQLi扩展是安装上了,可是在使用MySQLi的网页上却提示错误:

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

通过查找确实不存在这个文件,接着我们来看看phpinfo函数显示的信息中mysql的MYSQL_SOCKET值是什么,因为mysql能够正常使用,而我们发现这里mysqli中的MYSQL_SOCKET值与mysql中的MYSQL_SOCKET值不同,所以使用命令:

vi /usr/local/php_fcgi/lib/php.ini

修改[MySQLi]节点后面的

mysqli.default_socket

将其值设为我们在phpinfo函数显示的信息中看到的mysql模块的MYSQL_SOCKET值

比如我们修改为:

mysqli.default_socket =/tmp/mysql.sock

然后我们重启Nginx或Apache使其生效。再看我们的网页已经能够正常工作了!

« 上一篇:cp命令强制覆盖 升级LuNamp中的组件:下一篇 »

发表我的评论