欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP编译安装中遇到的两个错误和解决方法

程序员文章站 2022-04-14 22:36:49
一、php configure: error: cannot find ldap libraries in /usr/lib 今天在centos 64位下编译安装php5...

一、php configure: error: cannot find ldap libraries in /usr/lib

今天在centos 64位下编译安装php5.4.8。结果在configure的时候提示
configure: error: cannot find ldap libraries in /usr/lib
提示在/usr/lib 下找不到相关模块,这是因为64位的linux默认把以上文件都存在 /usr/lib64 文件夹下。

解决方法:

复制代码 代码如下:

cp -frp /usr/lib64/libldap* /usr/lib/

重新configure即可

二、pdo_mysql make: *** [pdo_mysql.lo] error 1

编译安装pdo_mysql拓展模块,总是提示:

复制代码 代码如下:

in file included from /data0/software/pdo_mysql-1.0.2/pdo_mysql.c:31:
/data0/software/pdo_mysql-1.0.2/php_pdo_mysql_int.h:25:19: error: mysql.h: no such file or directory
in file included from /data0/software/pdo_mysql-1.0.2/pdo_mysql.c:31:
/data0/software/pdo_mysql-1.0.2/php_pdo_mysql_int.h:36: error: expected specifier-qualifier-list before ‘mysql'
/data0/software/pdo_mysql-1.0.2/php_pdo_mysql_int.h:48: error: expected specifier-qualifier-list before ‘mysql_field'
/data0/software/pdo_mysql-1.0.2/php_pdo_mysql_int.h:53: error: expected specifier-qualifier-list before ‘mysql_res'
make: *** [pdo_mysql.lo] error 1

这是因为这是因为在编译时需要 mysql 的头的文件。而它按默认搜索找不到头文件的位置,所以才出现这个问题。通过软连接把mysql头文件对应到/usr/local/include/下就好
比如你的mysql安装文件位于/usr/local/mysql,那么就执行以下命令:

复制代码 代码如下:

# ln -s /usr/local/mysql/include/* /usr/local/include/