调用未定义的函数 imagecreatefromjpeg() GD 已安装但无法识别
Posted
技术标签:
【中文标题】调用未定义的函数 imagecreatefromjpeg() GD 已安装但无法识别【英文标题】:Call to undefined function imagecreatefromjpeg() GD installed but not recognized 【发布时间】:2016-04-14 11:12:05 【问题描述】:我在 Debian 8 下使用 php7 运行我的服务器。
我用sudo apt-get install php7.0-gd
安装了GD,它安装了很多额外的东西。
phpinfo 页面没有我在 PHP5 中看到的常用 gd 库部分。搜索“gd”一词只会在 PHP Credits 部分中找到一行:“GD 成像:Rasmus Lerdorf、Stig Bakken、Jim Winstead、Jouni Ahto、Ilia Alshanetsky、Pierre-Alain Joye、Marcus Boerger”。
我签入了/etc/php/mods-available
,有一个gd.ini
。php -i | grep gd
说:
/etc/php/7.0/cli/conf.d/20-gd.ini,
gd
gd.jpeg_ignore_warning => 0 => 0
php --ini
说:
Configuration File (php.ini) Path: /etc/php/7.0/cli
Loaded Configuration File: /etc/php/7.0/cli/php.ini
Scan for additional .ini files in: /etc/php/7.0/cli/conf.d
Additional .ini files parsed: /etc/php/7.0/cli/conf.d/20-curl.ini,
/etc/php/7.0/cli/conf.d/20-gd.ini,
/etc/php/7.0/cli/conf.d/20-json.ini,
/etc/php/7.0/cli/conf.d/20-mysqli.ini,
/etc/php/7.0/cli/conf.d/20-opcache.ini,
/etc/php/7.0/cli/conf.d/20-pdo_mysql.ini,
/etc/php/7.0/cli/conf.d/20-readline.ini
我在 testgd.php 文件中尝试了另一个测试:
<?php
if(!extension_loaded('gd')) echo "No GD extension" ;
if(!function_exists('gd_info')) echo "<br/>No GD info fonction" ;
?>
正如预期的那样显示两条消息。
我迷路了。我不知道我是否错过了启用模块/扩展程序/甜甜圈之类的基本内容,但我花了 2 个小时试图弄清楚,然后才在这里提问。我没有想法。
有人知道我需要做什么吗? 谢谢。
编辑:完成所有操作后重新启动(而不是重新加载)apache,节省了一天。
【问题讨论】:
My phpinfo() on php 7 with working GD 显示了一个 gd 部分。你后来安装了 php7.0-gd 吗? Apache 需要在加载 php 扩展之前重新启动。那你重启 Apache 了吗? 我不确定你关于我安装php7.0-gd的时间的问题。我几个小时前安装了它,但我的 LAMP 安装已经 2 个月大了。对于第二个问题,我重新启动了 apache 几次,但我想我错过了重要的一个,因为重新启动后我终于看到了 GD 部分,并且测试脚本现在可以了。 TL;DR : 重启 apache 拯救了这一天。 【参考方案1】:我在 Ubuntu Xenial 服务器上遇到了与您相同的问题,但在我的情况下,原因不同:
系统中有php5
的痕迹
命令行中的 PHP 将运行 php-7.0
但 Apache 将使用 php5
php5-gd
包不再可用
我的解决方案是清除 php5
的任何痕迹并重新启动 Apache:
sudo service apache2 stop
sudo apt remove --purge "php5.*"
sudo apt install --reinstall php7.0
sudo service apache2 start
【讨论】:
以上是关于调用未定义的函数 imagecreatefromjpeg() GD 已安装但无法识别的主要内容,如果未能解决你的问题,请参考以下文章