lamp 单独编译 mysql的pdo模块进去

今天上传一个源代码,发现我的lamp环境不支持mysql的PDO ,这不科学,一般都支持的吧,然后去看了一下php.ini把以下一行打开:
extension = pdo_mysql.so
重启apache,还是不行。
运行了一下phpinfo ,看到编译命令,原来真的没有编译mysql的pdo 好吧,这只能后期编译了


1. 如何获得

http://pecl.php.net/package/PDO_MYSQL

另一种方式是svn获得

svn co http://svn.php.net/viewvc/php/php-src/trunk/ext/pdo_mysql/

2. 安装

首先解压 ,我这里放在home目录里

tar -zxvf PDO_MYSQL-1.0.2.tgz 
//进入目录

cd PDO_MYSQL-1.0.2

//执行

/usr/local/php/bin/phpize 

注:/usr/local/php 是我的 php 安装目录

执行完 phpize 命令后,在 pdo_mysql 目录中就会出现 configure

./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql/  --enable-pdo=shared  --with-mysql-config=/usr/local/mysql/mysql_config

参数说明:

--with-php-config=/usr/local/php/bin/php-config 指定安装 PHP 的时候的配置

--with-pdo-MySQL=/usr/local/mysql/ 指定 MySQL 数据库的安装目录位置

编译安装

make && make install  

3.编译完成之后,请注意是否出现类似以下图片所示信息


如果出现说明编译安装成功,请十分注意红线圈住的目录(注意:不同时间段目录名称可能不一样)。

编译安装完成之后,生成的 pdo_mysql.so 文件就放置在这个目录下。

4、修改 php.ini 文件

使用 vi 打开你机器的 php.ini 文件,添加一段代码“extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/pdo_mysql.so”,加载 pdo_mysql.so 文件
效果如下图:


保存退出编辑!
5. 查看 phpinfo()
首先重启 Apache 服务器。使用 phpinfo() 函数查看 php 的安装信息,如出现下图所示说明 PDO 扩展安装成功。

===可能会出现的错误===

make: *** [pdo_mysql.lo] Error 1
解决办法
这是因为在编译时需要mysql的头的文件,而它按默认搜索找不到头文件的位置,所以才出现这个问题.所以要将 /usr/local/mysql/include/ 目录下的
mysql头文件链接到 /usr/local/include/ 的目录下:
ln -s /usr/local/mysql/include/* /usr/local/include/
然后再make和make install,pdo_mysql模块加进去了.

来源: http://blog.sdmarrys.com/linux/68.html

# LAMP Auto Install Script for CentOS 7 #centos7下编写自动化脚本搭建lamp架构,下载目录为/opt/lamp1/,需求版本:apache-2.4.63、php-7.4.33、mysql-8.0.41-1.el9.x86_64.rpm-bundle.tar,php不用单独启动,和apache联动即可 #要求: #安装apache和php的依赖模块apr-1.7.5、apr-util-1.6.3、ibiconv-1.15、libmcrypt-2.5.8、mhash-0.9.9.9、mcrypt-2.6.8、libmcrypt-devel并做好环境变量和软连接 #apache开启模块如下模块并解决依赖问题(core_module, authn_file_module, authn_default_module, authz_host_module, authz_groupfile_module, authz_user_module, authz_default_module, auth_basic_module, include_module, filter_module, log_config_module, env_module, setenvif_module, version_module, mpm_prefork_module, http_module, mime_module, status_module, autoindex_module, asis_module, cgi_module, negotiation_module, dir_module, actions_module, userdir_module, alias_module, rewrite_module, so_module, ssl_module (shared), xsendfile_module (shared), php7_module (shared)) #php开启模块如下模块并解决依赖问题(bcmath,bz2,Core,ctype,curl,date,dom,ereg,fileinfo,filter,gd,gettext,hash,iconv,json,libxml,mbstring,mcrypt,mhash,mysql,mysqli,mysqlnd,openssl,pcntl,pcre,PDO,pdo_mysql,pdo_sqlite,Phar,posix,Reflection,session,shmop,SimpleXML,soap,sockets,SPL,sqlite3,standard,sysvmsg,sysvsem,sysvshm,tokenizer,xml,xmlreader,xmlwriter,zip,zlib) #保留以上模块并解决依赖关系,此外apache、php的模块全部启用并加载 #验证apache和php联动访问,MySQL登录和初始化、密码设置为1hblsqt2zhlmcl#@!
最新发布
03-11
# LAMP Auto Install Script for CentOS 7 #centos7下编写自动化脚本搭建lamp架构,下载目录为/opt/lamp1/,需求版本:apache-2.4.63、php-7.4.33、mysql-8.0.41-1.el9.x86_64.rpm-bundle.tar,php不用单独启动,和apache联动即可 #要求: #安装apache和php的依赖模块apr-1.7.5、apr-util-1.6.3、ibiconv-1.15、libmcrypt-2.5.8、mhash-0.9.9.9、mcrypt-2.6.8、libmcrypt-devel并做好环境变量和软连接 #apache开启模块如下模块并解决依赖问题{ core_module (static) so_module (static) http_module (static) mpm_prefork_module (static) authn_file_module (shared) authn_core_module (shared) authz_host_module (shared) authz_groupfile_module (shared) authz_user_module (shared) authz_core_module (shared) access_compat_module (shared) auth_basic_module (shared) socache_shmcb_module (shared) socache_dbm_module (shared) reqtimeout_module (shared) filter_module (shared) mime_module (shared) log_config_module (shared) env_module (shared) expires_module (shared) headers_module (shared) setenvif_module (shared) version_module (shared) ssl_module (shared) unixd_module (shared) status_module (shared) autoindex_module (shared) dir_module (shared) alias_module (shared) rewrite_module (shared) php5_module (shared) proxy_module (shared) proxy_ajp_module (shared) proxy_balancer_module (shared) proxy_connect_module (shared) proxy_http_module (shared) slotmem_shm_module (shared)} #php开启模块如下模块并解决依赖问题{bcmath bz2 Core ctype curl date dom ereg fileinfo filter gd gettext hash iconv json libxml mbstring mcrypt mhash mysql mysqli mysqlnd openssl pcntl pcre PDO pdo_mysql pdo_sqlite Phar posix Reflection session shmop SimpleXML soap sockets SPL sqlite3 standard sysvmsg sysvsem sysvshm tokenizer xml xmlreader xmlwriter zip zlib} #验证apache和php联动访问,MySQL登录和初始化、密码设置为1hblsqt2zhlmcl#@!
03-11
# LAMP Auto Install Script for CentOS 7 #centos7下编写自动化脚本搭建lamp架构,下载目录为/opt/lamp1/,需求版本:apache-2.4.63、php-7.4.33、mysql-8.0.41-1.el9.x86_64.rpm-bundle.tar,php不用单独启动,和apache联动即可 #要求: #目前线上apache使用的模块为(core_module, authn_file_module, authn_default_module, authz_host_module, authz_groupfile_module, authz_user_module, authz_default_module, auth_basic_module, include_module, filter_module, log_config_module, env_module, setenvif_module, version_module, mpm_prefork_module, http_module, mime_module, status_module, autoindex_module, asis_module, cgi_module, negotiation_module, dir_module, actions_module, userdir_module, alias_module, rewrite_module, so_module, ssl_module (shared), xsendfile_module (shared), php5_module (shared)) #目前线上php使用的模块为(bcmath,bz2,Core,ctype,curl,date,dom,ereg,fileinfo,filter,gd,gettext,hash,iconv,json,libxml,mbstring,mcrypt,mhash,mysql,mysqli,mysqlnd,openssl,pcntl,pcre,PDO,pdo_mysql,pdo_sqlite,Phar,posix,Reflection,session,shmop,SimpleXML,soap,sockets,SPL,sqlite3,standard,sysvmsg,sysvsem,sysvshm,tokenizer,xml,xmlreader,xmlwriter,zip,zlib) #安装apache和php的依赖模块apr-1.7.5、apr-util-1.6.3、ibiconv-1.15、libmcrypt-2.5.8、mhash-0.9.9.9、mcrypt-2.6.8、libmcrypt-devel并做好环境变量和软连接 #保留以上模块前提下,apache、php的模块全部启用并加载,并解决依赖关系 #验证apache和php联动性、访问,MySQL登录和初始化、密码设置为1hblsqt2zhlmcl#@!
03-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿John

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值