Today I created a new virtual host locally and deployed a small php website that I had written before. Because I used the wamp integrated environment before, this situation did not occur. Now I suddenly find that the verification code cannot be generated.
So I started my journey to find bugs. I searched for many solutions on the Internet and finally solved it. Now I share it as follows:
Error 1:
In the above situation, the most basic mistake is that you may have forgotten to install the gd module in php. In the window environment, you only need to find
;extension=php_gd2.dll
in the php.ini file and 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 issudo apt-get install php5-gd
Error 2:
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 a notice error will be reported. $new_number and $_SESSION['check_checks'] must be used with isset before use Check it or if you use old code, add error_reporting(E_ALL & ~E_NOTICE) at the beginning; to block the notice error (not recommended), so use isset() to check it to make sure it is defined. Otherwise, the verification code may not be displayed.
Recommended tutorial:The above is the detailed content of PHP verification code image does not display. For more information, please follow other related articles on the PHP Chinese website!