php - 如何在 scrutinizer-ci 配置中为 php7.4 安装 ext-gd?
问题描述
过了一段时间,Scrutinizer 在尝试分析 Sylius 插件代码时开始永久失败,并出现以下错误:
- sylius/sylius v1.7.3 requires ext-gd * -> the requested PHP extension gd is missing from your system.
- sylius/sylius v1.7.2 requires ext-gd * -> the requested PHP extension gd is missing from your system.
- sylius/sylius v1.7.1 requires ext-gd * -> the requested PHP extension gd is missing from your system.
- sylius/sylius v1.7.0 requires ext-gd * -> the requested PHP extension gd is missing from your system.
它找不到任何php7.4-gd
/ php7.0-gd
/php-gd
包(我已经尝试了所有变体,因为不知道那里使用的是哪个 Ubuntu)并且如果我尝试指定编译器选项它也会失败compile_options: '--enable-gd'
(因为它看起来像重写了一些默认选项'未在文档中指定,但审查程序成功运行所需,请参阅https://scrutinizer-ci.com/g/Setono/SyliusPronavicPlugin/inspections/e198ca2c-125d-4d57-b8ef-2314a62c5ecc)。
有人知道如何配置 Scrutinizer 为 php7.4 安装 ext-gd?官方文档没有提供信息:(
UPD:看起来 Scrutinizer 在旧 Ubuntu 14.04(Scrutinizer old Ubuntu 14.04)下工作,并且没有 php7.4 包存在(谷歌搜索installing php7.4-gd at ubuntu 14.04
不会给你正确的结果,所以使用的唯一方法ext-gd
是php7.4
提供编译选项。
UPD2:请参阅下面 Sam Dark 的回答
谢谢
解决方案
您需要在编译选项中指定 GD 标志:
environment:
php:
version: 7.4.14
compile_options: '--with-config-file-path=/home/scrutinizer/.phpenv/versions/7.4.14/etc --with-config-file-scan-dir=/home/scrutinizer/.phpenv/versions/7.4.14/etc/conf.d --prefix=/home/scrutinizer/.phpenv/versions/7.4.14 --libexecdir=/home/scrutinizer/.phpenv/versions/7.4.14/libexec --enable-intl --with-openssl --enable-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-freetype-dir=/usr --enable-exif --with-libzip --with-zlib --with-zlib-dir=/usr --with-sodium --with-pdo-sqlite --enable-soap --enable-xmlreader --with-xsl --enable-ftp --with-tidy --with-xmlrpc --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-shmop --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-pcntl --with-readline --enable-mbstring --with-curl --with-pgsql --with-pdo-pgsql --with-gettext --enable-sockets --with-bz2 --enable-bcmath --enable-calendar --with-libdir=lib --enable-fpm --enable-maintainer-zts --with-gmp --with-kerberos --with-imap --with-imap-ssl --with-apxs2=/usr/bin/apxs --with-ldap --with-pear=/home/scrutinizer/.phpenv/versions/7.4.14/pear' compile_options: '--with-config-file-path=/home/scrutinizer/.phpenv/versions/7.4.14/etc --with-config-file-scan-dir=/home/scrutinizer/.phpenv/versions/7.4.14/etc/conf.d --prefix=/home/scrutinizer/.phpenv/versions/7.4.14 --libexecdir=/home/scrutinizer/.phpenv/versions/7.4.14/libexec --enable-intl --with-openssl --with-gd --enable-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-freetype-dir=/usr --enable-exif --with-libzip --with-zlib --with-zlib-dir=/usr --with-sodium --with-pdo-sqlite --enable-soap --enable-xmlreader --with-xsl --enable-ftp --with-tidy --with-xmlrpc --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-shmop --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-pcntl --with-readline --enable-mbstring --with-curl --with-pgsql --with-pdo-pgsql --with-gettext --enable-sockets --with-bz2 --enable-bcmath --enable-calendar --with-libdir=lib --enable-fpm --enable-maintainer-zts --with-gmp --with-kerberos --with-imap --with-imap-ssl --with-apxs2=/usr/bin/apxs --with-ldap --with-pear=/home/scrutinizer/.phpenv/versions/7.4.14/pear'
推荐阅读
- android - Url 在 Retrofit 中工作但在 Volley 中不工作
- html - 页脚下的大量空间,bigcommerce
- javascript - 如何使用 setInterval 和 clearInterval 构建时钟?
- javascript - 如何通过 JS 隐藏/显示元素?
- matlab - 非线性限制的问题 - 状态 theta 饱和并且不知道如何应用抗饱和解决方案
- javascript - Google Scripts - 使用下拉菜单显示余额
- swift - 基于查询的同步领域 LinkingObjects 返回 nil
- node.js - 'npm start' 给出错误并且不启动开发服务器
- python - 大熊猫中清理数据框的面向对象模式
- c# - 制作和电子邮件地址小写