Home » Php » "call to undefined function imagecreatetruecolor" error in PHP & pChart

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

Posted by: admin April 23, 2020 Leave a comment

Questions:

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.

How to&Answers:

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

Answer:

In Ubuntu/Linux Mint Platform (under root), use the following command:

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

Answer:

For PHP 7.2

sudo apt-get install php7.2-gd

Answer:

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

Answer:

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

Answer:

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.