PHP提供了许多扩展库,安装时需要使用命令控制加载哪些扩展库,或者安装成功以补充的形式扩展,以实现对应的功能调用
1、安装时指定加载哪些扩展库
./configure -prefix=/application/servers/php-server/php/ --with-curl --with-gd --with-openssl --enable-soap --with-libxml-dir --with-jpeg-dir --with-apxs2=/application/servers/php-server/apache2/bin/apxs --with-png-dir --with-zlib-dir --with-mysql --with-mbstring --enable-mbstring=all
例如上述命令,指定了php的安装路径,同时扩展curl、gd、openssl、soap、libxml等等库,此种方式较为简单,因此建议安装时将后续可能使用的类库一次性安装完毕
2、对于已安装完毕之后的扩展方式
首先切换到安装介质目录(注意是原始介质目录,不是安装目录)下的扩展文件夹下,以腾讯云为例(后续的路径均以腾讯云为例)/application/software/php/php-5.6.30/ext,看是否有待扩展的库文件
此处以追加扩展mbstring为例子,主要是解决编码问题,以保证php能支持何种编码:
(1)在/application/software/php/php-5.6.30/ext下 cd mbstring,直接执行 /application/servers/php-server/php/bin/phpize,phpize是一个shell脚本,用于生成扩展的configure文件
(2)继续执行 /configure --with-php-config=/application/servers/php-server/php/bin/php-config,with-php-config参数指定的安装目录下的php-config
(3)上述两步无错误之后,依次执行make 、make install,注意如果执行make时遇到错误,一方面可能是需要额外加载依赖文件,此时可百度搜索结果,大部分都有说明,另一方面可以尝试make clean后再执行make
(4)安装成功之后会提示在/application/servers/php-server/php/lib/php/extensions/no-debug-zts-20131226目录(目录名称可能会略有差异)下生成so文件,此时打开/application/servers/php-server/php/lib/php.ini文件,在extensions处追加extension=mbstring.so,其他扩展库依次类推
(5)重启apache服务器