在win7*64下配置php开发环境nginx+php

来源:互联网 发布:荒岛求生没有save.json 编辑:程序博客网 时间:2024/04/28 08:37

一、概述

win7 64位的操作系统,目标是配置PHP环境并且能直接使用,同时不影响java的开发环境

nginx:作为web服务器将请求转发给php

fastcgi+php:处理php项目

tomcat:处理tomcat项目


二、配置步骤以及相关项

1、下载nginx

我直接下载的nginx1.2版本的文件,直接解压后的目录:E:\nginx-1.2.0\

2、下载php相关程序,我下载后安装到目录:E:\nginx-1.2.0\php

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's; much more verbose when it comes to errors. We recommending using the; development version only in development environments as errors shown to; application users can inadvertently leak otherwise secure information.;;;;;;;;;;;;;;;;;;;; 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.bug_compat_42;   Default Value: On;   Development Value: On;   Production Value: Off; session.bug_compat_warn;   Default Value: On;   Development Value: On;   Production Value: Off; 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; <? and ?> tags as PHP source which should be processed as such. It's been; recommended for several years that you not use the short tag "short cut" and; instead to use the full <?php and ?> tag combination. With the wide spread use; of XML and use of these tags by other languages, the server can become easily; confused and end up parsing the wrong code in the wrong context. But because; this short cut has been a feature for such a long time, it's currently still; supported for backwards compatibility, but we recommend you don't use them.; Default Value: On; Development Value: Off; Production Value: Off; http://php.net/short-open-tagshort_open_tag = Off; Allow ASP-style <% %> 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. This directive is; *NOT* affected by whether Safe Mode is turned On or Off.; 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. This directive is; *NOT* affected by whether Safe Mode is turned On or Off.; 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. This directive is; *NOT* affected by whether Safe Mode is turned On or Off.; http://php.net/disable-classesdisable_classes =; Colors for Syntax Highlighting mode.  Anything that's acceptable in; <span style="color: ???????"> 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's 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.; It's recommended that errors be logged on production servers rather than; having the errors sent 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. But, it's strongly recommended that you; leave this setting off on 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 = "<span style='color: #ff0000'>"; 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 = "</span>"; 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 NT, not valid in Windows 95).;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,E & S) 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 empty.; http://php.net/default-charset;default_charset = "UTF-8"; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is; to disable this feature. 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 = On;;;;;;;;;;;;;;;;;;;;;;;;;; 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";add by kongqz20130121extension_dir="E:/nginx-1.2.0/php/ext"; 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 it's set 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.dllextension=php_curl.dll;extension=php_fileinfo.dllextension=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.dll      ; Use with Oracle 10gR2 Instant Client;extension=php_oci8_11g.dll  ; Use with Oracle 11gR2 Instant Client;extension=php_openssl.dll;extension=php_pdo_firebird.dllextension=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_pspell.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;extension=php_zip.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.timezone;date.timezone =; 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];iconv.input_encoding = ISO-8859-1;iconv.internal_encoding = ISO-8859-1;iconv.output_encoding = ISO-8859-1[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(), even in safe mode.;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 NT, not valid in Windows 95).;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 =; 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 =; 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 you; or your OS have problems with lots of files in one directory, and is; a more efficient layout for servers that handle lots of 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-pathsession.save_path = "E:/snsworkspace/tmp"; 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 end all be 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 | xargs rm; PHP 4.2 and less have an undocumented feature/bug that allows you to; to initialize a session variable in the global scope.; PHP 4.3 and later will warn you, if this feature is used.; You can disable the feature and the warning separately. At this time,; the warning is only displayed, if bug_compat_42 is enabled. This feature; introduces some serious security problems if not handled correctly. It's; recommended that you do not use this feature on production servers. But you; should enable this on development servers and enable the warning as well. If you; do not enable the feature on development servers, you won't be warned when it's; used and debugging errors caused by this can be difficult to track down.; Default Value: On; Development Value: On; Production Value: Off; http://php.net/session.bug-compat-42session.bug_compat_42 = On; This setting controls whether or not you are warned by PHP when initializing a; session value into the global space. session.bug_compat_42 must be enabled before; these warnings can be issued by PHP. See the directive above for more information.; Default Value: On; Development Value: On; Production Value: Off; http://php.net/session.bug-compat-warnsession.bug_compat_warn = On; 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 <input> 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.compatability_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.; http://php.net/mbstring.language;mbstring.language = Japanese; internal/script encoding.; Some encoding cannot work as internal encoding.; (e.g. SJIS, BIG5, ISO-2022-*); http://php.net/mbstring.internal-encoding;mbstring.internal_encoding = EUC-JP; http input encoding.; http://php.net/mbstring.http-input;mbstring.http_input = auto; http output encoding. mb_output_handler must be; registered as output buffer to function; http://php.net/mbstring.http-output;mbstring.http_output = SJIS; 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 means; 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.;mbstring.strict_detection = Off; 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=; Local Variables:; tab-width: 4; End:


3、zend可选,下载后按照目录安装

4、mysql的安装,这个直接安装即可,这类不做详述

5、nginx的配置

这里的配置融合的java和php的请求转发:

java我用的是8080端口做应用服务器,nginx反向代理到这个端口即可

php我用的是9000端口作为fastcgi的服务端口,nginx反向代理到这个端口即可处理相关应用

nginx的conf下的nginx.conf文件参考如下:

#user  nobody;worker_processes  1;#error_log  logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {    worker_connections  1024;}http {    include       mime.types;    default_type  application/octet-stream;    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '    #                  '$status $body_bytes_sent "$http_referer" '    #                  '"$http_user_agent" "$http_x_forwarded_for"';    #access_log  logs/access.log  main;    sendfile        on;    #tcp_nopush     on;    #keepalive_timeout  0;    keepalive_timeout  65;    #gzip  on;    server {        listen       80;        server_name  www.jiuchongju.com tx.jiuchongju.com baidu.jiuchongju.com auth.jiuchongju.com 163.jiuchongju.com;        #charset koi8-r;        #access_log  logs/host.access.log  main;root   C:/tomcat6/webapps/jiuchongju/;            location / {                             index   index.jsp index.html index.htm ;       proxy_pass http://127.0.0.1:8080;             proxy_redirect          off;               proxy_set_header        Host            $host;               proxy_set_header        X-Real-IP       $remote_addr;               proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;               client_max_body_size    10m;               client_body_buffer_size 128k;               proxy_buffers           32 4k;             proxy_connect_timeout   3;               proxy_send_timeout      30;               proxy_read_timeout      30;           }         #location / {        #    root   html;        #    index  index.html index.htm;        #}        #error_page  404              /404.html;        # redirect server error pages to the static page /50x.html        #        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }        # proxy the PHP scripts to Apache listening on 127.0.0.1:80        #        #location ~ \.php$ {        #    proxy_pass   http://127.0.0.1;        #}        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000        #        #location ~ \.php$ {        #    root           html;        #    fastcgi_pass   127.0.0.1:9000;        #    fastcgi_index  index.php;        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;        #    include        fastcgi_params;        #}        # deny access to .htaccess files, if Apache's document root        # concurs with nginx's one        #        #location ~ /\.ht {        #    deny  all;        #}    }    server {        listen       80;        server_name  seller.madeinchina.com;root   C:/tomcat6/webapps/MicSeller/;          location / {                             index   index.jsp index.html index.htm ;       proxy_pass http://127.0.0.1:8080;             proxy_redirect          off;               proxy_set_header        Host            $host;               proxy_set_header        X-Real-IP       $remote_addr;               proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;               client_max_body_size    10m;               client_body_buffer_size 128k;               proxy_buffers           32 4k;             proxy_connect_timeout   3;               proxy_send_timeout      30;               proxy_read_timeout      30;           }         error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }    }    server {        listen       80;        server_name  dzht.inc.hc360.com;root   E:/newworkspace/econtract/;          location / {                             index   index.jsp index.html index.htm ;       proxy_pass http://127.0.0.1:8080;             proxy_redirect          off;               proxy_set_header        Host            $host;               proxy_set_header        X-Real-IP       $remote_addr;               proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;               client_max_body_size    10m;               client_body_buffer_size 128k;               proxy_buffers           32 4k;             proxy_connect_timeout   3;               proxy_send_timeout      30;               proxy_read_timeout      30;           }         error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }    }    server {        listen       80;        server_name  m.hc360.com;root   E:/newworkspace/hc-pad-server/;          location / {                             index   index.jsp index.html index.htm ;       proxy_pass http://127.0.0.1:8080;             proxy_redirect          off;               proxy_set_header        Host            $host;               proxy_set_header        X-Real-IP       $remote_addr;               proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;               client_max_body_size    10m;               client_body_buffer_size 128k;               proxy_buffers           32 4k;             proxy_connect_timeout   3;               proxy_send_timeout      30;               proxy_read_timeout      30;           }         error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }    }    server {        listen       80;        server_name  trader.madeinchina.com;root   C:/tomcat6/webapps/MicTrader/;          location / {                             index   index.jsp index.html index.htm ;       proxy_pass http://127.0.0.1:8080;             proxy_redirect          off;               proxy_set_header        Host            $host;               proxy_set_header        X-Real-IP       $remote_addr;               proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;               client_max_body_size    10m;               client_body_buffer_size 128k;               proxy_buffers           32 4k;             proxy_connect_timeout   3;               proxy_send_timeout      30;               proxy_read_timeout      30;           }         error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }    }    server {        listen       80;        server_name  buyer.madeinchina.com;root   C:/tomcat6/webapps/MicBuyer/;          location / {                             index   index.jsp index.html index.htm ;       proxy_pass http://127.0.0.1:8080;             proxy_redirect          off;               proxy_set_header        Host            $host;               proxy_set_header        X-Real-IP       $remote_addr;               proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;               client_max_body_size    10m;               client_body_buffer_size 128k;               proxy_buffers           32 4k;             proxy_connect_timeout   3;               proxy_send_timeout      30;               proxy_read_timeout      30;           }         error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }    }    # another virtual host using mix of IP-, name-, and port-based configuration    #    #server {    #    listen       8000;    #    listen       somename:8080;    #    server_name  somename  alias  another.alias;    #    location / {    #        root   html;    #        index  index.html index.htm;    #    }    #}    server {        listen       80;        server_name   dx.hc360.com;root           E:/snsworkspace/discuzx/upload/;#modify at 2013-01-21        location ~ \.php$ {            root           E:/snsworkspace/discuzx/upload/;    index   index.php index.html index.htm;            fastcgi_pass   127.0.0.1:9000;            fastcgi_index  index.php;            #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;            include        fastcgi_params;    allow all;        autoindex on;        }    }    server {        listen       80;        server_name   shequ.jiuchongju.com;root           E:/snsworkspace/discuzx/upload/;#modify at 2013-01-21        location ~ \.php$ {            root           E:/snsworkspace/discuzx0221/upload/;    index   index.php index.html index.htm;            fastcgi_pass   127.0.0.1:9000;            fastcgi_index  index.php;            #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;            include        fastcgi_params;    allow all;        autoindex on;        }    }    server {        listen       80;        server_name   zentao.hc360.com;root           E:/snsworkspace/zentaopms/;#modify at 2013-03-29        location ~ \.php$ {            root           E:/snsworkspace/zentaopms/;    index   index.php index.html index.htm;            fastcgi_pass   127.0.0.1:9000;            fastcgi_index  index.php;            #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;            include        fastcgi_params;    allow all;        autoindex on;        }    }    # HTTPS server    #    server {        listen       443;        server_name  localhost;root   C:/tomcat6/webapps/jiuchongju/;          ssl                  on;        ssl_certificate      E:/nginx-1.2.0/conf/33400_3909255690133559186523680.crt;        ssl_certificate_key  E:/nginx-1.2.0/conf/33400_3909255690133559186523680.key;ssl_client_certificate  E:/nginx-1.2.0/conf/ca.crt;        ssl_session_timeout  5m;        ssl_protocols  SSLv2 SSLv3 TLSv1;        ssl_ciphers  HIGH:!aNULL:!MD5;        ssl_prefer_server_ciphers   on;        location / {                             index   index.jsp index.html index.htm ;       proxy_pass http://127.0.0.1:8080;             proxy_redirect          off;               proxy_set_header        Host            $host;               proxy_set_header        X-Real-IP       $remote_addr;               proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;               client_max_body_size    10m;               client_body_buffer_size 128k;               proxy_buffers           32 4k;             proxy_connect_timeout   3;               proxy_send_timeout      30;               proxy_read_timeout      30;           }     }server {        listen       80;        server_name  diamond.hc360.com;root   C:/tomcat6/webapps/diamond-server/;          location / {                             index   index.jsp index.html index.htm ;       proxy_pass http://127.0.0.1:8080;             proxy_redirect          off;               proxy_set_header        Host            $host;               proxy_set_header        X-Real-IP       $remote_addr;               proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;               client_max_body_size    10m;               client_body_buffer_size 128k;               proxy_buffers           32 4k;             proxy_connect_timeout   3;               proxy_send_timeout      30;               proxy_read_timeout      30;           }     }}


三、使用

1、我在桌面建立了一个批处理文件php-cgi.bat,用来启动php-cgi服务。

代码如下:

echo "start php-cgi and nginx"E:\nginx-1.2.0\php\php-cgi -b 9000 -q

2、先启动上边的php-cgi.bat文件

3、启动E:\nginx-1.2.0\nginx.exe文件

4、按照域名访问相对应的php项目即可


四、总结

1、php工作环境的建立主要是在php-cgi的服务建立

2、nginx将php请求和java的请求是按照域名进行区分的


五、常见问题

1、能找到PHP文件,html能展示,但是php脚本没执行。用的是nginx1.4.7+php5.3+win7,这是因为我们在高版本的php脚本中需要开启短标签 short_open_tag=On

或者去每个php脚本写上<?php phpinfo();?>不能直接写<?phpinfo();?>

2、在nginx1.47+php.5.5+win7的时候提示丢失msvcr110.dll,解决方案是要么找到这个对应版本dll,要么降级php组件。因为php5.5以上版本的编译器用的是msvcr110.dll组件


原创粉丝点击