2

我希望 travis-ci 上的 php curl 使用 GnuTls 3.1.28 而不是默认的 GnuTls 2.12。我设置了一个实验性的 ec2 实例,我的编译使我成功使用了 gnutls3,但这不适用于 travis-ci 工作程序。

跑步

ldd /usr/lib/php5/20090626/curl.so|grep gnutls

在 ec2 实例上产生

/usr/lib/php5/20090626/curl.so: /usr/local/lib/libcurl.so.4: no version information available (required by /usr/lib/php5/20090626/curl.so)
        libgnutls.so.28 => /usr/local/lib/libgnutls.so.28 (0x00007f58946e5000)

表明它引用了我编译的 GnuTls 3.1.28

但是关于 travis-ci 工人的产量

/usr/lib/php5/20090626/curl.so: /usr/local/lib/libcurl.so.4: no version information available (required by /usr/lib/php5/20090626/curl.so)
    libgnutls.so.26 => /usr/lib/x86_64-linux-gnu/libgnutls.so.26 (0x00002aca991d0000)

表明它仍在引用 GnuTls 2.12(此处为完整日志)

var_dump(curl_version()) 证实了这一点。

我的具体命令可以在这里找到

有没有我想念的 travis-ci 工作人员特有的东西?

4

1 回答 1

0

事实证明,在 travis-ci 工作程序上安装一个单独的 php CLI,而不是它已经拥有的(在 phpenv 中)为我解决了这个问题。php 二进制文件 /usr/bin/php5 正确链接到我安装在 /usr/local/lib 中的 curl 和 gnutls 库,但 phpenv 自动使用的二进制文件没有。

于 2015-06-10T06:17:56.497 回答