Home > Article > Backend Development > PHP image verification code does not display
Question:
##Error one:
The most basic mistake is that you probably forget to install the gd module in php. In the window environment, you only need to find this in the php.ini file:;extension=php_gd2.dllJust remove the semicolon in front of it. After restarting apache, you can find this in phpinfo(): If you are under the ubuntu environment, you need to install the gd module. The command is:
sudo apt-get install php5-gdAfter installation, you can also see the above module.
Error 2:
If you find that it still doesn’t work after going through the above installation, then the following problem may be the problem. Your code is most likely edited using a text editor like editpuls or notepad, then their default encoding format is utf-8 with BOM. UTF-8 BOM is also called UTF-8 signature. In fact, UTF-8 BOM has no effect on UFT-8. It is added to support UTF-16 and UTF-32. The meaning of BOM signature is to tell the editor the current file. Which encoding is used is convenient for the editor to identify, but although the BOM is not displayed in the editor, it will produce output, just like an extra blank line. Generally I use UTF-8 BOM-free format, so you need to change the encoding format of the code to BOM-free format.Mistake Three:
If you go through the above two steps and find that it still doesn’t work, then you have to use your trump card. Use ob_clean() to clear the cache. The function of ob_clean is to discard the contents of the output buffer. If you have many generated image files, you must clear the buffer frequently if you want to access them correctly.public function create() { ob_clean(); $a = new verify(); session::set('captcha', strtolower($a->create(4, 15))); view::assign("captcha", $a); view::display("captcha"); exit(0); }
Note:
If you use a higher PHP version, you cannot use undefined variables, otherwise notice errors will be reported, $new_number and $_SESSION[' check_checks'] must be judged with isset before use, or if you use old code, add error_reporting(E_ALL & ~E_NOTICE) at the beginning; to block notice errors (not recommended), so use isset() to judge to ensure It is defined, otherwise the verification code may not be displayed. Recommended tutorial:The above is the detailed content of PHP image verification code does not display. For more information, please follow other related articles on the PHP Chinese website!