博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP开发环境搭建详细教程
阅读量:4027 次
发布时间:2019-05-24

本文共 73357 字,大约阅读时间需要 244 分钟。

      首先你需要安装Apache Server,这里以当前最新版Apache Server2.4为例进行说明,可惜官网并没有提供最新版的msi安装包,连编译后的binary二进制压缩包都没提供,不过我已经编译并上传到我的百度网盘,下载地址如下:

     

 

下载下来后直接解压到任意目录,如图:

 然后你需要安装Apache Server系统服务,先cd 到apacher server2.4/bin下,然后执行如下命令:

httpd.exe -k install -n "Apache Server2.4"

 其中最后的Apache Server2.4为系统服务名称,执行完成后你的系统服务列表会多出一个Apache Server2.4这项服务,如图:

 这样我们就能从系服务列表里启动Apache Server了,而不是直接去执行httpd.exe来启动Apache Server服务了。然后我们需要对Apache Server进行配置,打开E:\Apache-Server-2.4\conf下的httpd.conf配置文件,如图:
 主要配置项如下:

ServerRoot "E:/Apache-Server-2.4"Listen 80ServerAdmin 736031305@qq.comServerName www.yida.com
AllowOverride none Require all denied
DocumentRoot "E:/Apacher-Server2.4/www"
ErrorLog "logs/error.log"

 ServerRoot:即我们安装的Apache Server服务器的安装根目录,这里我是直接解压到E:/Apache-Server-2.4下,你懂的。

 

 

Listen:表示Apache Server默认监听的端口号

ServerAdmin:表示配置Apacher Server服务器管理员的Email地址

 

ServerName:即服务名称,一般指定为域名+端口号,如果你没有域名就指定为IP + 端口号,如果端口号为80,则端口号可以省略

 

DocumentRoot:配置你的服务器站点根目录,这里我是配置为E:/Apacher-Server2.4/www,即你编写的网站代码文件都存放在此目录下,就好比Tomcat下的webapps目录,这样说你们可能会比较好理解,站点目录你们随便自定义哈,不一定要跟我一样,你设置为D:\aaaa\bbbb都行,如图:

 

 

<Directory />:这里即配置上面DocumentRoot设置的站点根目录的访问权限

 

<Directory "E:/Apache-Server-2.4/htdocs">:即配置Apache Server安装目录下的htdocs的访问权限,如图:

 <Directory "E:/Apacher-Server2.4/www">:即配置我们的站点根目录的访问权限

 

ErrorLog:即配置Apache Server服务器的日志文件存放目录,如果我们的Apache Server启动失败的时候,我们就可以去这个目录下查看服务器日志,从而排查异常。

 

修改完如上配置请重启我们的Apache Server使其生效,你可以点击E:\Apache-Server-2.4\bin下的ApacheMonitor.exe打开Apache Server管理界面来重启服务器,也可以通过系统服务列表里找到Apache Server2.4系统服务并重启它,具体操作如图:

 
 启动之前,请确保你的Apache Server2.4系统服务已经启动,如图:
 这样我们的Apache Server就已经安装好了,打开浏览器地址栏里输入,测试是否能正常访问而不是提示异常,则表明Apache Server安装成功了,如图:
 如果你看到如上图的“It works!”信息,则表明Apache Server已经安装成功了!

 

接着你需要安装PHP,请如图操作:

 
 
 下载完后请解压到任意目录,如图:
 这里E:\php-5.6.15就是我的PHP安装根目录,你们自己随便哈,你懂的!然后我们需要为PHP配置环境变量,如图操作: 
 然后选中path系统变量,然后点击编辑,如图:
 在path系统变量的最末尾追加如下一段配置内容:

;%PHP_HOME%;%PHP_HOME%\ext

为了引起你们的注意,特意把开头的分号用红色大字体标识了,千万不要少了最前面的那个分号哈!特此提醒!

 

然后回到我们的PHP安装根目录E:\php-5.6.15下,如图操作:

 然后用你喜欢的文本编辑软件对php.ini配置文件进行编辑,主要修改的地方如下:

memory_limit = 256Mdefault_mimetype = "text/html"default_charset = "UTF-8"extension=php_mysql.dlldate.timezone = Asia/Shanghaimysql.default_port = 3306mysql.default_user = root

 memory_linit:配置你的PHP的最大占用内存,这里我加大到256M,防止PHP进程出现内存溢出

default_mimetype:设置默认的MIME类型为text/html,即默认会当作html文件来解析处理

default_charset:配置PHP的默认编码为UTF-8,这个配置很重要,可以避免很多情况下的乱码问题,务必要对此项进行检查

extension:mysql.dll:此项表示开启对MySQL的支持

date.timezone:配置PHP里日期的默认时区为上海时区,这项配置也很重要,可以避免很多日期格式化问题,默认为UTC时区

mysql.default_port:即Mysql数据库的默认端口,不设置默认也为3306,

mysql.default_user:即Mysql数据库的默认登录帐号,不设置默认也为root

下面贴下我的php.ini完整配置,方便你们参照:

[PHP];;;;;;;;;;;;;;;;;;;; About php.ini   ;;;;;;;;;;;;;;;;;;;;; PHP's initialization file, generally called php.ini, is responsible for; configuring many of the aspects of PHP's behavior.; PHP attempts to find and load this configuration from a number of locations.; The following is a summary of its search order:; 1. SAPI module specific location.; 2. The PHPRC environment variable. (As of PHP 5.2.0); 3. A number of predefined registry keys on Windows (As of PHP 5.2.0); 4. Current working directory (except CLI); 5. The web server's directory (for SAPI modules), or directory of PHP; (otherwise in Windows); 6. The directory from the --with-config-file-path compile time option, or the; Windows directory (C:\windows or C:\winnt); See the PHP docs for more specific information.; http://php.net/configuration.file; The syntax of the file is extremely simple.  Whitespace and lines; beginning with a semicolon are silently ignored (as you probably guessed).; Section headers (e.g. [Foo]) are also silently ignored, even though; they might mean something in the future.; Directives following the section heading [PATH=/www/mysite] only; apply to PHP files in the /www/mysite directory.  Directives; following the section heading [HOST=www.example.com] only apply to; PHP files served from www.example.com.  Directives set in these; special sections cannot be overridden by user-defined INI files or; at runtime. Currently, [PATH=] and [HOST=] sections only work under; CGI/FastCGI.; http://php.net/ini.sections; Directives are specified using the following syntax:; directive = value; Directive names are *case sensitive* - foo=bar is different from FOO=bar.; Directives are variables used to configure PHP or PHP extensions.; There is no name validation.  If PHP can't find an expected; directive because it is not set or is mistyped, a default value will be used.; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one; of the INI constants (On, Off, True, False, Yes, No and None) or an expression; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a; previously set variable or directive (e.g. ${foo}); Expressions in the INI file are limited to bitwise operators and parentheses:; |  bitwise OR; ^  bitwise XOR; &  bitwise AND; ~  bitwise NOT; !  boolean NOT; Boolean flags can be turned on using the values 1, On, True or Yes.; They can be turned off using the values 0, Off, False or No.; An empty string can be denoted by simply not writing anything after the equal; sign, or by using the None keyword:;  foo =         ; sets foo to an empty string;  foo = None    ; sets foo to an empty string;  foo = "None"  ; sets foo to the string 'None'; If you use constants in your value, and these constants belong to a; dynamically loaded extension (either a PHP extension or a Zend extension),; you may only use these constants *after* the line that loads the extension.;;;;;;;;;;;;;;;;;;;; About this file ;;;;;;;;;;;;;;;;;;;;; PHP comes packaged with two INI files. One that is recommended to be used; in production environments and one that is recommended to be used in; development environments.; php.ini-production contains settings which hold security, performance and; best practices at its core. But please be aware, these settings may break; compatibility with older or less security conscience applications. We; recommending using the production ini in production and testing environments.; php.ini-development is very similar to its production variant, except it is; much more verbose when it comes to errors. We recommend using the; development version only in development environments, as errors shown to; application users can inadvertently leak otherwise secure information.; This is php.ini-development INI file.;;;;;;;;;;;;;;;;;;;; Quick Reference ;;;;;;;;;;;;;;;;;;;;; The following are all the settings which are different in either the production; or development versions of the INIs with respect to PHP's default behavior.; Please see the actual settings later in the document for more details as to why; we recommend these changes in PHP's behavior.; display_errors;   Default Value: On;   Development Value: On;   Production Value: Off; display_startup_errors;   Default Value: Off;   Development Value: On;   Production Value: Off; error_reporting;   Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED;   Development Value: E_ALL;   Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT; html_errors;   Default Value: On;   Development Value: On;   Production value: On; log_errors;   Default Value: Off;   Development Value: On;   Production Value: On; max_input_time;   Default Value: -1 (Unlimited);   Development Value: 60 (60 seconds);   Production Value: 60 (60 seconds); output_buffering;   Default Value: Off;   Development Value: 4096;   Production Value: 4096; register_argc_argv;   Default Value: On;   Development Value: Off;   Production Value: Off; request_order;   Default Value: None;   Development Value: "GP";   Production Value: "GP"; session.gc_divisor;   Default Value: 100;   Development Value: 1000;   Production Value: 1000; session.hash_bits_per_character;   Default Value: 4;   Development Value: 5;   Production Value: 5; short_open_tag;   Default Value: On;   Development Value: Off;   Production Value: Off; track_errors;   Default Value: Off;   Development Value: On;   Production Value: Off; url_rewriter.tags;   Default Value: "a=href,area=href,frame=src,form=,fieldset=";   Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry";   Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry"; variables_order;   Default Value: "EGPCS";   Development Value: "GPCS";   Production Value: "GPCS";;;;;;;;;;;;;;;;;;;;; php.ini Options  ;;;;;;;;;;;;;;;;;;;;;; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini";user_ini.filename = ".user.ini"; To disable this feature set this option to empty value;user_ini.filename =; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes);user_ini.cache_ttl = 300;;;;;;;;;;;;;;;;;;;;; Language Options ;;;;;;;;;;;;;;;;;;;;;; Enable the PHP scripting language engine under Apache.; http://php.net/engineengine = On; This directive determines whether or not PHP will recognize code between; 
tags as PHP source which should be processed as such. It is; generally recommended that
should be used and that this feature; should be disabled, as enabling it may result in issues when generating XML; documents, however this remains supported for backward compatibility reasons.; Note that this directive does not control the
tags.; http://php.net/asp-tagsasp_tags = Off; The number of significant digits displayed in floating point numbers.; http://php.net/precisionprecision = 14; Output buffering is a mechanism for controlling how much output data; (excluding headers and cookies) PHP should keep internally before pushing that; data to the client. If your application's output exceeds this setting, PHP; will send that data in chunks of roughly the size you specify.; Turning on this setting and managing its maximum buffer size can yield some; interesting side-effects depending on your application and web server.; You may be able to send headers and cookies after you've already sent output; through print or echo. You also may see performance benefits if your server is; emitting less packets due to buffered output versus PHP streaming the output; as it gets it. On production servers, 4096 bytes is a good setting for performance; reasons.; Note: Output buffering can also be controlled via Output Buffering Control; functions.; Possible Values:; On = Enabled and buffer is unlimited. (Use with caution); Off = Disabled; Integer = Enables the buffer and sets its maximum size in bytes.; Note: This directive is hardcoded to Off for the CLI SAPI; Default Value: Off; Development Value: 4096; Production Value: 4096; http://php.net/output-bufferingoutput_buffering = 4096; You can redirect all of the output of your scripts to a function. For; example, if you set output_handler to "mb_output_handler", character; encoding will be transparently converted to the specified encoding.; Setting any output handler automatically turns on output buffering.; Note: People who wrote portable scripts should not depend on this ini; directive. Instead, explicitly set the output handler using ob_start().; Using this ini directive may cause problems unless you know what script; is doing.; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"; and you cannot use both "ob_gzhandler" and "zlib.output_compression".; Note: output_handler must be empty if this is set 'On' !!!!; Instead you must use zlib.output_handler.; http://php.net/output-handler;output_handler =; Transparent output compression using the zlib library; Valid values for this option are 'off', 'on', or a specific buffer size; to be used for compression (default is 4KB); Note: Resulting chunk size may vary due to nature of compression. PHP; outputs chunks that are few hundreds bytes each as a result of; compression. If you prefer a larger chunk size for better; performance, enable output_buffering in addition.; Note: You need to use zlib.output_handler instead of the standard; output_handler, or otherwise the output will be corrupted.; http://php.net/zlib.output-compressionzlib.output_compression = Off; http://php.net/zlib.output-compression-level;zlib.output_compression_level = -1; You cannot specify additional output handlers if zlib.output_compression; is activated here. This setting does the same as output_handler but in; a different order.; http://php.net/zlib.output-handler;zlib.output_handler =; Implicit flush tells PHP to tell the output layer to flush itself; automatically after every output block. This is equivalent to calling the; PHP function flush() after each and every call to print() or echo() and each; and every HTML block. Turning this option on has serious performance; implications and is generally recommended for debugging purposes only.; http://php.net/implicit-flush; Note: This directive is hardcoded to On for the CLI SAPIimplicit_flush = Off; The unserialize callback function will be called (with the undefined class'; name as parameter), if the unserializer finds an undefined class; which should be instantiated. A warning appears if the specified function is; not defined, or if the function doesn't include/implement the missing class.; So only set this entry, if you really want to implement such a; callback-function.unserialize_callback_func =; When floats & doubles are serialized store serialize_precision significant; digits after the floating point. The default value ensures that when floats; are decoded with unserialize, the data will remain the same.serialize_precision = 17; open_basedir, if set, limits all file operations to the defined directory; and below. This directive makes most sense if used in a per-directory; or per-virtualhost web server configuration file.; http://php.net/open-basedir;open_basedir =; This directive allows you to disable certain functions for security reasons.; It receives a comma-delimited list of function names.; http://php.net/disable-functionsdisable_functions =; This directive allows you to disable certain classes for security reasons.; It receives a comma-delimited list of class names.; http://php.net/disable-classesdisable_classes =; Colors for Syntax Highlighting mode. Anything that's acceptable in; would work.; http://php.net/syntax-highlighting;highlight.string = #DD0000;highlight.comment = #FF9900;highlight.keyword = #007700;highlight.default = #0000BB;highlight.html = #000000; If enabled, the request will be allowed to complete even if the user aborts; the request. Consider enabling it if executing long requests, which may end up; being interrupted by the user or a browser timing out. PHP's default behavior; is to disable this feature.; http://php.net/ignore-user-abort;ignore_user_abort = On; Determines the size of the realpath cache to be used by PHP. This value should; be increased on systems where PHP opens many files to reflect the quantity of; the file operations performed.; http://php.net/realpath-cache-size;realpath_cache_size = 16k; Duration of time, in seconds for which to cache realpath information for a given; file or directory. For systems with rarely changing files, consider increasing this; value.; http://php.net/realpath-cache-ttl;realpath_cache_ttl = 120; Enables or disables the circular reference collector.; http://php.net/zend.enable-gczend.enable_gc = On; If enabled, scripts may be written in encodings that are incompatible with; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such; encodings. To use this feature, mbstring extension must be enabled.; Default: Off;zend.multibyte = Off; Allows to set the default encoding for the scripts. This value will be used; unless "declare(encoding=...)" directive appears at the top of the script.; Only affects if zend.multibyte is set.; Default: "";zend.script_encoding =;;;;;;;;;;;;;;;;;; Miscellaneous ;;;;;;;;;;;;;;;;;;; Decides whether PHP may expose the fact that it is installed on the server; (e.g. by adding its signature to the Web server header). It is no security; threat in any way, but it makes it possible to determine whether you use PHP; on your server or not.; http://php.net/expose-phpexpose_php = On;;;;;;;;;;;;;;;;;;;; Resource Limits ;;;;;;;;;;;;;;;;;;;;; Maximum execution time of each script, in seconds; http://php.net/max-execution-time; Note: This directive is hardcoded to 0 for the CLI SAPImax_execution_time = 30; Maximum amount of time each script may spend parsing request data. It's a good; idea to limit this time on productions servers in order to eliminate unexpectedly; long running scripts.; Note: This directive is hardcoded to -1 for the CLI SAPI; Default Value: -1 (Unlimited); Development Value: 60 (60 seconds); Production Value: 60 (60 seconds); http://php.net/max-input-timemax_input_time = 60; Maximum input variable nesting level; http://php.net/max-input-nesting-level;max_input_nesting_level = 64; How many GET/POST/COOKIE input variables may be accepted; max_input_vars = 1000; Maximum amount of memory a script may consume (128MB); http://php.net/memory-limitmemory_limit = 128M;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Error handling and logging ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; This directive informs PHP of which errors, warnings and notices you would like; it to take action for. The recommended way of setting values for this; directive is through the use of the error level constants and bitwise; operators. The error level constants are below here for convenience as well as; some common settings and their meanings.; By default, PHP is set to take action on all errors, notices and warnings EXCEPT; those related to E_NOTICE and E_STRICT, which together cover best practices and; recommended coding standards in PHP. For performance reasons, this is the; recommend error reporting setting. Your production server shouldn't be wasting; resources complaining about best practices and coding standards. That's what; development servers and development settings are for.; Note: The php.ini-development file has this setting as E_ALL. This; means it pretty much reports everything which is exactly what you want during; development and early testing.;; Error Level Constants:; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0); E_ERROR - fatal run-time errors; E_RECOVERABLE_ERROR - almost fatal run-time errors; E_WARNING - run-time warnings (non-fatal errors); E_PARSE - compile-time parse errors; E_NOTICE - run-time notices (these are warnings which often result; from a bug in your code, but it's possible that it was; intentional (e.g., using an uninitialized variable and; relying on the fact it is automatically initialized to an; empty string); E_STRICT - run-time notices, enable to have PHP suggest changes; to your code which will ensure the best interoperability; and forward compatibility of your code; E_CORE_ERROR - fatal errors that occur during PHP's initial startup; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's; initial startup; E_COMPILE_ERROR - fatal compile-time errors; E_COMPILE_WARNING - compile-time warnings (non-fatal errors); E_USER_ERROR - user-generated error message; E_USER_WARNING - user-generated warning message; E_USER_NOTICE - user-generated notice message; E_DEPRECATED - warn about code that will not work in future versions; of PHP; E_USER_DEPRECATED - user-generated deprecation warnings;; Common Values:; E_ALL (Show all errors, warnings and notices including coding standards.); E_ALL & ~E_NOTICE (Show all errors, except for notices); E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.); E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors); Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED; Development Value: E_ALL; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT; http://php.net/error-reportingerror_reporting = E_ALL; This directive controls whether or not and where PHP will output errors,; notices and warnings too. Error output is very useful during development, but; it could be very dangerous in production environments. Depending on the code; which is triggering the error, sensitive information could potentially leak; out of your application such as database usernames and passwords or worse.; For production environments, we recommend logging errors rather than; sending them to STDOUT.; Possible Values:; Off = Do not display any errors; stderr = Display errors to STDERR (affects only CGI/CLI binaries!); On or stdout = Display errors to STDOUT; Default Value: On; Development Value: On; Production Value: Off; http://php.net/display-errorsdisplay_errors = On; The display of errors which occur during PHP's startup sequence are handled; separately from display_errors. PHP's default behavior is to suppress those; errors from clients. Turning the display of startup errors on can be useful in; debugging configuration problems. We strongly recommend you; set this to 'off' for production servers.; Default Value: Off; Development Value: On; Production Value: Off; http://php.net/display-startup-errorsdisplay_startup_errors = On; Besides displaying errors, PHP can also log errors to locations such as a; server-specific log, STDERR, or a location specified by the error_log; directive found below. While errors should not be displayed on productions; servers they should still be monitored and logging is a great way to do that.; Default Value: Off; Development Value: On; Production Value: On; http://php.net/log-errorslog_errors = On; Set maximum length of log_errors. In error_log information about the source is; added. The default is 1024 and 0 allows to not apply any maximum length at all.; http://php.net/log-errors-max-lenlog_errors_max_len = 1024; Do not log repeated messages. Repeated errors must occur in same file on same; line unless ignore_repeated_source is set true.; http://php.net/ignore-repeated-errorsignore_repeated_errors = Off; Ignore source of message when ignoring repeated messages. When this setting; is On you will not log errors with repeated messages from different files or; source lines.; http://php.net/ignore-repeated-sourceignore_repeated_source = Off; If this parameter is set to Off, then memory leaks will not be shown (on; stdout or in the log). This has only effect in a debug compile, and if; error reporting includes E_WARNING in the allowed list; http://php.net/report-memleaksreport_memleaks = On; This setting is on by default.;report_zend_debug = 0; Store the last error/warning message in $php_errormsg (boolean). Setting this value; to On can assist in debugging and is appropriate for development servers. It should; however be disabled on production servers.; Default Value: Off; Development Value: On; Production Value: Off; http://php.net/track-errorstrack_errors = On; Turn off normal error reporting and emit XML-RPC error XML; http://php.net/xmlrpc-errors;xmlrpc_errors = 0; An XML-RPC faultCode;xmlrpc_error_number = 0; When PHP displays or logs an error, it has the capability of formatting the; error message as HTML for easier reading. This directive controls whether; the error message is formatted as HTML or not.; Note: This directive is hardcoded to Off for the CLI SAPI; Default Value: On; Development Value: On; Production value: On; http://php.net/html-errorshtml_errors = On; If html_errors is set to On *and* docref_root is not empty, then PHP; produces clickable error messages that direct to a page describing the error; or function causing the error in detail.; You can download a copy of the PHP manual from http://php.net/docs; and change docref_root to the base URL of your local copy including the; leading '/'. You must also specify the file extension being used including; the dot. PHP's default behavior is to leave these settings empty, in which; case no links to documentation are generated.; Note: Never use this feature for production boxes.; http://php.net/docref-root; Examples;docref_root = "/phpmanual/"; http://php.net/docref-ext;docref_ext = .html; String to output before an error message. PHP's default behavior is to leave; this setting blank.; http://php.net/error-prepend-string; Example:;error_prepend_string = ""; String to output after an error message. PHP's default behavior is to leave; this setting blank.; http://php.net/error-append-string; Example:;error_append_string = ""; Log errors to specified file. PHP's default behavior is to leave this value; empty.; http://php.net/error-log; Example:;error_log = php_errors.log; Log errors to syslog (Event Log on Windows).;error_log = syslog;windows.show_crt_warning; Default value: 0; Development value: 0; Production value: 0;;;;;;;;;;;;;;;;;; Data Handling ;;;;;;;;;;;;;;;;;;; The separator used in PHP generated URLs to separate arguments.; PHP's default setting is "&".; http://php.net/arg-separator.output; Example:;arg_separator.output = "&"; List of separator(s) used by PHP to parse input URLs into variables.; PHP's default setting is "&".; NOTE: Every character in this directive is considered as separator!; http://php.net/arg-separator.input; Example:;arg_separator.input = ";&"; This directive determines which super global arrays are registered when PHP; starts up. G,P,C,E & S are abbreviations for the following respective super; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty; paid for the registration of these arrays and because ENV is not as commonly; used as the others, ENV is not recommended on productions servers. You; can still get access to the environment variables through getenv() should you; need to.; Default Value: "EGPCS"; Development Value: "GPCS"; Production Value: "GPCS";; http://php.net/variables-ordervariables_order = "GPCS"; This directive determines which super global data (G,P & C) should be; registered into the super global array REQUEST. If so, it also determines; the order in which that data is registered. The values for this directive; are specified in the same manner as the variables_order directive,; EXCEPT one. Leaving this value empty will cause PHP to use the value set; in the variables_order directive. It does not mean it will leave the super; globals array REQUEST empty.; Default Value: None; Development Value: "GP"; Production Value: "GP"; http://php.net/request-orderrequest_order = "GP"; This directive determines whether PHP registers $argv & $argc each time it; runs. $argv contains an array of all the arguments passed to PHP when a script; is invoked. $argc contains an integer representing the number of arguments; that were passed when the script was invoked. These arrays are extremely; useful when running scripts from the command line. When this directive is; enabled, registering these variables consumes CPU cycles and memory each time; a script is executed. For performance reasons, this feature should be disabled; on production servers.; Note: This directive is hardcoded to On for the CLI SAPI; Default Value: On; Development Value: Off; Production Value: Off; http://php.net/register-argc-argvregister_argc_argv = Off; When enabled, the ENV, REQUEST and SERVER variables are created when they're; first used (Just In Time) instead of when the script starts. If these; variables are not used within a script, having this directive on will result; in a performance gain. The PHP directive register_argc_argv must be disabled; for this directive to have any affect.; http://php.net/auto-globals-jitauto_globals_jit = On; Whether PHP will read the POST data.; This option is enabled by default.; Most likely, you won't want to disable this option globally. It causes $_POST; and $_FILES to always be empty; the only way you will be able to read the; POST data will be through the php://input stream wrapper. This can be useful; to proxy requests or to process the POST data in a memory efficient fashion.; http://php.net/enable-post-data-reading;enable_post_data_reading = Off; Maximum size of POST data that PHP will accept.; Its value may be 0 to disable the limit. It is ignored if POST data reading; is disabled through enable_post_data_reading.; http://php.net/post-max-sizepost_max_size = 8M; Automatically add files before PHP document.; http://php.net/auto-prepend-fileauto_prepend_file =; Automatically add files after PHP document.; http://php.net/auto-append-fileauto_append_file =; By default, PHP will output a character encoding using; the Content-type: header. To disable sending of the charset, simply; set it to be empty.;; PHP's built-in default is text/html; http://php.net/default-mimetypedefault_mimetype = "text/html"; PHP's default character set is set to UTF-8.; http://php.net/default-charsetdefault_charset = "UTF-8"; PHP internal character encoding is set to empty.; If empty, default_charset is used.; http://php.net/internal-encoding;internal_encoding =; PHP input character encoding is set to empty.; If empty, default_charset is used.; http://php.net/input-encoding;input_encoding =; PHP output character encoding is set to empty.; If empty, default_charset is used.; mbstring or iconv output handler is used.; See also output_buffer.; http://php.net/output-encoding;output_encoding =; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is; to disable this feature and it will be removed in a future version.; If post reading is disabled through enable_post_data_reading,; $HTTP_RAW_POST_DATA is *NOT* populated.; http://php.net/always-populate-raw-post-data;always_populate_raw_post_data = -1;;;;;;;;;;;;;;;;;;;;;;;;;; Paths and Directories ;;;;;;;;;;;;;;;;;;;;;;;;;;; UNIX: "/path1:/path2";include_path = ".:/php/includes";; Windows: "\path1;\path2";include_path = ".;c:\php\includes";; PHP's default setting for include_path is ".;/path/to/php/pear"; http://php.net/include-path; The root of the PHP pages, used only if nonempty.; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root; if you are running php as a CGI under any web server (other than IIS); see documentation for security issues. The alternate is to use the; cgi.force_redirect configuration below; http://php.net/doc-rootdoc_root =; The directory under which PHP opens the script using /~username used only; if nonempty.; http://php.net/user-diruser_dir =; Directory in which the loadable extensions (modules) reside.; http://php.net/extension-dir; extension_dir = "./"; On windows:; extension_dir = "ext"; Directory where the temporary files should be placed.; Defaults to the system default (see sys_get_temp_dir); sys_temp_dir = "/tmp"; Whether or not to enable the dl() function. The dl() function does NOT work; properly in multithreaded servers, such as IIS or Zeus, and is automatically; disabled on them.; http://php.net/enable-dlenable_dl = Off; cgi.force_redirect is necessary to provide security running PHP as a CGI under; most web servers. Left undefined, PHP turns this on by default. You can; turn it off here AT YOUR OWN RISK; **You CAN safely turn this off for IIS, in fact, you MUST.**; http://php.net/cgi.force-redirect;cgi.force_redirect = 1; if cgi.nph is enabled it will force cgi to always sent Status: 200 with; every request. PHP's default behavior is to disable this feature.;cgi.nph = 1; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape; (iPlanet) web servers, you MAY need to set an environment variable name that PHP; will look for to know it is OK to continue execution. Setting this variable MAY; cause security issues, KNOW WHAT YOU ARE DOING FIRST.; http://php.net/cgi.redirect-status-env;cgi.redirect_status_env =; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting; of zero causes PHP to behave as before. Default is 1. You should fix your scripts; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.; http://php.net/cgi.fix-pathinfo;cgi.fix_pathinfo=1; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate; security tokens of the calling client. This allows IIS to define the; security context that the request runs under. mod_fastcgi under Apache; does not currently support this feature (03/17/2002); Set to 1 if running under IIS. Default is zero.; http://php.net/fastcgi.impersonate;fastcgi.impersonate = 1; Disable logging through FastCGI connection. PHP's default behavior is to enable; this feature.;fastcgi.logging = 0; cgi.rfc2616_headers configuration option tells PHP what type of headers to; use when sending HTTP response code. If set to 0, PHP sends Status: header that; is supported by Apache. When this option is set to 1, PHP will send; RFC2616 compliant header.; Default is zero.; http://php.net/cgi.rfc2616-headers;cgi.rfc2616_headers = 0;;;;;;;;;;;;;;;;; File Uploads ;;;;;;;;;;;;;;;;;; Whether to allow HTTP file uploads.; http://php.net/file-uploadsfile_uploads = On; Temporary directory for HTTP uploaded files (will use system default if not; specified).; http://php.net/upload-tmp-dir;upload_tmp_dir =; Maximum allowed size for uploaded files.; http://php.net/upload-max-filesizeupload_max_filesize = 2M; Maximum number of files that can be uploaded via a single requestmax_file_uploads = 20;;;;;;;;;;;;;;;;;;; Fopen wrappers ;;;;;;;;;;;;;;;;;;;; Whether to allow the treatment of URLs (like http:// or ftp://) as files.; http://php.net/allow-url-fopenallow_url_fopen = On; Whether to allow include/require to open URLs (like http:// or ftp://) as files.; http://php.net/allow-url-includeallow_url_include = Off; Define the anonymous ftp password (your email address). PHP's default setting; for this is empty.; http://php.net/from;from="john@doe.com"; Define the User-Agent string. PHP's default setting for this is empty.; http://php.net/user-agent;user_agent="PHP"; Default timeout for socket based streams (seconds); http://php.net/default-socket-timeoutdefault_socket_timeout = 60; If your scripts have to deal with files from Macintosh systems,; or you are running on a Mac and need to deal with files from; unix or win32 systems, setting this flag will cause PHP to; automatically detect the EOL character in those files so that; fgets() and file() will work regardless of the source of the file.; http://php.net/auto-detect-line-endings;auto_detect_line_endings = Off;;;;;;;;;;;;;;;;;;;;;;; Dynamic Extensions ;;;;;;;;;;;;;;;;;;;;;;;; If you wish to have an extension loaded automatically, use the following; syntax:;; extension=modulename.extension;; For example, on Windows:;; extension=msql.dll;; ... or under UNIX:;; extension=msql.so;; ... or with a path:;; extension=/path/to/extension/msql.so;; If you only provide the name of the extension, PHP will look for it in its; default extension directory.;; Windows Extensions; Note that ODBC support is built in, so no dll is needed for it.; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5); extension folders as well as the separate PECL DLL download (PHP 5).; Be sure to appropriately set the extension_dir directive.;;extension=php_bz2.dll;extension=php_curl.dll;extension=php_fileinfo.dll;extension=php_gd2.dll;extension=php_gettext.dll;extension=php_gmp.dll;extension=php_intl.dll;extension=php_imap.dll;extension=php_interbase.dll;extension=php_ldap.dll;extension=php_mbstring.dll;extension=php_exif.dll ; Must be after mbstring as it depends on itextension=php_mysql.dll;extension=php_mysqli.dll;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client;extension=php_openssl.dll;extension=php_pdo_firebird.dll;extension=php_pdo_mysql.dll;extension=php_pdo_oci.dll;extension=php_pdo_odbc.dll;extension=php_pdo_pgsql.dll;extension=php_pdo_sqlite.dll;extension=php_pgsql.dll;extension=php_shmop.dll; The MIBS data available in the PHP distribution must be installed. ; See http://www.php.net/manual/en/snmp.installation.php ;extension=php_snmp.dll;extension=php_soap.dll;extension=php_sockets.dll;extension=php_sqlite3.dll;extension=php_sybase_ct.dll;extension=php_tidy.dll;extension=php_xmlrpc.dll;extension=php_xsl.dll;;;;;;;;;;;;;;;;;;;; Module Settings ;;;;;;;;;;;;;;;;;;;;[CLI Server]; Whether the CLI web server uses ANSI color coding in its terminal output.cli_server.color = On[Date]; Defines the default timezone used by the date functions; http://php.net/date.timezonedate.timezone = Asia/Shanghai; http://php.net/date.default-latitude;date.default_latitude = 31.7667; http://php.net/date.default-longitude;date.default_longitude = 35.2333; http://php.net/date.sunrise-zenith;date.sunrise_zenith = 90.583333; http://php.net/date.sunset-zenith;date.sunset_zenith = 90.583333[filter]; http://php.net/filter.default;filter.default = unsafe_raw; http://php.net/filter.default-flags;filter.default_flags =[iconv]; Use of this INI entry is deprecated, use global input_encoding instead.; If empty, default_charset or input_encoding or iconv.input_encoding is used.; The precedence is: default_charset < intput_encoding < iconv.input_encoding;iconv.input_encoding =; Use of this INI entry is deprecated, use global internal_encoding instead.; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.; The precedence is: default_charset < internal_encoding < iconv.internal_encoding;iconv.internal_encoding =; Use of this INI entry is deprecated, use global output_encoding instead.; If empty, default_charset or output_encoding or iconv.output_encoding is used.; The precedence is: default_charset < output_encoding < iconv.output_encoding; To use an output encoding conversion, iconv's output handler must be set; otherwise output encoding conversion cannot be performed.;iconv.output_encoding =[intl];intl.default_locale =; This directive allows you to produce PHP errors when some error; happens within intl functions. The value is the level of the error produced.; Default is 0, which does not produce any errors.;intl.error_level = E_WARNING[sqlite]; http://php.net/sqlite.assoc-case;sqlite.assoc_case = 0[sqlite3];sqlite3.extension_dir =[Pcre];PCRE library backtracking limit.; http://php.net/pcre.backtrack-limit;pcre.backtrack_limit=100000;PCRE library recursion limit.;Please note that if you set this value to a high number you may consume all;the available process stack and eventually crash PHP (due to reaching the;stack size limit imposed by the Operating System).; http://php.net/pcre.recursion-limit;pcre.recursion_limit=100000[Pdo]; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"; http://php.net/pdo-odbc.connection-pooling;pdo_odbc.connection_pooling=strict;pdo_odbc.db2_instance_name[Pdo_mysql]; If mysqlnd is used: Number of cache slots for the internal result set cache; http://php.net/pdo_mysql.cache_sizepdo_mysql.cache_size = 2000; Default socket name for local MySQL connects. If empty, uses the built-in; MySQL defaults.; http://php.net/pdo_mysql.default-socketpdo_mysql.default_socket=[Phar]; http://php.net/phar.readonly;phar.readonly = On; http://php.net/phar.require-hash;phar.require_hash = On;phar.cache_list =[mail function]; For Win32 only.; http://php.net/smtpSMTP = localhost; http://php.net/smtp-portsmtp_port = 25; For Win32 only.; http://php.net/sendmail-from;sendmail_from = me@example.com; For Unix only. You may supply arguments as well (default: "sendmail -t -i").; http://php.net/sendmail-path;sendmail_path =; Force the addition of the specified parameters to be passed as extra parameters; to the sendmail binary. These parameters will always replace the value of; the 5th parameter to mail().;mail.force_extra_parameters =; Add X-PHP-Originating-Script: that will include uid of the script followed by the filenamemail.add_x_header = On; The path to a log file that will log all mail() calls. Log entries include; the full path of the script, line number, To address and headers.;mail.log =; Log mail to syslog (Event Log on Windows).;mail.log = syslog[SQL]; http://php.net/sql.safe-modesql.safe_mode = Off[ODBC]; http://php.net/odbc.default-db;odbc.default_db = Not yet implemented; http://php.net/odbc.default-user;odbc.default_user = Not yet implemented; http://php.net/odbc.default-pw;odbc.default_pw = Not yet implemented; Controls the ODBC cursor model.; Default: SQL_CURSOR_STATIC (default).;odbc.default_cursortype; Allow or prevent persistent links.; http://php.net/odbc.allow-persistentodbc.allow_persistent = On; Check that a connection is still valid before reuse.; http://php.net/odbc.check-persistentodbc.check_persistent = On; Maximum number of persistent links. -1 means no limit.; http://php.net/odbc.max-persistentodbc.max_persistent = -1; Maximum number of links (persistent + non-persistent). -1 means no limit.; http://php.net/odbc.max-linksodbc.max_links = -1; Handling of LONG fields. Returns number of bytes to variables. 0 means; passthru.; http://php.net/odbc.defaultlrlodbc.defaultlrl = 4096; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char.; See the documentation on odbc_binmode and odbc_longreadlen for an explanation; of odbc.defaultlrl and odbc.defaultbinmode; http://php.net/odbc.defaultbinmodeodbc.defaultbinmode = 1;birdstep.max_links = -1[Interbase]; Allow or prevent persistent links.ibase.allow_persistent = 1; Maximum number of persistent links. -1 means no limit.ibase.max_persistent = -1; Maximum number of links (persistent + non-persistent). -1 means no limit.ibase.max_links = -1; Default database name for ibase_connect().;ibase.default_db =; Default username for ibase_connect().;ibase.default_user =; Default password for ibase_connect().;ibase.default_password =; Default charset for ibase_connect().;ibase.default_charset =; Default timestamp format.ibase.timestampformat = "%Y-%m-%d %H:%M:%S"; Default date format.ibase.dateformat = "%Y-%m-%d"; Default time format.ibase.timeformat = "%H:%M:%S"[MySQL]; Allow accessing, from PHP's perspective, local files with LOAD DATA statements; http://php.net/mysql.allow_local_infilemysql.allow_local_infile = On; Allow or prevent persistent links.; http://php.net/mysql.allow-persistentmysql.allow_persistent = On; If mysqlnd is used: Number of cache slots for the internal result set cache; http://php.net/mysql.cache_sizemysql.cache_size = 2000; Maximum number of persistent links. -1 means no limit.; http://php.net/mysql.max-persistentmysql.max_persistent = -1; Maximum number of links (persistent + non-persistent). -1 means no limit.; http://php.net/mysql.max-linksmysql.max_links = -1; Default port number for mysql_connect(). If unset, mysql_connect() will use; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the; compile-time value defined MYSQL_PORT (in that order). Win32 will only look; at MYSQL_PORT.; http://php.net/mysql.default-portmysql.default_port = 3306; Default socket name for local MySQL connects. If empty, uses the built-in; MySQL defaults.; http://php.net/mysql.default-socketmysql.default_socket =; Default host for mysql_connect() (doesn't apply in safe mode).; http://php.net/mysql.default-hostmysql.default_host =; Default user for mysql_connect() (doesn't apply in safe mode).; http://php.net/mysql.default-usermysql.default_user = root; Default password for mysql_connect() (doesn't apply in safe mode).; Note that this is generally a *bad* idea to store passwords in this file.; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password"); and reveal this password! And of course, any users with read access to this; file will be able to reveal the password as well.; http://php.net/mysql.default-passwordmysql.default_password =; Maximum time (in seconds) for connect timeout. -1 means no limit; http://php.net/mysql.connect-timeoutmysql.connect_timeout = 60; Trace mode. When trace_mode is active (=On), warnings for table/index scans and; SQL-Errors will be displayed.; http://php.net/mysql.trace-modemysql.trace_mode = Off[MySQLi]; Maximum number of persistent links. -1 means no limit.; http://php.net/mysqli.max-persistentmysqli.max_persistent = -1; Allow accessing, from PHP's perspective, local files with LOAD DATA statements; http://php.net/mysqli.allow_local_infile;mysqli.allow_local_infile = On; Allow or prevent persistent links.; http://php.net/mysqli.allow-persistentmysqli.allow_persistent = On; Maximum number of links. -1 means no limit.; http://php.net/mysqli.max-linksmysqli.max_links = -1; If mysqlnd is used: Number of cache slots for the internal result set cache; http://php.net/mysqli.cache_sizemysqli.cache_size = 2000; Default port number for mysqli_connect(). If unset, mysqli_connect() will use; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the; compile-time value defined MYSQL_PORT (in that order). Win32 will only look; at MYSQL_PORT.; http://php.net/mysqli.default-portmysqli.default_port = 3306; Default socket name for local MySQL connects. If empty, uses the built-in; MySQL defaults.; http://php.net/mysqli.default-socketmysqli.default_socket =; Default host for mysql_connect() (doesn't apply in safe mode).; http://php.net/mysqli.default-hostmysqli.default_host =; Default user for mysql_connect() (doesn't apply in safe mode).; http://php.net/mysqli.default-usermysqli.default_user =; Default password for mysqli_connect() (doesn't apply in safe mode).; Note that this is generally a *bad* idea to store passwords in this file.; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw"); and reveal this password! And of course, any users with read access to this; file will be able to reveal the password as well.; http://php.net/mysqli.default-pwmysqli.default_pw =; Allow or prevent reconnectmysqli.reconnect = Off[mysqlnd]; Enable / Disable collection of general statistics by mysqlnd which can be; used to tune and monitor MySQL operations.; http://php.net/mysqlnd.collect_statisticsmysqlnd.collect_statistics = On; Enable / Disable collection of memory usage statistics by mysqlnd which can be; used to tune and monitor MySQL operations.; http://php.net/mysqlnd.collect_memory_statisticsmysqlnd.collect_memory_statistics = On; Size of a pre-allocated buffer used when sending commands to MySQL in bytes.; http://php.net/mysqlnd.net_cmd_buffer_size;mysqlnd.net_cmd_buffer_size = 2048; Size of a pre-allocated buffer used for reading data sent by the server in; bytes.; http://php.net/mysqlnd.net_read_buffer_size;mysqlnd.net_read_buffer_size = 32768[OCI8]; Connection: Enables privileged connections using external; credentials (OCI_SYSOPER, OCI_SYSDBA); http://php.net/oci8.privileged-connect;oci8.privileged_connect = Off; Connection: The maximum number of persistent OCI8 connections per; process. Using -1 means no limit.; http://php.net/oci8.max-persistent;oci8.max_persistent = -1; Connection: The maximum number of seconds a process is allowed to; maintain an idle persistent connection. Using -1 means idle; persistent connections will be maintained forever.; http://php.net/oci8.persistent-timeout;oci8.persistent_timeout = -1; Connection: The number of seconds that must pass before issuing a; ping during oci_pconnect() to check the connection validity. When; set to 0, each oci_pconnect() will cause a ping. Using -1 disables; pings completely.; http://php.net/oci8.ping-interval;oci8.ping_interval = 60; Connection: Set this to a user chosen connection class to be used; for all pooled server requests with Oracle 11g Database Resident; Connection Pooling (DRCP). To use DRCP, this value should be set to; the same string for all web servers running the same application,; the database pool must be configured, and the connection string must; specify to use a pooled server.;oci8.connection_class =; High Availability: Using On lets PHP receive Fast Application; Notification (FAN) events generated when a database node fails. The; database must also be configured to post FAN events.;oci8.events = Off; Tuning: This option enables statement caching, and specifies how; many statements to cache. Using 0 disables statement caching.; http://php.net/oci8.statement-cache-size;oci8.statement_cache_size = 20; Tuning: Enables statement prefetching and sets the default number of; rows that will be fetched automatically after statement execution.; http://php.net/oci8.default-prefetch;oci8.default_prefetch = 100; Compatibility. Using On means oci_close() will not close; oci_connect() and oci_new_connect() connections.; http://php.net/oci8.old-oci-close-semantics;oci8.old_oci_close_semantics = Off[PostgreSQL]; Allow or prevent persistent links.; http://php.net/pgsql.allow-persistentpgsql.allow_persistent = On; Detect broken persistent links always with pg_pconnect().; Auto reset feature requires a little overheads.; http://php.net/pgsql.auto-reset-persistentpgsql.auto_reset_persistent = Off; Maximum number of persistent links. -1 means no limit.; http://php.net/pgsql.max-persistentpgsql.max_persistent = -1; Maximum number of links (persistent+non persistent). -1 means no limit.; http://php.net/pgsql.max-linkspgsql.max_links = -1; Ignore PostgreSQL backends Notice message or not.; Notice message logging require a little overheads.; http://php.net/pgsql.ignore-noticepgsql.ignore_notice = 0; Log PostgreSQL backends Notice message or not.; Unless pgsql.ignore_notice=0, module cannot log notice message.; http://php.net/pgsql.log-noticepgsql.log_notice = 0[Sybase-CT]; Allow or prevent persistent links.; http://php.net/sybct.allow-persistentsybct.allow_persistent = On; Maximum number of persistent links. -1 means no limit.; http://php.net/sybct.max-persistentsybct.max_persistent = -1; Maximum number of links (persistent + non-persistent). -1 means no limit.; http://php.net/sybct.max-linkssybct.max_links = -1; Minimum server message severity to display.; http://php.net/sybct.min-server-severitysybct.min_server_severity = 10; Minimum client message severity to display.; http://php.net/sybct.min-client-severitysybct.min_client_severity = 10; Set per-context timeout; http://php.net/sybct.timeout;sybct.timeout=;sybct.packet_size; The maximum time in seconds to wait for a connection attempt to succeed before returning failure.; Default: one minute;sybct.login_timeout=; The name of the host you claim to be connecting from, for display by sp_who.; Default: none;sybct.hostname=; Allows you to define how often deadlocks are to be retried. -1 means "forever".; Default: 0;sybct.deadlock_retry_count=[bcmath]; Number of decimal digits for all bcmath functions.; http://php.net/bcmath.scalebcmath.scale = 0[browscap]; http://php.net/browscap;browscap = extra/browscap.ini[Session]; Handler used to store/retrieve data.; http://php.net/session.save-handlersession.save_handler = files; Argument passed to save_handler. In the case of files, this is the path; where data files are stored. Note: Windows users have to change this; variable in order to use PHP's session functions.;; The path can be defined as:;; session.save_path = "N;/path";; where N is an integer. Instead of storing all the session files in; /path, what this will do is use subdirectories N-levels deep, and; store the session data in those directories. This is useful if; your OS has problems with many files in one directory, and is; a more efficient layout for servers that handle many sessions.;; NOTE 1: PHP will not create this directory structure automatically.; You can use the script in the ext/session dir for that purpose.; NOTE 2: See the section on garbage collection below if you choose to; use subdirectories for session storage;; The file storage module creates files using mode 600 by default.; You can change that by using;; session.save_path = "N;MODE;/path";; where MODE is the octal representation of the mode. Note that this; does not overwrite the process's umask.; http://php.net/session.save-path;session.save_path = "/tmp"; Whether to use strict session mode.; Strict session mode does not accept uninitialized session ID and regenerate; session ID if browser sends uninitialized session ID. Strict mode protects; applications from session fixation via session adoption vulnerability. It is; disabled by default for maximum compatibility, but enabling it is encouraged.; https://wiki.php.net/rfc/strict_sessionssession.use_strict_mode = 0; Whether to use cookies.; http://php.net/session.use-cookiessession.use_cookies = 1; http://php.net/session.cookie-secure;session.cookie_secure =; This option forces PHP to fetch and use a cookie for storing and maintaining; the session id. We encourage this operation as it's very helpful in combating; session hijacking when not specifying and managing your own session id. It is; not the be-all and end-all of session hijacking defense, but it's a good start.; http://php.net/session.use-only-cookiessession.use_only_cookies = 1; Name of the session (used as cookie name).; http://php.net/session.namesession.name = PHPSESSID; Initialize session on request startup.; http://php.net/session.auto-startsession.auto_start = 0; Lifetime in seconds of cookie or, if 0, until browser is restarted.; http://php.net/session.cookie-lifetimesession.cookie_lifetime = 0; The path for which the cookie is valid.; http://php.net/session.cookie-pathsession.cookie_path = /; The domain for which the cookie is valid.; http://php.net/session.cookie-domainsession.cookie_domain =; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.; http://php.net/session.cookie-httponlysession.cookie_httponly =; Handler used to serialize data. php is the standard serializer of PHP.; http://php.net/session.serialize-handlersession.serialize_handler = php; Defines the probability that the 'garbage collection' process is started; on every session initialization. The probability is calculated by using; gc_probability/gc_divisor. Where session.gc_probability is the numerator; and gc_divisor is the denominator in the equation. Setting this value to 1; when the session.gc_divisor value is 100 will give you approximately a 1% chance; the gc will run on any give request.; Default Value: 1; Development Value: 1; Production Value: 1; http://php.net/session.gc-probabilitysession.gc_probability = 1; Defines the probability that the 'garbage collection' process is started on every; session initialization. The probability is calculated by using the following equation:; gc_probability/gc_divisor. Where session.gc_probability is the numerator and; session.gc_divisor is the denominator in the equation. Setting this value to 1; when the session.gc_divisor value is 100 will give you approximately a 1% chance; the gc will run on any give request. Increasing this value to 1000 will give you; a 0.1% chance the gc will run on any give request. For high volume production servers,; this is a more efficient approach.; Default Value: 100; Development Value: 1000; Production Value: 1000; http://php.net/session.gc-divisorsession.gc_divisor = 1000; After this number of seconds, stored data will be seen as 'garbage' and; cleaned up by the garbage collection process.; http://php.net/session.gc-maxlifetimesession.gc_maxlifetime = 1440; NOTE: If you are using the subdirectory option for storing session files; (see session.save_path above), then garbage collection does *not*; happen automatically. You will need to do your own garbage; collection through a shell script, cron entry, or some other method.; For example, the following script would is the equivalent of; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):; find /path/to/sessions -cmin +24 -type f | xargs rm; Check HTTP Referer to invalidate externally stored URLs containing ids.; HTTP_REFERER has to contain this substring for the session to be; considered as valid.; http://php.net/session.referer-checksession.referer_check =; How many bytes to read from the file.; http://php.net/session.entropy-length;session.entropy_length = 32; Specified here to create the session id.; http://php.net/session.entropy-file; Defaults to /dev/urandom; On systems that don't have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom; If neither are found at compile time, the default is no entropy file.; On windows, setting the entropy_length setting will activate the; Windows random source (using the CryptoAPI);session.entropy_file = /dev/urandom; Set to {nocache,private,public,} to determine HTTP caching aspects; or leave this empty to avoid sending anti-caching headers.; http://php.net/session.cache-limitersession.cache_limiter = nocache; Document expires after n minutes.; http://php.net/session.cache-expiresession.cache_expire = 180; trans sid support is disabled by default.; Use of trans sid may risk your users' security.; Use this option with caution.; - User may send URL contains active session ID; to other person via. email/irc/etc.; - URL that contains active session ID may be stored; in publicly accessible computer.; - User may access your site with the same session ID; always using URL stored in browser's history or bookmarks.; http://php.net/session.use-trans-sidsession.use_trans_sid = 0; Select a hash function for use in generating session ids.; Possible Values; 0 (MD5 128 bits); 1 (SHA-1 160 bits); This option may also be set to the name of any hash function supported by; the hash extension. A list of available hashes is returned by the hash_algos(); function.; http://php.net/session.hash-functionsession.hash_function = 0; Define how many bits are stored in each character when converting; the binary hash data to something readable.; Possible values:; 4 (4 bits: 0-9, a-f); 5 (5 bits: 0-9, a-v); 6 (6 bits: 0-9, a-z, A-Z, "-", ","); Default Value: 4; Development Value: 5; Production Value: 5; http://php.net/session.hash-bits-per-charactersession.hash_bits_per_character = 5; The URL rewriter will look for URLs in a defined set of HTML tags.; form/fieldset are special; if you include them here, the rewriter will; add a hidden field with the info which is otherwise appended; to URLs. If you want XHTML conformity, remove the form entry.; Note that all valid entries require a "=", even if no value follows.; Default Value: "a=href,area=href,frame=src,form=,fieldset="; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry"; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry"; http://php.net/url-rewriter.tagsurl_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"; Enable upload progress tracking in $_SESSION; Default Value: On; Development Value: On; Production Value: On; http://php.net/session.upload-progress.enabled;session.upload_progress.enabled = On; Cleanup the progress information as soon as all POST data has been read; (i.e. upload completed).; Default Value: On; Development Value: On; Production Value: On; http://php.net/session.upload-progress.cleanup;session.upload_progress.cleanup = On; A prefix used for the upload progress key in $_SESSION; Default Value: "upload_progress_"; Development Value: "upload_progress_"; Production Value: "upload_progress_"; http://php.net/session.upload-progress.prefix;session.upload_progress.prefix = "upload_progress_"; The index name (concatenated with the prefix) in $_SESSION; containing the upload progress information; Default Value: "PHP_SESSION_UPLOAD_PROGRESS"; Development Value: "PHP_SESSION_UPLOAD_PROGRESS"; Production Value: "PHP_SESSION_UPLOAD_PROGRESS"; http://php.net/session.upload-progress.name;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"; How frequently the upload progress should be updated.; Given either in percentages (per-file), or in bytes; Default Value: "1%"; Development Value: "1%"; Production Value: "1%"; http://php.net/session.upload-progress.freq;session.upload_progress.freq = "1%"; The minimum delay between updates, in seconds; Default Value: 1; Development Value: 1; Production Value: 1; http://php.net/session.upload-progress.min-freq;session.upload_progress.min_freq = "1"[MSSQL]; Allow or prevent persistent links.mssql.allow_persistent = On; Maximum number of persistent links. -1 means no limit.mssql.max_persistent = -1; Maximum number of links (persistent+non persistent). -1 means no limit.mssql.max_links = -1; Minimum error severity to display.mssql.min_error_severity = 10; Minimum message severity to display.mssql.min_message_severity = 10; Compatibility mode with old versions of PHP 3.0.mssql.compatibility_mode = Off; Connect timeout;mssql.connect_timeout = 5; Query timeout;mssql.timeout = 60; Valid range 0 - 2147483647. Default = 4096.;mssql.textlimit = 4096; Valid range 0 - 2147483647. Default = 4096.;mssql.textsize = 4096; Limits the number of records in each batch. 0 = all records in one batch.;mssql.batchsize = 0; Specify how datetime and datetim4 columns are returned; On => Returns data converted to SQL server settings; Off => Returns values as YYYY-MM-DD hh:mm:ss;mssql.datetimeconvert = On; Use NT authentication when connecting to the servermssql.secure_connection = Off; Specify max number of processes. -1 = library default; msdlib defaults to 25; FreeTDS defaults to 4096;mssql.max_procs = -1; Specify client character set.; If empty or not set the client charset from freetds.conf is used; This is only used when compiled with FreeTDS;mssql.charset = "ISO-8859-1"[Assertion]; Assert(expr); active by default.; http://php.net/assert.active;assert.active = On; Issue a PHP warning for each failed assertion.; http://php.net/assert.warning;assert.warning = On; Don't bail out by default.; http://php.net/assert.bail;assert.bail = Off; User-function to be called if an assertion fails.; http://php.net/assert.callback;assert.callback = 0; Eval the expression with current error_reporting(). Set to true if you want; error_reporting(0) around the eval().; http://php.net/assert.quiet-eval;assert.quiet_eval = 0[COM]; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs; http://php.net/com.typelib-file;com.typelib_file =; allow Distributed-COM calls; http://php.net/com.allow-dcom;com.allow_dcom = true; autoregister constants of a components typlib on com_load(); http://php.net/com.autoregister-typelib;com.autoregister_typelib = true; register constants casesensitive; http://php.net/com.autoregister-casesensitive;com.autoregister_casesensitive = false; show warnings on duplicate constant registrations; http://php.net/com.autoregister-verbose;com.autoregister_verbose = true; The default character set code-page to use when passing strings to and from COM objects.; Default: system ANSI code page;com.code_page=[mbstring]; language for internal character representation.; This affects mb_send_mail() and mbstrig.detect_order.; http://php.net/mbstring.language;mbstring.language = Japanese; Use of this INI entry is deprecated, use global internal_encoding instead.; internal/script encoding.; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*); If empty, default_charset or internal_encoding or iconv.internal_encoding is used.; The precedence is: default_charset < internal_encoding < iconv.internal_encoding;mbstring.internal_encoding =; Use of this INI entry is deprecated, use global input_encoding instead.; http input encoding.; mbstring.encoding_traslation = On is needed to use this setting.; If empty, default_charset or input_encoding or mbstring.input is used.; The precedence is: default_charset < intput_encoding < mbsting.http_input; http://php.net/mbstring.http-input;mbstring.http_input =; Use of this INI entry is deprecated, use global output_encoding instead.; http output encoding.; mb_output_handler must be registered as output buffer to function.; If empty, default_charset or output_encoding or mbstring.http_output is used.; The precedence is: default_charset < output_encoding < mbstring.http_output; To use an output encoding conversion, mbstring's output handler must be set; otherwise output encoding conversion cannot be performed.; http://php.net/mbstring.http-output;mbstring.http_output =; enable automatic encoding translation according to; mbstring.internal_encoding setting. Input chars are; converted to internal encoding by setting this to On.; Note: Do _not_ use automatic encoding translation for; portable libs/applications.; http://php.net/mbstring.encoding-translation;mbstring.encoding_translation = Off; automatic encoding detection order.; "auto" detect order is changed according to mbstring.language; http://php.net/mbstring.detect-order;mbstring.detect_order = auto; substitute_character used when character cannot be converted; one from another; http://php.net/mbstring.substitute-character;mbstring.substitute_character = none; overload(replace) single byte functions by mbstring functions.; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),; etc. Possible values are 0,1,2,4 or combination of them.; For example, 7 for overload everything.; 0: No overload; 1: Overload mail() function; 2: Overload str*() functions; 4: Overload ereg*() functions; http://php.net/mbstring.func-overload;mbstring.func_overload = 0; enable strict encoding detection.; Default: Off;mbstring.strict_detection = On; This directive specifies the regex pattern of content types for which mb_output_handler(); is activated.; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml);mbstring.http_output_conv_mimetype=[gd]; Tell the jpeg decode to ignore warnings and try to create; a gd image. The warning will then be displayed as notices; disabled by default; http://php.net/gd.jpeg-ignore-warning;gd.jpeg_ignore_warning = 0[exif]; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.; With mbstring support this will automatically be converted into the encoding; given by corresponding encode setting. When empty mbstring.internal_encoding; is used. For the decode settings you can distinguish between motorola and; intel byte order. A decode setting cannot be empty.; http://php.net/exif.encode-unicode;exif.encode_unicode = ISO-8859-15; http://php.net/exif.decode-unicode-motorola;exif.decode_unicode_motorola = UCS-2BE; http://php.net/exif.decode-unicode-intel;exif.decode_unicode_intel = UCS-2LE; http://php.net/exif.encode-jis;exif.encode_jis =; http://php.net/exif.decode-jis-motorola;exif.decode_jis_motorola = JIS; http://php.net/exif.decode-jis-intel;exif.decode_jis_intel = JIS[Tidy]; The path to a default tidy configuration file to use when using tidy; http://php.net/tidy.default-config;tidy.default_config = /usr/local/lib/php/default.tcfg; Should tidy clean and repair output automatically?; WARNING: Do not use this option if you are generating non-html content; such as dynamic images; http://php.net/tidy.clean-outputtidy.clean_output = Off[soap]; Enables or disables WSDL caching feature.; http://php.net/soap.wsdl-cache-enabledsoap.wsdl_cache_enabled=1; Sets the directory name where SOAP extension will put cache files.; http://php.net/soap.wsdl-cache-dirsoap.wsdl_cache_dir="/tmp"; (time to live) Sets the number of second while cached file will be used; instead of original one.; http://php.net/soap.wsdl-cache-ttlsoap.wsdl_cache_ttl=86400; Sets the size of the cache limit. (Max. number of WSDL files to cache)soap.wsdl_cache_limit = 5[sysvshm]; A default size of the shared memory segment;sysvshm.init_mem = 10000[ldap]; Sets the maximum number of open links or -1 for unlimited.ldap.max_links = -1[mcrypt]; For more information about mcrypt settings see http://php.net/mcrypt-module-open; Directory where to load mcrypt algorithms; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt);mcrypt.algorithms_dir=; Directory where to load mcrypt modes; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt);mcrypt.modes_dir=[dba];dba.default_handler=[opcache]; Determines if Zend OPCache is enabled;opcache.enable=0; Determines if Zend OPCache is enabled for the CLI version of PHP;opcache.enable_cli=0; The OPcache shared memory storage size.;opcache.memory_consumption=64; The amount of memory for interned strings in Mbytes.;opcache.interned_strings_buffer=4; The maximum number of keys (scripts) in the OPcache hash table.; Only numbers between 200 and 100000 are allowed.;opcache.max_accelerated_files=2000; The maximum percentage of "wasted" memory until a restart is scheduled.;opcache.max_wasted_percentage=5; When this directive is enabled, the OPcache appends the current working; directory to the script key, thus eliminating possible collisions between; files with the same name (basename). Disabling the directive improves; performance, but may break existing applications.;opcache.use_cwd=1; When disabled, you must reset the OPcache manually or restart the; webserver for changes to the filesystem to take effect.;opcache.validate_timestamps=1; How often (in seconds) to check file timestamps for changes to the shared; memory storage allocation. ("1" means validate once per second, but only; once per request. "0" means always validate);opcache.revalidate_freq=2; Enables or disables file search in include_path optimization;opcache.revalidate_path=0; If disabled, all PHPDoc comments are dropped from the code to reduce the; size of the optimized code.;opcache.save_comments=1; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments"; may be always stored (save_comments=1), but not loaded by applications; that don't need them anyway.;opcache.load_comments=1; If enabled, a fast shutdown sequence is used for the accelerated code;opcache.fast_shutdown=0; Allow file existence override (file_exists, etc.) performance feature.;opcache.enable_file_override=0; A bitmask, where each bit enables or disables the appropriate OPcache; passes;opcache.optimization_level=0xffffffff;opcache.inherited_hack=1;opcache.dups_fix=0; The location of the OPcache blacklist file (wildcards allowed).; Each OPcache blacklist file is a text file that holds the names of files; that should not be accelerated. The file format is to add each filename; to a new line. The filename may be a full path or just a file prefix; (i.e., /var/www/x blacklists all the files and directories in /var/www; that start with 'x'). Line starting with a ; are ignored (comments).;opcache.blacklist_filename=; Allows exclusion of large files from being cached. By default all files; are cached.;opcache.max_file_size=0; Check the cache checksum each N requests.; The default value of "0" means that the checks are disabled.;opcache.consistency_checks=0; How long to wait (in seconds) for a scheduled restart to begin if the cache; is not being accessed.;opcache.force_restart_timeout=180; OPcache error_log file name. Empty string assumes "stderr".;opcache.error_log=; All OPcache errors go to the Web server log.; By default, only fatal errors (level 0) or errors (level 1) are logged.; You can also enable warnings (level 2), info messages (level 3) or; debug messages (level 4).;opcache.log_verbosity_level=1; Preferred Shared Memory back-end. Leave empty and let the system decide.;opcache.preferred_memory_model=; Protect the shared memory from unexpected writing during script execution.; Useful for internal debugging only.;opcache.protect_memory=0[curl]; A default value for the CURLOPT_CAINFO option. This is required to be an; absolute path.;curl.cainfo =[openssl]; The location of a Certificate Authority (CA) file on the local filesystem; to use when verifying the identity of SSL/TLS peers. Most users should; not specify a value for this directive as PHP will attempt to use the; OS-managed cert stores in its absence. If specified, this value may still; be overridden on a per-stream basis via the "cafile" SSL stream context; option.;openssl.cafile=; If openssl.cafile is not specified or if the CA file is not found, the; directory pointed to by openssl.capath is searched for a suitable; certificate. This value must be a correctly hashed certificate directory.; Most users should not specify a value for this directive as PHP will; attempt to use the OS-managed cert stores in its absence. If specified,; this value may still be overridden on a per-stream basis via the "capath"; SSL stream context option.;openssl.capath=; Local Variables:; tab-width: 4; End:

 这样我们的PHP就安装成功了.然后我们需要将我们的Apache Server添加PHP模块,使其支持对PHP代码的解析.打开Apache Server的httpd.conf配置文件,做如下配置:

 配置内容如下:

LoadModule php5_module "E:/php-5.6.15/php5apache2_4.dll"AddHandler application/x-httpd-php .phpDirectoryIndex index.html index.php

 注意:其中E:/php-5.6.15为我的PHP安装根目录,请对照修改成你自己的PHP实际安装根目录哦!然后你需要重启Apache Server使其生效,如果Apache Server能正常启动则表明OK了.

 

然后你需要安装一款PHP IDE来编写PHP代码,就像你写Java代码需要安装Eclipse是类似的,这里我以Zend Studio为例:

     

     

Zend Studio如何安装我就不啰嗦了哈,安装完后,请打开它,跟随我一起创建第一个PHP工程来感受下PHP,如图操作:

 
 
 
 运行后,你会看到如图的信息,这表明PHP程序正常运行了!
 

     到此,我们的第一个PHP程序就编写完毕了,更复杂的PHP程序有待我们去学习PHP的各种函数库,慢慢去熟悉咯,不过工欲善其事必先利其器,所以PHP开发环境搭建好了,是万事开始的第一步.

     可能有些亲就要吐槽了,次奥,这么麻烦,劳资安装一个wampserver,2分钟搞定.我只想说:我不喜欢用傻瓜式的东西,再说采用这种完全自定义的方式去安装,更能学到东西,更能锻炼人.新手如果嫌麻烦,还是请去下载PHP一站式傻瓜安装包吧,望知晓! OK,今天就说到这儿,如果你们过程中碰到各种问题,请QQ咨询我:

   (本人QQ:7-3-6-0-3-1-3-0-5)

 

转载地址:http://gjxbi.baihongyu.com/

你可能感兴趣的文章
C/C++中关于动态生成一维数组和二维数组的学习
查看>>
系统架构:Web应用架构的新趋势---前端和后端分离的一点想法
查看>>
JVM最简生存指南
查看>>
漂亮的代码,糟糕的行为——解决Java运行时的内存问题
查看>>
Java的对象驻留
查看>>
自己动手写GC
查看>>
Java 8新特性终极指南
查看>>
logback高级特性使用(二) 自定义Pattern模板
查看>>
JVM并发机制探讨—内存模型、内存可见性和指令重排序
查看>>
可扩展、高可用服务网络设计方案
查看>>
如何构建高扩展性网站
查看>>
微服务架构的设计模式
查看>>
持续可用与CAP理论 – 一个系统开发者的观点
查看>>
nginx+tomcat+memcached (msm)实现 session同步复制
查看>>
c++指针常量与常量指针详解
查看>>
c++字符数组和字符指针区别以及str***函数
查看>>
c++类的操作符重载注意事项
查看>>
c++模板与泛型编程
查看>>
STL::deque以及由其实现的queue和stack
查看>>
CS4344驱动
查看>>