你的位置:
问答吧
-> PHP进阶
-> 问题详情
phpize编译mysql扩展
我用的是php-cgi,默认没有添加mysql扩展,我只能自己编译mysql.so了,在php-source/ext/mysql下使用phpize生成编译环境,configure,make之后生成了mysql.so,可是当php加载mysql.so时,它会报错
PHP Warning: PHP Startup: Unable to load dynamic library '/home/henuphp/mysql.so'
我不知怎么回事,请各问大侠帮忙啊,
我的php是php-5-3-3
作者: henuphp
发布时间: 2011-03-14
本帖最后由 qxhy123 于 2011-3-15 10:22 编辑
he phpize command is used to prepare the build environment for a PHP extension. In the following sample, the sources for an extension are in a directory named extname:
$ cd extname
$ phpize
$ ./configure
$ make
# make install
A successful install will have created extname.so and put it into the PHP extensions directory. You'll need to and adjust php.ini and add an extension=extname.so line before you can use the extension.
手册里说phpize之后会把编译出来的so文件放置在php扩展目录下,你的目录怎么是/home/heub?这样php的执行权限是nobody,应该是执行不了的吧
作者: qxhy123
发布时间: 2011-03-15
回复 2# qxhy123
恩,是放在扩展目录下面,扩展目录是/usr/lib/php5/20090626+lfs/,我修改了权限chmod 777 /usr/lib/php5/20090626+lfs/mysql.so可还是不行,不知怎么回事
作者: henuphp
发布时间: 2011-03-15
你确认你的其他步骤都对着呢么
作者: qxhy123
发布时间: 2011-03-15
回复 4# qxhy123
是啊,我从别处拷贝了一个mysql.so放在目录下,也会提示这样的错误,你遇到果这样的问题吗?
作者: henuphp
发布时间: 2011-03-15
我都是在php安装之前就安装mysql了,没遇到过这样的问题
作者: qxhy123
发布时间: 2011-03-15
$PATH_TO_YOUR_PHP_LIB/bin/phpize
./configure --with-php-config=$PATH_TO_YOUR_PHP_LIB/bin/php-config
make clean && make && make install
作者: laruence
发布时间: 2011-03-17
yum install mysql-devel
apt-get install mysql-dev
作者: cc0cc
发布时间: 2011-03-23
mv mysql.so php_mysql.so 然后再加载 mysql.so加载不了的
作者: yuzuan
发布时间: 2012-12-11
错误提示很明显,是找不到mysql的动态库文件,一般在mysql的安装目录lib/mysql下,所以需要在./configure时用--with-mysql=/usr/local/mysql的方式指定mysql安装目录
再话说php5.3之后不是有了mysqlnd了么,直接用
./configure --with-mysql=mysqlnd就可以了,不需要额外mysql库文件
作者: 网鬼
发布时间: 2013-04-22