【问题标题】:CODEIGNITER: Your server does not support the GD function required to process this type of imageCODEIGNITER:您的服务器不支持处理此类图像所需的 GD 功能
【发布时间】:2017-09-14 10:55:43
【问题描述】:

Gd2 也已启用。试过很多方法...不知道怎么回事

遇到 PHP 错误 严重性:通知 消息:getimagesize():读取错误! 文件名:库/Image_lib.php 行号:1651

回溯: 文件:/opt/lampp/htdocs/ciflix/application/controllers/Admin.php 行:52 功能:库文件:/opt/lampp/htdocs/ciflix/index.php 行:315

函数:require_once


提供的图片无效。

您的服务器不支持处理此类图像所需的 GD 功能。

$config['upload_path'] = $path;
$config['allowed_types'] = $allowed_types;
$config['max_size'] = 15000;
$config['max_width'] = 1024;
$config['max_height'] = 768;

$this->load->library('upload', $config);

if(!$this->upload->do_upload('userfile')){
    $this->session->set_flashdata('file_error', $this->upload->display_errors());
    redirect('admin/create_blog');
}else{
    $data = $this->upload->data('userfile');
    $config['image_library'] = 'gd2';
    $config['source_image'] = $path.$data['userfile'];
    $config['create_thumb'] = FALSE;
    $config['maintain_ratio'] = FALSE;
    $config['width'] = 200;
    $config['height'] = 200;
    $config['new_image'] = $path.$data['userfile'];
    $this->load->library('image_lib', $config);

    if(!$this->image_lib->resize()){
        echo $this->image_lib->display_errors();
        exit();
    } else {
        echo "Working";
        exit();
    }

    $post_image = $_FILES['userfile']['name'];
}

【问题讨论】:

  • 你应该从php.ini启用GD扩展
  • 你重启了apache2吗?
  • 做了但没用 extension=php_gd2.dll
  • 是的。重新启动。
  • 现在可以了吗?

标签: php codeigniter codeigniter-3 image-resizing gd2


【解决方案1】:

您需要安装 GD 扩展。如果已安装,请编辑您的 php.ini 以启用它(删除 ; 以不使其成为评论)。

如果没有安装,试试这个:

apt-get install php5-gd

编辑:

我刚刚注意到您提到了一个 .dll。那是为Windows!将 iut 注释掉,启用extension gd.so,然后重新启动服务器,看看是否有帮助!

【讨论】:

  • 我刚刚注意到你提到了.dll。那是为Windows!将iut注释掉,启用以.so结尾的扩展,然后重启服务器,看看有没有帮助!
  • 寻找;extension=gd.so并删除;
  • 我在 php.ini 文件中找不到 gd.so 行。有几件事以 .so 扩展名结尾。不知道要取消注释哪个@delboy1978uk
  • 在页面顶部执行phpinfo(); exit;,然后按CTRL-F 找到GD.ini。如果它有自己的部分,则已安装,但它可能来自另一个 ini 文件,因此搜索 ini 它将显示所有已加载的 ini 文件。如果不在其中,请尝试使用apt-get 命令进行安装。
【解决方案2】:

请试试这个

sudo apt-get install php5-gd

apt-get install --reinstall php5.0-gd

然后重启apache

 sudo service apache2 restart

或从php.ini 文件中启用库GD2 从;extension=php_gd2.dll 中删除分号

使用以下命令检查 GD 是否启用

$ php -i | grep -i --color gd 

您也可以使用php代码进行测试。使用以下代码创建一个php文件并运行并检查GD扩展是否启用

<?php
  phpinfo();
?>

【讨论】:

  • 删除分号后的新错误:- 遇到 PHP 错误严重性:核心警告消息:PHP 启动:无法加载动态库 '/opt/lampp/lib/php/extensions/no-debug- non-zts-20160303/php_gd2.dll' - /opt/lampp/lib/php/extensions/no-debug-non-zts-20160303/php_gd2.dll:无法打开共享对象文件:没有这样的文件或目录文件名:未知行号:0 回溯:
  • @filxy 删除分号后你应该重启 apache
【解决方案3】:

在我的项目中,我遇到了类似的问题。这个link帮我解决。

替换

$this->load->library('image_lib', $config);

$this->load->library('image_lib');
// Set your config up
$this->image_lib->initialize($config);
// Do your manipulation
$this->image_lib->clear();

【讨论】:

    【解决方案4】:

    如果您在像 XAMPP 这样的本地服务器上,您可能有 Port 80 正在被另一个应用程序使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-15
      • 1970-01-01
      • 1970-01-01
      • 2013-05-06
      相关资源
      最近更新 更多