Home > Article > Backend Development > Problems and solutions encountered when using php to dynamically generate gif
php does not specify to only output html files, it can generate dynamic gif files. I encountered some problems when using php to dynamically generate gif images, which have been solved. I am using php4.05 (for win32) + apache3.1.2_win32.
Problem 1: The program that dynamically generates gif cannot be started at all
I wrote an example of using php to generate gif. When I ran it, I found that the page could not be refreshed, as if it was dead, and the browser also failed. No error message.
Solution: Modify php.ini in the directory where php is located
Through the help of osso.com member selo, I was told that I need to modify php.ini in the path where php is installed (note: it must be php.ini in the php path ) extension_dir = the path to install php extensions (for example: c:phpextensions).
Question 2: php_gd.dll does not support gif
I loaded the php_gd.dll dynamic link library at the beginning of the program: dl("php_gd.dll"); but when running the program, this result appeared:
Warning: ImageGif: No GIF support in this PHP build in d:apachehtdocsgif2.php3 on line 12< ;br>.
Solution: Use php4.05
At this time, I discovered that the problem written in the book was that php_gd.dll could not support generating gif at all. After being guided by an expert, I found out that my version php4.04 for win32 lacked php_gd_gif.dll. So I downloaded a higher version of php4.05, which contains php_gd_gif.dll that supports generating dynamic gifs.
Question 3: Warning: Warning: Function registration failed - duplicate name - imagearc in d:apachehtdocsgif2.php3 on line 3
The program is as follows:
dl("php_gd_gif.dll");
header( "content-type:image/gif");
$im = imagecreate(400,30);
$black = imagecolorallocate($im,0,0,0);
$white = imagecolorallocate($im,255,255,255) ;
imageline( $im,200,15,215,15,$white);
imagestring($im, 5, 4, 10, "This is a Gif", $white);
imagegif($im);
imagedestroy ($im);
?>
Solution: Modify the program or php.ini
dl() function is used to load dll, but if you change the required dll in front of the php.ini file If ";" has been removed, then do not use this function at this time.
If the ";" before extension=php_gd_gif.dll in the ini file is not removed, then dl("php_gd_gif.dll"); must be used to load it. In short: the two are different from each other, otherwise the server will think it is a duplicate name.