安装 PHP 时,刚执行 ./php.config.sh
checking for MSSQL support via FreeTDS.. no
checking for MySQL support... yes
checking for specified location of the MySQL UNIX socket... no
checking for MySQL UNIX socket location... /tmp/mysql.sock
configure: error: Cannot find MySQL header files under yes.
Note that the MySQL client library is not bundled anymore.
解法:
如果不知道 header file 在哪,用 「find / -name mysql.h」命令找出其位置;
如果是自己也有手動安裝 MySQL 套件的話,直接指定該位置。
在 ./configure 下参数指定 header file 的位置(即mysql安装目录),如下:
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config
如果依然提示找不到mysql_config提示:
checking for mysql_config... /usr/bin/mysql_config is not a directory
configure: error: can not find mysql under the /usr/bin/mysql_config that you specified
则cp /usr/local/mysql/bin/mysql_config /usr/bin/mysql_config
php.config.sh的编译参数如下:
#! /bin/sh
ulimit -HSn 65536
CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer"; CXXFLAGS="$CFLAGS" ;export CFLAGS CXXFLAGS
#LDFLAGS="-L/usr/lib64 -L/lib64"; export LDFLAGS
./configure --enable-inline-optimization --disable-debug --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-apxs2=/usr/local/apache2/bin/apxs --with-iconv --with-curl --enable-mbstring --enable-sockets --with-png-dir --with-jpeg-dir=/usr/local/jpeg6/lib --with-freetype-dir --with-gd --with-libxml-dir=/usr --enable-xml --enable-zip --with-zlib-dir --with-gettext --enable-pdo --with-pdo-sqlite --with-pdo-mysql=/usr/bin/mysql_config --enable-calendar --enable-ftp --with-pcre-regex --disable-ipv6 --enable-soap