0

在我的 linux 服务器中,我从源代码安装了 php v5.2.14,而不是安装 mysql 和 apache。由于本服务器只用于运行phpunit,所以不需要安装mysql和apache。问题是某些单元测试需要 mysqli 扩展。因此,我尝试使用 php 源代码中的代码安装 mysqli 扩展。但是,在执行 './configure' 时,它停止了以下操作:

checking for egrep... grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for cc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ANSI C... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking whether cc understands -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for PHP prefix... /home/pu/php
checking for PHP includes... -I/home/pu/php/include/php -I/home/pu/php/include/php/main -I/home/pu/php/include/php/TSRM -I/home/pu/php/include/php/Zend -I/home/pu/php/include/php/ext -I/home/pu/php/include/php/ext/date/lib
checking for PHP extension directory... /home/pu/php/lib/php/extensions/no-debug-non-zts-20060613
checking for PHP installed headers prefix... /home/pu/php/include/php
checking if debug is enabled... no
checking if zts is enabled... no
checking for re2c... no
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
checking for gawk... gawk
checking for MySQLi support... yes, shared
checking whether to enable embedded MySQLi support... no
mysql_config not found
configure: error: Please reinstall the mysql distribution

所以我认为它可能缺少 mysql 导致这个问题。有什么解决方案。我不想安装mysql服务器,只要安装mysql客户端或驱动程序就足够了。

4

1 回答 1

1

它需要获取编译选项:

mysql_config (1)  - get compile options for compiling clients

我认为你需要 php5-mysqlnd。尝试安装它:

$ sudo apt-get install php5-mysqlnd

这个包没有 PHP 或 MySQL 作为依赖项:

php5-mysqlnd
  Depends: libc6 (>= 2.15)
  Depends: php5-common (= 5.3.10-1ubuntu3)
  Depends: phpapi-20090626+lfs
libc6
  Depends: libc-bin (= 2.15-0ubuntu10)
  Depends: libgcc1
  Depends: tzdata
libc-bin
libgcc1
  Depends: gcc-4.6-base (= 4.6.3-1ubuntu5)
  Depends: libc6 (>= 2.2.4)
  PreDepends: multiarch-support
gcc-4.6-base
multiarch-support
  Depends: libc6 (>= 2.13-0ubuntu6)
tzdata
  Depends: debconf (>= 0.5)
  Depends: debconf-2.0
debconf
  PreDepends: perl-base (>= 5.6.1-4)
perl-base
  PreDepends: dpkg (>= 1.14.20)
  PreDepends: libc6 (>= 2.11)
dpkg
  PreDepends: coreutils (>= 5.93-1)
  PreDepends: libbz2-1.0
  PreDepends: libc6 (>= 2.11)
  PreDepends: libselinux1 (>= 1.32)
  PreDepends: tar (>= 1.23)
  PreDepends: xz-utils
  PreDepends: zlib1g (>= 1:1.1.4)
coreutils
  Depends: dpkg (>= 1.15.4)
  Depends: install-info
  PreDepends: libacl1 (>= 2.2.51-5)
  PreDepends: libattr1 (>= 1:2.4.46-5)
  PreDepends: libc6 (>= 2.15)
  PreDepends: libselinux1 (>= 1.32)
install-info
  Depends: libc6 (>= 2.4)
libacl1
  Depends: libattr1 (>= 2.4.46-3)
  Depends: libc6 (>= 2.4)
  PreDepends: multiarch-support
libattr1
  Depends: libc6 (>= 2.4)
  PreDepends: multiarch-support
libselinux1
  Depends: libc6 (>= 2.8)
  PreDepends: multiarch-support
libbz2-1.0
  Depends: libc6 (>= 2.4)
  PreDepends: multiarch-support
tar
  PreDepends: libc6 (>= 2.8)
xz-utils
  Depends: libc6 (>= 2.7)
  Depends: liblzma5 (>= 5.1.1alpha+20110809)
liblzma5
  Depends: libc6 (>= 2.4)
  PreDepends: multiarch-support
zlib1g
  Depends: libc6 (>= 2.4)
  PreDepends: multiarch-support
debconf-2.0
php5-common
  Depends: libc6 (>= 2.4)
  Depends: sed (>= 4.1.1-1)
sed
  Depends: dpkg (>= 1.15.4)
  Depends: install-info
  PreDepends: libc6 (>= 2.4)
  PreDepends: libselinux1 (>= 1.32)
phpapi-20090626+lfs

最后,添加--with-mysqli=/usr/bin/mysql_config为配置选项。

于 2012-12-21T03:16:22.247 回答