我通过 Composer (composer require barryvdh/laravel-dompdf
) 在 Laravel 项目中新安装了 Dompdf。输入命令终端后回复以下错误。
Problem 1
- dompdf/dompdf v0.7.0 requires ext-gd * -> the requested PHP extension gd is missing from your system.
- barryvdh/laravel-dompdf v0.7.0 requires dompdf/dompdf ^0.7 -> satisfiable by dompdf/dompdf[v0.7.0].
- Installation request for barryvdh/laravel-dompdf ^0.7.0 -> satisfiable by barryvdh/laravel-dompdf[v0.7.0].
To enable extensions, verify that they are enabled in those .ini files:
- /etc/php/5.6/cli/php.ini
- /etc/php/5.6/cli/conf.d/10-opcache.ini
- /etc/php/5.6/cli/conf.d/10-pdo.ini
- /etc/php/5.6/cli/conf.d/15-xml.ini
- /etc/php/5.6/cli/conf.d/20-calendar.ini
- /etc/php/5.6/cli/conf.d/20-ctype.ini
- /etc/php/5.6/cli/conf.d/20-dom.ini
- /etc/php/5.6/cli/conf.d/20-exif.ini
- /etc/php/5.6/cli/conf.d/20-fileinfo.ini
- /etc/php/5.6/cli/conf.d/20-ftp.ini
- /etc/php/5.6/cli/conf.d/20-gettext.ini
- /etc/php/5.6/cli/conf.d/20-iconv.ini
- /etc/php/5.6/cli/conf.d/20-json.ini
- /etc/php/5.6/cli/conf.d/20-mbstring.ini
- /etc/php/5.6/cli/conf.d/20-phar.ini
- /etc/php/5.6/cli/conf.d/20-posix.ini
- /etc/php/5.6/cli/conf.d/20-readline.ini
- /etc/php/5.6/cli/conf.d/20-shmop.ini
- /etc/php/5.6/cli/conf.d/20-simplexml.ini
- /etc/php/5.6/cli/conf.d/20-sockets.ini
- /etc/php/5.6/cli/conf.d/20-sysvmsg.ini
- /etc/php/5.6/cli/conf.d/20-sysvsem.ini
- /etc/php/5.6/cli/conf.d/20-sysvshm.ini
- /etc/php/5.6/cli/conf.d/20-tokenizer.ini
- /etc/php/5.6/cli/conf.d/20-wddx.ini
- /etc/php/5.6/cli/conf.d/20-xmlreader.ini
- /etc/php/5.6/cli/conf.d/20-xmlwriter.ini
- /etc/php/5.6/cli/conf.d/20-xsl.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
如何解决此错误
我已经使用以下评论安装了 GD。 sudo apt-get install php5-gd
以及 Apache 服务器已重新启动。我的 Laravel 版本是 5.3,Ubuntu 版本是 14.04
我已经安装了php7,我做了以下来解决完全相同的错误
sudo apt-get install php7.0-gd
sudo apt-get install php7.0-intl
sudo apt-get install php7.0-xsl
如果您使用的是 PHP 5.*,那么您必须安装
sudo apt-get install php5-gd
如果您使用的是 PHP 7.*,那么您必须安装
sudo apt-get install php7.0-gd
希望它会工作...
如果您使用的是 PHP 7.2 版,那么您必须安装
sudo apt-get install php7.2-gd... it worked for me
yum install rh-php71-php-gd
。
打开你的 php.ini 并取消注释这一行:
;extension=php_gd2.dll
对于 php-8,只需找到您的 php.ini
文件并取消注释行 extension=gd
下面是使用 Xampp 和 Windows 的图片指南
第 1 步:打开 php.ini 或在您的机器中找到它(C:/xampp/php/php.ini)
https://i.stack.imgur.com/mof6q.jpg
第 2 步:通过删除分号取消注释行 extension=gd
https://i.stack.imgur.com/s4MeW.jpg
第 3 步:保存文件并重新启动服务
https://i.stack.imgur.com/tZ6zV.jpg
php-cli可能没有启用,可以这样启用;
sudo phpenmod gd
更新
我猜,您使用的是 ppa:ondrej php 包(5.6),这让您对默认的 ubuntu 14.04 php 包(5.5.9)感到困惑。
要从 ppa:ondrej 安装 php 5.6 gd 库,您应该使用:
sudo apt-get install php5.6-gd
PHP 7.4.2 (cli) (built: Feb 5 2020 16:50:21) (NTS) 版权所有 (c) The PHP Group Zend Engine v3.4.0, 版权所有 (c) Zend Technologies with Zend OPcache v7.4.2, 版权所有 ( c),由 Zend Technologies 提供
对于 PHP 7.4.2
sudo apt-get install php7.4-gd sudo phpenmod gd
在安装缺少的依赖项之前,您需要检查您的系统上安装了哪个版本的 PHP。
php -v
PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies
在这种情况下,它是 php7.2。 apt search php7.2
返回所有可用的 PHP 扩展。
apt search php7.2
Sorting... Done
Full Text Search... Done
libapache2-mod-php7.2/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
server-side, HTML-embedded scripting language (Apache 2 module)
libphp7.2-embed/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
HTML-embedded scripting language (Embedded SAPI library)
php-all-dev/bionic,bionic 1:60ubuntu1 all
package depending on all supported PHP development packages
php7.2/bionic-updates,bionic-updates,bionic-security,bionic-security 7.2.10-0ubuntu0.18.04.1 all
server-side, HTML-embedded scripting language (metapackage)
php7.2-bcmath/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
Bcmath module for PHP
php7.2-bz2/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
bzip2 module for PHP
php7.2-cgi/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
server-side, HTML-embedded scripting language (CGI binary)
php7.2-cli/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
command-line interpreter for the PHP scripting language
php7.2-common/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
documentation, examples and common module for PHP
php7.2-curl/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed]
CURL module for PHP
php7.2-dba/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
DBA module for PHP
php7.2-dev/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
Files for PHP7.2 module development
php7.2-enchant/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
Enchant module for PHP
php7.2-fpm/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed]
server-side, HTML-embedded scripting language (FPM-CGI binary)
php7.2-gd/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed]
GD module for PHP
php7.2-gmp/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
GMP module for PHP
php7.2-imap/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
IMAP module for PHP
php7.2-interbase/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
Interbase module for PHP
php7.2-intl/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
Internationalisation module for PHP
php7.2-json/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
JSON module for PHP
php7.2-ldap/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
LDAP module for PHP
php7.2-mbstring/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
MBSTRING module for PHP
php7.2-mysql/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
MySQL module for PHP
php7.2-odbc/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
ODBC module for PHP
php7.2-opcache/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
Zend OpCache module for PHP
php7.2-pgsql/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
PostgreSQL module for PHP
php7.2-phpdbg/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
server-side, HTML-embedded scripting language (PHPDBG binary)
php7.2-pspell/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
pspell module for PHP
php7.2-readline/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
readline module for PHP
php7.2-recode/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
recode module for PHP
php7.2-snmp/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
SNMP module for PHP
php7.2-soap/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
SOAP module for PHP
php7.2-sqlite3/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed]
SQLite3 module for PHP
php7.2-sybase/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
Sybase module for PHP
php7.2-tidy/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
tidy module for PHP
php7.2-xml/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed]
DOM, SimpleXML, WDDX, XML, and XSL module for PHP
php7.2-xmlrpc/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
XMLRPC-EPI module for PHP
php7.2-xsl/bionic-updates,bionic-updates,bionic-security,bionic-security 7.2.10-0ubuntu0.18.04.1 all
XSL module for PHP (dummy)
php7.2-zip/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
Zip module for PHP
您现在可以通过运行以下命令继续安装缺少的依赖项:
sudo apt install php7.2-gd
如果您使用的是 PHP 7.2 版,那么您必须安装
sudo apt-get install php7.2-gd
对于 php 7.1
sudo apt-get install php7.1-gd
干杯!
解决方案非常简单。
在您的 php.ini 中,只需取消注释行 extension=php_gd2.dll
(或 .so 扩展名用于 unix 系统。)
希望能帮助到你。
这对我有用:
composer require "ext-gd:*" --ignore-platform-reqs
从 Arch 上的 Composer 2.0 开始,我使用:--ignore-platform-req=ext-gd
例如:
php composer install -n --ignore-platform-req=ext-gd
例如:(忽略多个要求)
php composer install -n --ignore-platform-req=ext-gd --ignore-platform-req=ext-ldap
可能需要忽略 Composer 要求,因为 Composer 可能会对已正确安装和启用的依赖项返回错误警告,请考虑 this Arch forum article:
正如wiki所说,我已经在 /etc/php/php.ini 中安装了 php-gd 和 uncommeted extension=gd.so
感谢您对相关问题的回答,How to always use ignore-platform-reqs flag when running composer?
php.ini
文件!启用了不同的扩展。您很少需要 GD 来执行命令行任务,因此它不在那个 php.ini
中。此外,如果您使用基于 Docker 的 Composer 容器,您可能会在完全不同的 PHP 版本下运行 Composer。正如杰西所说,只需忽略要求。
我正在开发 php 8.0.9,我只是在 xampp/php/php.ini
目录中的 php.ini
上取消注释。
从
;extension=gd
至
extension=gd
它再次正常工作
使用 Manjaro(Arch) Linux:
$ sudo pacman -S php-gd
在文件 /etc/php/php-ini 中,添加以下行:
extension=gd.so
对于 Windows:取消注释 php.ini 文件中的这一行
;extension=php_gd2.dll
如果上述步骤不起作用,请取消注释以下行:
;extension=gd2
sudo apt-get install php7.4-zip
使用您的 php 版本。像这里我用7.4
sudo apt-get install php7.4-gd
,然后是你的命令,`sudo apt-get install php7.4-zip`。然后作曲家安装正常工作
在 CentOS 7 上,尝试运行以下命令:
sudo yum install php72u-gd.x86_64
在docker中我发现了同样的问题,即使在“rm /etc/apt/preferences.d/no-debian-php”然后“apt update”“apt install php7.4-gd”之后
“php composer.phar update”错误“..... ext-gd .....”所以我的解决方案是直接使用php7.4“php7.4 composer.phar update”
及其工作。我不知道为什么。
在 Windows 中的 Local 或 Xampp 上,转到:C:\xampp\php\php.ini
取消注释 extension=gd
PHP VERSION - 7.3.21
WAMP SERVER
// use below command to fix ext-gd issue
// work for me
composer require "ext-gd:*" --ignore-platform-reqs phpoffice/phpspreadsheet
不定期副业成功案例分享
sudo apt-get install php7.0-gd
对我有用。sudo apt-get install php7.2-gd sudo apt-get install php7.2-intl sudo apt-get install php7.2-xsl
sudo apt-get install php-curl
。sudo apt-get install php-gd
。你可以做同样的事情