在具有多个 php 版本的 centos 上安装 sqlsrv 扩展
Installing sqlsrv extension on centos with multiple php versions
我们在装有 Centos7 的机器上 运行ning php,运行ning 多个 php 版本,我们需要安装 sql 服务器驱动程序运行 以下错误。
我们已尝试从 7.3 php 位置 运行ning pecl,但它中途恢复到机器的默认 pecl 实例,即 5.6,无法完成任务。
running: make
/bin/sh /var/tmp/pear-build-rootL2VMF0/sqlsrv-5.6.1/libtool --mode=compile g++ -std=c++11 -I. -I/var/tmp/sqlsrv -DPHP_ATOM_INC -I/var/tmp/pear-build-rootL2VMF0/sqlsrv-5.6.1/include -I/var/tmp/pear-build-rootL2VMF0/sqlsrv-5.6.1/main -I/var/tmp/sqlsrv -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/var/tmp/sqlsrv/shared/ -DHAVE_CONFIG_H -std=c++11 -D_FORTIFY_SOURCE=2 -O2 -fstack-protector -c /var/tmp/sqlsrv/conn.cpp -o conn.lo
libtool: compile: g++ -std=c++11 -I. -I/var/tmp/sqlsrv -DPHP_ATOM_INC -I/var/tmp/pear-build-rootL2VMF0/sqlsrv-5.6.1/include -I/var/tmp/pear-build-rootL2VMF0/sqlsrv-5.6.1/main -I/var/tmp/sqlsrv -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/var/tmp/sqlsrv/shared/ -DHAVE_CONFIG_H -std=c++11 -D_FORTIFY_SOURCE=2 -O2 -fstack-protector -c /var/tmp/sqlsrv/conn.cpp -fPIC -DPIC -o .libs/conn.o
In file included from /var/tmp/sqlsrv/php_sqlsrv_int.h:25:0,
from /var/tmp/sqlsrv/conn.cpp:24:
/var/tmp/sqlsrv/shared/core_sqlsrv.h:2390:38: error: macro "ZVAL_STRINGL" requires 4 arguments, but only 3 given
ZVAL_STRINGL(value_z, str, str_len);
^
/var/tmp/sqlsrv/shared/core_sqlsrv.h:2437:54: error: macro "add_assoc_string" requires 4 arguments, but only 3 given
int zr = ::add_assoc_string(array_z, key, val);
我们如何告诉 pecl 在 php 7.3 中完成整个过程,以便它可以 运行 正确??
我们一周前注意到我们缺少一些 pdo php 驱动程序,我们通过 yum 安装了它们,然后我们成功地将机器连接到 sqlserver
我们在装有 Centos7 的机器上 运行ning php,运行ning 多个 php 版本,我们需要安装 sql 服务器驱动程序运行 以下错误。
我们已尝试从 7.3 php 位置 运行ning pecl,但它中途恢复到机器的默认 pecl 实例,即 5.6,无法完成任务。
running: make
/bin/sh /var/tmp/pear-build-rootL2VMF0/sqlsrv-5.6.1/libtool --mode=compile g++ -std=c++11 -I. -I/var/tmp/sqlsrv -DPHP_ATOM_INC -I/var/tmp/pear-build-rootL2VMF0/sqlsrv-5.6.1/include -I/var/tmp/pear-build-rootL2VMF0/sqlsrv-5.6.1/main -I/var/tmp/sqlsrv -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/var/tmp/sqlsrv/shared/ -DHAVE_CONFIG_H -std=c++11 -D_FORTIFY_SOURCE=2 -O2 -fstack-protector -c /var/tmp/sqlsrv/conn.cpp -o conn.lo
libtool: compile: g++ -std=c++11 -I. -I/var/tmp/sqlsrv -DPHP_ATOM_INC -I/var/tmp/pear-build-rootL2VMF0/sqlsrv-5.6.1/include -I/var/tmp/pear-build-rootL2VMF0/sqlsrv-5.6.1/main -I/var/tmp/sqlsrv -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/var/tmp/sqlsrv/shared/ -DHAVE_CONFIG_H -std=c++11 -D_FORTIFY_SOURCE=2 -O2 -fstack-protector -c /var/tmp/sqlsrv/conn.cpp -fPIC -DPIC -o .libs/conn.o
In file included from /var/tmp/sqlsrv/php_sqlsrv_int.h:25:0,
from /var/tmp/sqlsrv/conn.cpp:24:
/var/tmp/sqlsrv/shared/core_sqlsrv.h:2390:38: error: macro "ZVAL_STRINGL" requires 4 arguments, but only 3 given
ZVAL_STRINGL(value_z, str, str_len);
^
/var/tmp/sqlsrv/shared/core_sqlsrv.h:2437:54: error: macro "add_assoc_string" requires 4 arguments, but only 3 given
int zr = ::add_assoc_string(array_z, key, val);
我们如何告诉 pecl 在 php 7.3 中完成整个过程,以便它可以 运行 正确??
我们一周前注意到我们缺少一些 pdo php 驱动程序,我们通过 yum 安装了它们,然后我们成功地将机器连接到 sqlserver