linux下编译安装php扩展

今天部署我的博客时出现了几个问题:

1.Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'

2.Call to undefined function Home\Controller\curl_init()

这才发现我安装的php7忘装了pod_mysql和curl扩展。

于是编译安装扩展~~~


编译扩展

转备好php7的源码包

1.进入源码包的ext目录

cd /usr/local/src/php-7.0.12/ext

2.使用已安装目录下的phpize来扩展php模块

/usr/local/php/bin/phpize

---------------插一句----------------

这一步可能出现报错:

Cannot find config.m4.
Make sure that you run /usr/local/bin/phpize in the top level source directory of the module
这时你需要进入你要编译的扩展目录下,再调用phpize
如编译gd扩展时
cd /usr/local/src/php-7.0.12/ext/gd
再调用phpize
/usr/local/php/bin/phpize

----------------------------------------

-- pdo_mysql.so扩展

./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-MySQL=/usr/bin/mysql (/usr/bin/mysql为mysql安装路径)
-
- cur.sol扩展
./configure --with-php-config=/usr/local/php/bin/php-config

make && make install
这样两个扩展就编译好了


查看扩展

进入扩展目录/usr/local/php/lib/php/extensions/no-debug-zts-20151012,查看


添加扩展

打开/etc/php.ini

1.检查ext路径,不对的话修改

linux下编译安装php扩展_第1张图片

2.添加扩展




重启apache

apachectl restart

另外在我的php.ini中,可能会发现注释的扩展都是.dll格式的。
这是window环境下的,相应的linux格式下的扩展一般都是.so格式的


你可能感兴趣的:(PHP)