Home >Backend Development >PHP Tutorial >Learn PHP configuration files easily_PHP tutorial

Learn PHP configuration files easily_PHP tutorial

WBOY
WBOYOriginal
2016-07-15 13:27:53971browse

After a long period of development of PHP, many users know PHP very well. Here I will express my personal understanding and discuss with you. I believe that every PHP enthusiast will be familiar with the PHP.INI file. In the previous version of PHP, PHP3.0, it was named PHP3.INI. Open it with NOTEPAD. The file is usually in the Windows directory of the operating system. Everyone has seen that there are many semicolons "" in the PHP.INI file, just like Windows systems.

These semicolons are used to represent annotations. In other words, in order to make the PHP configuration file clear and easy to understand, the developer gives a brief description of each configuration function after the semicolon. These annotation lines will be ignored during system processing. . Of course, another benefit is that when the PHP system configuration changes, we can just add or remove comments to certain lines, which is simple and convenient.

auto_prepend_file string can specify a file to automatically parse and execute before reading all php files. It can be any file such as PHP, ASP, HTML (but not image files), which is very useful in extraordinary times. For example, if you want to add an advertisement to each PHP page, and if you are developing a website and want all visitors to authenticate before reading any PHP page, you can make your verification code into a separate file, and then Just set string to the file name here. Careful readers will ask: What if I only need these functions for certain files? Use your brain. Let’s take an example of a PHP configuration file:

<ol class="dp-xml">
<li class="alt"><span><span>myprefix.php文件  </span></span></li>
<li class="">
<span></span><strong><font color="#006699"><span class="tag"><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> </SPAN></SPAN><LI class=alt><SPAN>if (strstr(strtoupper( PHP_SELF),"/PHPTEST/"))  </SPAN><LI class=""><SPAN>echo "我的广告!</SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>BR</SPAN><SPAN class=tag>></span></font></strong><span>";  </span>
</li>
<li class="alt">
<span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span>
</li>
</ol>

In this way, just set: auto_prepend_file="myprefix .php", then all PHP files in the phptest directory will contain your advertising header! It should also be noted that this file should be placed in the path pointed to by include_path, otherwise an error may occur, which will be mentioned below.

auto_append_file string has a similar function to the above, except that it is automatically added to the end of the PHP file, and it will not work when the PHP program exits with exit(). With this feature, we can easily add a footnote to our company address! include_path string The function of this parameter is to allow functions such as include() and require() to search for files in the path defined here. Is it a bit like the SET PATH command used in the DOS era? This parameter can provide a list of paths, but the paths are separated by colons in UNIX and semicolons in NT, and the directions of the slashes are also different. PHP configuration files such as:

<ol class="dp-xml">
<li class="alt"><span><span>UNIX例:</span><span class="attribute"><font color="#ff0000">include_path</font></span><span>=.:/home/lib  </span></span></li>
<li class="">
<span>NT 例:</span><span class="attribute"><font color="#ff0000">include_path</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">".:c:homeib"</font></span><span> 其中“.”表示当前目录。  </span>
</li>
<li class="alt"><span>gpc_order string </span></li>
</ol>

GPC is the first letter of the three variables GET/POST/COOKIE. Its order reflects the priority of the system in processing the three variables. From left to right, priority Increasingly. The default setting is GPC, so that when any two or three variables with the same name are passed to the server, the system will sort them by priority and only read the variable with a higher priority. Another example is setting it to "GP" to ignore cookies and use POST instead of GET when the access methods are the same. Of course, we should try to avoid passing variables with the same name in different ways at the same time during the programming process, otherwise the readability of the program will become worse, and there may be different output results in systems with different configurations.

magic_quotes_gpc boolean This parameter can determine the special characters contained in the three variables of GET/POST/COOKIE: single quotes, double quotes, slashes, whether to add the escape character backslash (that is, in C language Commonly used "")? Because in systems such as PHP databases, characters such as single quotes usually have special meanings. In order to distinguish them from real characters, we can set magic_quotes_gpc=on, so that if there are single quotes in the variables we get from the user side, they will be added in front. escape character, and then we can use the function stripslashes(string str); as needed (this function can remove the backslash escape character "" in the string. If there are two consecutive backslashes, remove one and leave one . If there is only one backslash, just remove it. ) to remove the escape character "", we can compare:

<ol class="dp-xml">
<li class="alt"><span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>form</SPAN><SPAN class=tag>></span></font></strong><span> </span></span></li>
<li class="">
<span></span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>input</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>type</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"Text"</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>value</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>""</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>name</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"a"</FONT></SPAN><SPAN class=tag><STRONG><FONT color=#006699>></span></font></strong><span> </span>
</li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>input</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>type</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"Submit"</FONT></SPAN><SPAN class=tag><STRONG><FONT color=#006699>></span></font></strong><span> </span>
</li>
<li class="">
<span></span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>form</SPAN><SPAN class=tag>></span></font></strong><span> </span>
</li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> </SPAN></SPAN><LI class=""><SPAN>echo a;  </SPAN><LI class=alt><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></span></font></strong><span> </span>
</li>
</ol>

Let's use the text when magic_quotes_gpc=on and off. Enter single quotes or double quotes into the box, then submit to see what the difference is? SMTP string specifies the domain name or IP address of the mail sending server, so that we can send mails. Compared with Microsoft ASP, this function of PHP is much simpler and more convenient. Someone may ask, what should I do if I do not have a mail server? It's very simple, just fill in the mail server of your local ISP. In fact, the mail-sending and receiving server is just like the post office in our real life. Mail can be sent at any post office, but mail is received at a fixed post office.

<ol class="dp-xml">
<li class="alt"><span><span>mysql.default_host string  </span></span></li>
<li class=""><span>mysql.default_user string  </span></li>
<li class="alt"><span>mysql.default_password string </span></li>
</ol>

Readers who have used ODBC know that when setting up ODBC, you always need to set the database location and its default login user name and password. These parameters also mean the same, but they are used in MYSQL. That’s all. For the sake of security, we also need to make some restrictions on the user's rights in MYSQL. Don't be lazy and use "root"! If these parameters are set for convenience, then we can directly use the function mysql_connect() to connect to the database. Note that no parameters are needed here! You may be thinking, although this is very convenient, it is also very dangerous! Don't worry, these parameters are invalid in PHP's safe mode. Let's take a look at the safe mode settings.

Safe mode boolean 这可不是WINDOWS 98的安全模式啊。当PHP系统处于安全模式下时,我们就能对PHP程序的行为进行一定的控制,这时候一些数据库比如MYSQL、INFOMIX等的默认数据库主机、用户名、口令等设置无效,非法用户就不能轻易连接数据库了。而且在安全模式下safe_mode_allowed_env_vars string该项设置表示什么类型的系统环境变量可以被程序更改,若设置成safe_mode_allowed_env_vars=PHP_则表示只有 PHP_打头的系统环境变量可以被修改,例如这时假如在程序中企图使用putenv("windir=UUU");来修改环境变量,系统就会提示一个安全模式的保护错误。还有,安全模式对系统命令system()等有一定限制,如只能在指定目录运行等,这样能对系统文件有一定的保护作用。log_errors boolean 这个参数指定PHP程序出错时是否要将错误信息记录在 LOG文档中。在NT系统中假如我们同时设置error_log =syslog的话,我们就能在事件查看器的应用程序日志里看到PHP所发生过的错误信息,这对测试一个大型的系统有些帮助。
<ol class="dp-xml">
<li class="alt"><span><span class="attribute"><font color="#ff0000">error_prepend_string</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">"<font color=ff0000>"</font></span><span> </span></span></li>
<li class="">
<span></span><span class="attribute"><font color="#ff0000">error_append_string</font></span><span> = </span><span class="attribute-value"><font color="#0000ff">"</font>"</font></span><span> </span>
</li>
</ol>

这两个设置参数更有意思啦,按如上设置,那么我们一眼就能看到:我们的程序是否出错了!因为他的功能是把出错信息设置成显眼的红颜色了。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446490.htmlTechArticlePHP经过长时间的发展,很多用户都很了解PHP了,这里我发表一下个人理解,和大家讨论讨论。PHP.INI文件相信每位PHP爱好者都不会生疏,在...
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