php7 mysqlnd,【原创】解决PHP7编译pdo_mysql扩展报错:ext/mysqlnd/mysqlnd.h:没有那个文件或目录...

问题背景

PHP7.27 编译pdo_mysql 或者 mysqli 扩展时报错:ext/mysqlnd/mysqlnd.h:没有那个文件或目录

问题截图

在包含自 /path/to/php-7.2.7/ext/pdo_mysql/pdo_mysql.c:32 的文件中:

/path/to/php-7.2.7/ext/pdo_mysql/php_pdo_mysql_int.h:27:34: 错误:ext/mysqlnd/mysqlnd.h:没有那个文件或目录

/path/to/php-7.2.7/ext/pdo_mysql/php_pdo_mysql_int.h:28:50: 错误:ext/mysqlnd/mysqlnd_libmysql_compat.h:没有那个文件或目录

/path/to/php-7.2.7/ext/pdo_mysql/php_pdo_mysql_int.h:69:39: 错误:ext/mysqlnd/mysqlnd_debug.h:没有那个文件或目录

In file included from /path/to/php-7.2.7/ext/pdo_mysql/pdo_mysql.c:32:

/path/to/php-7.2.7/ext/pdo_mysql/php_pdo_mysql_int.h:105: 错误:expected specifier-qualifier-list before ‘MYSQL’

/path/to/php-7.2.7/ext/pdo_mysql/php_pdo_mysql_int.h:120: 错误:expected specifier-qualifier-list before ‘MYSQL_FIELD’

/path/to/php-7.2.7/ext/pdo_mysql/php_pdo_mysql_int.h:125: 错误:expected specifier-qualifier-list before ‘MYSQL_RES’

/path/to/php-7.2.7/ext/pdo_mysql/pdo_mysql.c:64:45: 错误:ext/mysqlnd/mysqlnd_reverse_api.h:没有那个文件或目录

/path/to/php-7.2.7/ext/pdo_mysql/pdo_mysql.c:65: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token

/path/to/php-7.2.7/ext/pdo_mysql/pdo_mysql.c:85: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘pdo_mysql_reverse_api’

/path/to/php-7.2.7/ext/pdo_mysql/pdo_mysql.c: 在函数‘zm_startup_pdo_mysql’中:

/path/to/php-7.2.7/ext/pdo_mysql/pdo_mysql.c:138: 错误:‘pdo_mysql_reverse_api’未声明(在此函数内第一次使用)

/path/to/php-7.2.7/ext/pdo_mysql/pdo_mysql.c:138: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其

/path/to/php-7.2.7/ext/pdo_mysql/pdo_mysql.c:138: 错误:所在的函数内也只报告一次。)

make: *** [pdo_mysql.lo] 错误 1

问题原因

经定位:locatemysqlnd.h文件确实存在,路径为:/path/to/php-7.2.7/ext/mysqlnd/mysqlnd.h,

不过图示中要引用的mysqlnd.h文件位置却是:/path/to/php-7.2.7/ext/pdo_mysql/etc/mysqlnd/mysqlnd.h,

说到这明白问题所在了吧,不过感觉这是扩展编写存在BUG。

解决方案

既然mysqlnd.h文件是存在的,那么我们来个软链引用过来即可:

ln -s /path/to/php-7.2.7/ext/ /path/to/php-7.2.7/ext/pdo_mysql/etc/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值