首页 > 解决方案 > 在服务器完全设置之前在 Travis CI 上运行命令

问题描述

我有以下 .travis.yml 文件:

language: php

matrix:
  include:
    - php: 5.3
      dist: precise

before_install:
  - wget --no-check-certificate https://curl.se/ca/cacert.pem
  - echo "openssl.cafile=~/cacert.pem" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini

问题是它运行时出现以下错误:

  [Composer\Downloader\TransportException]                                     
  The "https://getcomposer.org/versions" file could not be downloaded: SSL op  
  eration failed with code 1. OpenSSL Error messages:                          
  error:14090086:SSL routines:func(144):reason(134)                            
  Failed to enable crypto                                                      
  failed to open stream: operation failed

据我了解,该错误意味着无法验证网站上的证书。毫无疑问,因为我的 CA 证书太旧了。我正在做wget --no-check-certificate https://curl.se/ca/cacert.pem,但它仍在 Travis CI 之后echo "openssl.cafile=~/cacert.pem" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini运行。before_installcomposer self-update

有什么想法可以让上述命令在之前 comoposer self-update而不是之后运行吗?

另外,是的,我知道 PHP 5.3 已经停产多年。这并不会使我的问题无效。

标签: travis-ci

解决方案


推荐阅读