Linux下增加扩展需要phpize工具,phpize是编译PHP自带的一个增加扩展的工具,一般路径,都在/usr/local/php/bin/phpize 下面,如果没有找到,就whereis php一下,查找下PHP的主目录吧。
phpize工具主要在扩展源码目录生成编译配置文件。
以mbstring扩展为例,带大家做一遍。
进入到mbstring扩展源码目录内 php-5.2.17/ext/mbstring 在PHP源文件ext下都是扩展源码文件夹
先 cd php-5.2.17/ext/mbstring
再执行下 phpize 或者 /usr/local/php/bin/phpize 生成下编译配置文件
之后执行 ./configure --with-php-config=/usr/local/php/bin/php-config 进行配置操作
执行没问题后,执行make
成功后会在扩展源码目录内生成modules目录,里面有扩展文件mbstring.so
再将这个文件拷贝到PHP.INI中设置的 extension_dir 目录下。
在PHP.INI中开启模块,也就是将 ;extension=mbstring.so 前面的 ; 号去除,重启apache/nginx/fast-cgi重新加载php.ini即可。
文章写的看起来好像很多,其实整理下来没几步:
1. cd php-5.2.17/ext/mbstring
2. phpize
3. ./configure --with-php-config=/usr/local/php/bin/php-config
4. make
5. cp modules/mbstring.so /usr/local/php/lib/extensions/no-debug-non-zts-20060613/
6. service httpd restart
总共就上面几步,简单吧。
Starting php_fpm PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) \'mbstring.so\' in Unknown on line 0
遇到此类问题,检查下编译是否有问题,可以尝试重新编译,还有PHP运行权限和编译好的文件权限是否对应~