今天部署我的博客时出现了几个问题:
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
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路径,不对的话修改
2.添加扩展
重启apache
apachectl restart
另外在我的php.ini中,可能会发现注释的扩展都是.dll格式的。
这是window环境下的,相应的linux格式下的扩展一般都是.so格式的