我通过Composer(composer require barryvdh/laravel-dompdf
)在Laravel Project中新安装了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 Server重新启动。我的Laravel版本是5.3,Ubuntu版本是14.04
答案 0 :(得分:47)
我已经安装了php7,我做了以下几点来解决完全相同的错误
sudo apt-get install php7.0-gd
sudo apt-get install php7.0-intl
sudo apt-get install php7.0-xsl
答案 1 :(得分:18)
如果您使用的是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
答案 2 :(得分:10)
可能没有为php-cli启用,你可以像这样启用;
sudo phpenmod gd
更新
我猜你正在使用ppa:ondrej php package(5.6),这会使你的默认ubuntu 14.04 php包(5.5.9)感到困惑。
要从ppa:ondrej安装php 5.6 gd库,您应该使用:
sudo apt-get install php5.6-gd
答案 3 :(得分:9)
打开 php.ini 并取消注释此行:
;extension=php_gd2.dll
答案 4 :(得分:6)
PHP 7.4.2(CLI)(内置:2020年2月5日16:50:21)(NTS) 版权所有(c)PHP组 Zend Engine v3.4.0,版权所有(c)Zend Technologies 与Zend Technologies的Zend OPcache v7.4.2版权所有(c)
对于PHP 7.4.2
答案 5 :(得分:5)
对于 php-8,只需找到您的 php.ini
文件并取消注释行 extension=gd
下面是使用 Xampp 和 Windows
步骤 1:打开 php.ini 或在您的机器中找到它 (C:/xampp/php/php.ini)
第 2 步:通过删除分号取消对 line extension=gd 的注释
第 3 步:保存文件并重启服务
答案 6 :(得分:3)
解决方案非常简单。
在你的php.ini中,只需取消注释行extension=php_gd2.dll
(或unix系统的.so扩展名。)
希望它有所帮助。
答案 7 :(得分:3)
对于php 7.1
sudo apt-get install php7.1-gd
干杯!
答案 8 :(得分:2)
如果您使用的是PHP 7.2版,则必须安装
Array
(
[0] => ClassB.construct
[1] => ClassB.Set
)
答案 9 :(得分:1)
当我遇到这样的问题时,我总是会做:
@override
Widget build(BuildContext context) {
StreamBuilder<DocumentSnapshot>(
stream: Firestore.instance
.collection("users")
.document(widget.uid)
.snapshots(),
builder:
(BuildContext context, AsyncSnapshot<DocumentSnapshot> snapshot) {
user = snapshot.data.data as User;
});
随后搜索在我的系统上安装的PHP版本。通常可以找到我所缺少的扩展名。
WorkStealingQueue
答案 10 :(得分:1)
这对我有用:
composer require "ext-gd:*" --ignore-platform-reqs
答案 11 :(得分:1)
对于Windows: 在您的php.ini文件中取消注释此行
src
如果上述步骤无效,请取消注释以下行:
import smiley1 from './Smileys/smiley1.png`;
import smiley2 from './Smileys/smiley2.png`;
import smiley3 from './Smileys/smiley3.png`;
import smiley4 from './Smileys/smiley4.png`;
document.documentElement.style.setProperty(`--background-image`, `url(${smiley1})`);
答案 12 :(得分:1)
使用Manjaro(Arch)Linux:
$ sudo pacman -S php-gd
在文件/ etc / php / php-ini中,添加以下行:
extension=gd.so
答案 13 :(得分:0)
在composer.json文件中添加“ ext-gd”:“ *”以要求
答案 14 :(得分:0)
在CentOS 7上,尝试运行以下命令:
sudo yum install php72u-gd.x86_64
答案 15 :(得分:0)
Windows 中的本地或 Xampp 转到:C:\xampp\php\php.ini
取消注释extension=gd
答案 16 :(得分:0)
sudo apt-get install php7.4-zip
使用您的 php 版本。就像这里我用的 7.4
答案 17 :(得分:0)
从 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:
<块引用>正如维基所说,我已经在 /etc/php/php.ini 中安装了 php-gd 和 uncommeted extension=gd.so
感谢您对相关问题的回答,How to always use ignore-platform-reqs flag when running composer?