Home  >  Article  >  Backend Development  >  What should I do if the php verification code cannot be loaded?

What should I do if the php verification code cannot be loaded?

藏色散人
藏色散人Original
2021-02-28 17:39:283454browse

Solution to the problem that the php verification code cannot be loaded: 1. Remove the semicolon in ";extension=php_gd2.dll" in the php.ini file; 2. Install the gd module in the ubuntu environment; 3. . Change the encoding format of the code to a BOM-free format; 4. Use ob_clean to clear the cache.

What should I do if the php verification code cannot be loaded?

The operating environment of this tutorial: Windows 7 system, PHP version 7.1, Dell G3 computer.

The solution process for the Php picture verification code not showing up

Problem


Today I created a new virtual host locally and deployed a small PHP website that I wrote 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:

bug1

When the above situation occurs, the final solution is A basic mistake is that you probably forget to install the gd module in php.

In the window environment, you only need to find it in the php.ini file

;extension=php_gd2.dll

Just 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-gd

After installation, you can also see the above module.

[Recommended learning: "PHP Video Tutorial"]

bug2

If you experience the above After installation, if it still doesn't work, then it may be the following problem

Your code is probably edited using a text editor like editpuls or notepad, then their default encoding format is BOM's utf-8.

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

BOM, BOM signature means to tell the editor what encoding the current file uses to facilitate the editor's identification, but although the BOM is in the editor

## It will not be displayed, but output will be generated, 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.

bug3

#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() and clear the cache.

ob_clean This function is used to discard the contents of the output buffer. If you have many generated image files, then if you want to access them correctly, you must Clear the buffer frequently.

	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);
	}

Now, everyone can see that it is back to normal



##

Note: If you use a higher php version, you cannot use undefined variables, otherwise notice errors, $new_number and $_SESSION will be reported ['check_checks'] You must use isset to judge 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 make sure it's defined. Otherwise, the verification code may not be displayed.

The above is the detailed content of What should I do if the php verification code cannot be loaded?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn