简体   繁体   中英

"call to undefined function imagecreatetruecolor" error in PHP & pChart

I am trying to integrate "pChart" with my PHP code. When I am trying to run the samples it gives me an error stating call to undefined function imagecreatetruecolor . The suggestion solution was to load this dll "php_gd2.dll" so I have uncommented extension=php_gd2.dll in php.ini file.

Even after that I get the same error. I have tried restarting the server & machine too.

Use the following code to test if you have GD extension:

<?php
$testGD = get_extension_funcs("gd"); // Grab function list 
if (!$testGD){ echo "GD not even installed."; exit; }
echo"<pre>".print_r($testGD,true)."</pre>";

If you get the message that it's not installed, then check the following steps:

  1. phpinfo() and look up php.ini path
  2. edit php.ini : extension_dir=<path to your extensions>
  3. edit php.ini : extension=php_gd2.dll //uncomment or add
  4. Restart web server
  5. Run the test script again

在 Ubuntu/Linux Mint 平台(在 root 下),使用以下命令:

apt-get update && apt-get -y install php5-gd

对于 PHP 7.2

sudo apt-get install php7.2-gd

I met this problem just now. You should exec sudo apt install php7.0-gd or vim your php.ini reopen extension=php_gd2.dll

This answer is an update 9 years later, but PHP has changed a lot. Please upvote the St. Woland from which this is derived...

Use the following code on your web server to test if you have GD extension:

<?php
    $testGD = get_extension_funcs("gd"); // Grab function list 
    if (!$testGD){
        echo "GD not even installed.";
        phpinfo();  // Display the php configuration for the web server
        exit;
    }
    echo"<pre>".print_r($testGD,true)."</pre>";  //display GD function list

If you get the message that it's not installed, then check the following steps:

  1. Look at the output of phpinfo() to identify your php.ini
  2. Edit php.ini and enable the GD extension:
    • Newer PHP (7.3, fg):
      • extension=gd2 //uncomment
    • Older PHP (5.x, 7.0, you should upgrade):
      • extension_dir=<path to your extensions> //uncomment or add
      • extension=php_gd2.dll //uncomment or add
  3. GD for 7.x may not be installed
    • (for Ubuntu like OS'es) sudo apt install php7.3-gd # replace version to yours
  4. Restart web server
  5. Run the test script again
  6. (Remove test script when all is working, it can be a security hole)

As you can see the exact method is very version dependent. I hope this additional information can help others sort out the exact steps they might need.

I have same error:

PHP Fatal error:  Call to undefined function imagecreatetruecolor() in /var/www/webphp/php/captcha.php on line 251

and my solution was this:

$ locate php.ini
    /etc/php56/php.ini

edit file php.ini and uncomment line content " extension=gd.so ", save and try again

i have many version of php and i use the php-fpm. for me for php 8.0 helped is uncomment ;extension=gd in /etc/php/8.0/cli/php.ini and uncomment ;extension=gd2 in /etc/php/8.0/fpm/php.ini then install gd library as sudo apt-get install php8.0-gd .

Update for 2022: If you run into this problem with PHP 8.0.0 or more recent versions, then check out the Image Installation page at PHP's website.

In Windows, you'll include the GD DLL php_gd.dll as an extension in php.ini. Prior to PHP 8.0.0, the DLL was named php_gd2.dll.

Edit your php.ini file & make sure that this line exists. If not, add it. If it has a ; before it, remove the semi-colon.

PHP 8.0.0 or NEWER If you use XAMPP , then this file WILL exist on your file system:

extension=php_gd.dll

Older PHP versions will use this. If you use XAMPP 8.0.0+, then this file WON'T exist on your file system:

extension=php_gd2.dll

That's how you can fix this again. Enjoy!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM