把你所有的借口都放在一个盒子里……把盒子烧了,忘掉它们。
您正在涉足相当高级的 PHP,并且已经正确识别了问题...不要害怕,继续努力...
这里有一些关于配置 PHP 以覆盖您的安装的杂谈...
假设我在 /usr 有 PHP,在 /etc/php.d 有扫描目录,在 /etc/php.ini 有配置
./configure --prefix=/usr --bindir=/usr/bin --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d
最小的配置会覆盖我的安装,我已经包含了 --bindir,因为通过设置单个配置选项,您可以隔离 PHP 的安装,例如 /opt/php-zts。
您至少需要附加选项
--enable-maintainer-zts
您应该检查您当前的安装,记下启用的扩展,然后从默认设置开始。
如果一个扩展构建失败,这通常是因为你的系统上没有该扩展所包装的库的头文件,通常是使用你的发行版包安装 dev 或 devel 包manager 将允许构建成功。
一旦你有一个工作完整的构建,最好将 config.nice 复制到一个合理的地方,以便你将来拥有它。
最后,实际上覆盖系统上的安装并不总是可取的,其他软件可能正在使用它,所以我通常说最好隔离安装,这是我机器上隔离安装的 config.nice 逐字逐句:
#! /bin/sh
#
# Created by configure
'./configure' \
'--with-apxs2=/opt/php-zts/bin/apxs' \
'--prefix=/opt/php-zts' \
'--bindir=/opt/php-zts/bin' \
'--with-config-file-dir=/opt/php-zts' \
'--with-config-file-scan-dir=/opt/php-zts/modules.d/' \
'--with-curl=shared,/usr' \
'--with-zlib' \
'--with-libxml2' \
'--enable-simplexml' \
'--with-mysql=mysqlnd' \
'--with-pdo-mysql=mysqlnd' \
'--enable-gd-native-ttf' \
'--with-mysqli' \
'--disable-phar' \
'--enable-shared' \
'--enable-maintainer-zts' \
'--enable-opcache' \
'--enable-sockets' \
'--with-curl=shared' \
'--enable-pcntl=shared' \
'--enable-mbstring' \
"$@"