win7中配置php环境

来源:互联网 发布:江苏有线网络钱进 编辑:程序博客网 时间:2024/04/28 06:22

在ubuntu中php环境的配置相对容易,可参看http://www.cnblogs.com/aqhistory/archive/2011/04/10/2011713.html

主要命令sudo apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql

sudo apt-get install phpmyadmin


window下PHP环境的配置,相对复杂一些,我2个星期才搞定,惭愧。现在此记录安装过程。

1、实现安装了mysql5.5完整版,进行了配置,并能正常使用(配置环境变量path)

2、安装了apache2.2,配置文件 ../conf/httpd.conf 。默认端口Listen 80,可以不改动(但要记得与IIS服务器会发生端口占用冲突),也可以改成其他(非80时浏览器访问要加上端口。出现如下界面,表示apache单独的配置成功。


3、官网下载php5-2-17,解压某位置(文件夹可以重命名)

php5的配置文件是php.ini

为了顺利地加载模块,需要将php的主目录和php下ext子目录,加入到环境变量|系统变量Path中


下面是配置的重点,关联php和apache,php关联mysql

4、修改apache配置文件httpd.conf

下面是我目前系统的apache配置完整文档,主要修改增加的几处用红色标记。

## This is the main Apache HTTP server configuration file.  It contains the# configuration directives that give the server its instructions.# See <URL:http://httpd.apache.org/docs/2.2> for detailed information.# In particular, see # <URL:http://httpd.apache.org/docs/2.2/mod/directives.html># for a discussion of each configuration directive.## Do NOT simply read the instructions in here without understanding# what they do.  They're here only as hints or reminders.  If you are unsure# consult the online docs. You have been warned.  ## Configuration and logfile names: If the filenames you specify for many# of the server's control files begin with "/" (or "drive:/" for Win32), the# server will use that explicit path.  If the filenames do *not* begin# with "/", the value of ServerRoot is prepended -- so "logs/foo.log"# with ServerRoot set to "D:/Program Files/Apache Software Foundation/Apache2.2" will be interpreted by the# server as "D:/Program Files/Apache Software Foundation/Apache2.2/logs/foo.log".## NOTE: Where filenames are specified, you must use forward slashes# instead of backslashes (e.g., "c:/apache" instead of "c:\apache").# If a drive letter is omitted, the drive on which httpd.exe is located# will be used by default.  It is recommended that you always supply# an explicit drive letter in absolute paths to avoid confusion.## ServerRoot: The top of the directory tree under which the server's# configuration, error, and log files are kept.## Do not add a slash at the end of the directory path.  If you point# ServerRoot at a non-local disk, be sure to point the LockFile directive# at a local disk.  If you wish to share the same ServerRoot for multiple# httpd daemons, you will need to change at least LockFile and PidFile.#ServerRoot "D:/Program Files/Apache Software Foundation/Apache2.2"## Listen: Allows you to bind Apache to specific IP addresses and/or# ports, instead of the default. See also the <VirtualHost># directive.## Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses.##Listen 12.34.56.78:80Listen 80## Dynamic Shared Object (DSO) Support## To be able to use the functionality of a module which was built as a DSO you# have to place corresponding `LoadModule' lines at this location so the# directives contained in it are actually available _before_ they are used.# Statically compiled modules (those listed by `httpd -l') do not need# to be loaded here.## Example:# LoadModule foo_module modules/mod_foo.so#LoadModule actions_module modules/mod_actions.soLoadModule alias_module modules/mod_alias.soLoadModule asis_module modules/mod_asis.soLoadModule auth_basic_module modules/mod_auth_basic.so#LoadModule auth_digest_module modules/mod_auth_digest.so#LoadModule authn_alias_module modules/mod_authn_alias.so#LoadModule authn_anon_module modules/mod_authn_anon.so#LoadModule authn_dbd_module modules/mod_authn_dbd.so#LoadModule authn_dbm_module modules/mod_authn_dbm.soLoadModule authn_default_module modules/mod_authn_default.soLoadModule authn_file_module modules/mod_authn_file.so#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so#LoadModule authz_dbm_module modules/mod_authz_dbm.soLoadModule authz_default_module modules/mod_authz_default.soLoadModule authz_groupfile_module modules/mod_authz_groupfile.soLoadModule authz_host_module modules/mod_authz_host.so#LoadModule authz_owner_module modules/mod_authz_owner.soLoadModule authz_user_module modules/mod_authz_user.soLoadModule autoindex_module modules/mod_autoindex.so#LoadModule cache_module modules/mod_cache.so#LoadModule cern_meta_module modules/mod_cern_meta.soLoadModule cgi_module modules/mod_cgi.so#LoadModule charset_lite_module modules/mod_charset_lite.so#LoadModule dav_module modules/mod_dav.so#LoadModule dav_fs_module modules/mod_dav_fs.so#LoadModule dav_lock_module modules/mod_dav_lock.so#LoadModule dbd_module modules/mod_dbd.so#LoadModule deflate_module modules/mod_deflate.soLoadModule dir_module modules/mod_dir.so#LoadModule disk_cache_module modules/mod_disk_cache.so#LoadModule dumpio_module modules/mod_dumpio.soLoadModule env_module modules/mod_env.so#LoadModule expires_module modules/mod_expires.so#LoadModule ext_filter_module modules/mod_ext_filter.so#LoadModule file_cache_module modules/mod_file_cache.so#LoadModule filter_module modules/mod_filter.so#LoadModule headers_module modules/mod_headers.so#LoadModule ident_module modules/mod_ident.so#LoadModule imagemap_module modules/mod_imagemap.soLoadModule include_module modules/mod_include.so#LoadModule info_module modules/mod_info.soLoadModule isapi_module modules/mod_isapi.so#LoadModule ldap_module modules/mod_ldap.so#LoadModule logio_module modules/mod_logio.soLoadModule log_config_module modules/mod_log_config.so#LoadModule log_forensic_module modules/mod_log_forensic.so#LoadModule mem_cache_module modules/mod_mem_cache.soLoadModule mime_module modules/mod_mime.so#LoadModule mime_magic_module modules/mod_mime_magic.soLoadModule negotiation_module modules/mod_negotiation.so#LoadModule proxy_module modules/mod_proxy.so#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so#LoadModule proxy_connect_module modules/mod_proxy_connect.so#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so#LoadModule proxy_http_module modules/mod_proxy_http.so#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so#LoadModule reqtimeout_module modules/mod_reqtimeout.so#LoadModule rewrite_module modules/mod_rewrite.soLoadModule setenvif_module modules/mod_setenvif.so#LoadModule speling_module modules/mod_speling.so#LoadModule ssl_module modules/mod_ssl.so#LoadModule status_module modules/mod_status.so#LoadModule substitute_module modules/mod_substitute.so#LoadModule unique_id_module modules/mod_unique_id.so#LoadModule userdir_module modules/mod_userdir.so#LoadModule usertrack_module modules/mod_usertrack.so#LoadModule version_module modules/mod_version.so#LoadModule vhost_alias_module modules/mod_vhost_alias.soLoadModule php5_module "d:/Program Files/php-5.2.17-Win32-VC6-x86/php5apache2_2.dll"  PHPIniDir "d:/Program Files/php-5.2.17-Win32-VC6-x86"<IfModule !mpm_netware_module><IfModule !mpm_winnt_module>## If you wish httpd to run as a different user or group, you must run# httpd as root initially and it will switch.  ## User/Group: The name (or #number) of the user/group to run httpd as.# It is usually good practice to create a dedicated user and group for# running httpd, as with most system services.#User daemonGroup daemon</IfModule></IfModule># 'Main' server configuration## The directives in this section set up the values used by the 'main'# server, which responds to any requests that aren't handled by a# <VirtualHost> definition.  These values also provide defaults for# any <VirtualHost> containers you may define later in the file.## All of these directives may appear inside <VirtualHost> containers,# in which case these default settings will be overridden for the# virtual host being defined.### ServerAdmin: Your address, where problems with the server should be# e-mailed.  This address appears on some server-generated pages, such# as error documents.  e.g. admin@your-domain.com#ServerAdmin admin@proxy.bjut.edu.cn## ServerName gives the name and port that the server uses to identify itself.# This can often be determined automatically, but we recommend you specify# it explicitly to prevent problems during startup.## If your host doesn't have a registered DNS name, enter its IP address here.##ServerName dou-PC.proxy.bjut.edu.cn:80## DocumentRoot: The directory out of which you will serve your# documents. By default, all requests are taken from this directory, but# symbolic links and aliases may be used to point to other locations.#DocumentRoot "D:/Program Files/Apache Software Foundation/Apache2.2/htdocs"## Each directory to which Apache has access can be configured with respect# to which services and features are allowed and/or disabled in that# directory (and its subdirectories). ## First, we configure the "default" to be a very restrictive set of # features.  #<Directory />    Options FollowSymLinks    AllowOverride None    Order deny,allow    Deny from all</Directory>## Note that from this point forward you must specifically allow# particular features to be enabled - so if something's not working as# you might expect, make sure that you have specifically enabled it# below.### This should be changed to whatever you set DocumentRoot to.#<Directory "D:/Program Files/Apache Software Foundation/Apache2.2/htdocs">    #    # Possible values for the Options directive are "None", "All",    # or any combination of:    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews    #    # Note that "MultiViews" must be named *explicitly* --- "Options All"    # doesn't give it to you.    #    # The Options directive is both complicated and important.  Please see    # http://httpd.apache.org/docs/2.2/mod/core.html#options    # for more information.    #    Options Indexes FollowSymLinks    #    # AllowOverride controls what directives may be placed in .htaccess files.    # It can be "All", "None", or any combination of the keywords:    #   Options FileInfo AuthConfig Limit    #    AllowOverride None    #    # Controls who can get stuff from this server.    #    Order allow,deny    Allow from all</Directory>## DirectoryIndex: sets the file that Apache will serve if a directory# is requested.#<IfModule dir_module>    DirectoryIndex index.php index.html index.php3 index.htm</IfModule>## The following lines prevent .htaccess and .htpasswd files from being # viewed by Web clients. #<FilesMatch "^\.ht">    Order allow,deny    Deny from all    Satisfy All</FilesMatch>## ErrorLog: The location of the error log file.# If you do not specify an ErrorLog directive within a <VirtualHost># container, error messages relating to that virtual host will be# logged here.  If you *do* define an error logfile for a <VirtualHost># container, that host's errors will be logged there and not here.#ErrorLog "logs/error.log"## LogLevel: Control the number of messages logged to the error_log.# Possible values include: debug, info, notice, warn, error, crit,# alert, emerg.#LogLevel warn<IfModule log_config_module>    #    # The following directives define some format nicknames for use with    # a CustomLog directive (see below).    #    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined    LogFormat "%h %l %u %t \"%r\" %>s %b" common    <IfModule logio_module>      # You need to enable mod_logio.c to use %I and %O      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio    </IfModule>    #    # The location and format of the access logfile (Common Logfile Format).    # If you do not define any access logfiles within a <VirtualHost>    # container, they will be logged here.  Contrariwise, if you *do*    # define per-<VirtualHost> access logfiles, transactions will be    # logged therein and *not* in this file.    #    CustomLog "logs/access.log" common    #    # If you prefer a logfile with access, agent, and referer information    # (Combined Logfile Format) you can use the following directive.    #    #CustomLog "logs/access.log" combined</IfModule><IfModule alias_module>    #    # Redirect: Allows you to tell clients about documents that used to     # exist in your server's namespace, but do not anymore. The client     # will make a new request for the document at its new location.    # Example:    # Redirect permanent /foo http://dou-PC.proxy.bjut.edu.cn/bar    #    # Alias: Maps web paths into filesystem paths and is used to    # access content that does not live under the DocumentRoot.    # Example:    # Alias /webpath /full/filesystem/path    #    # If you include a trailing / on /webpath then the server will    # require it to be present in the URL.  You will also likely    # need to provide a <Directory> section to allow access to    # the filesystem path.    #Alias /zend /www/htdocs/oldurl    #    # ScriptAlias: This controls which directories contain server scripts.     # ScriptAliases are essentially the same as Aliases, except that    # documents in the target directory are treated as applications and    # run by the server when requested rather than as documents sent to the    # client.  The same rules about trailing "/" apply to ScriptAlias    # directives as to Alias.    #    ScriptAlias /cgi-bin/ "D:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/"</IfModule><IfModule cgid_module>    #    # ScriptSock: On threaded servers, designate the path to the UNIX    # socket used to communicate with the CGI daemon of mod_cgid.    #    #Scriptsock logs/cgisock</IfModule>## "D:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin" should be changed to whatever your ScriptAliased# CGI directory exists, if you have that configured.#<Directory "D:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin">    AllowOverride None    Options None    Order allow,deny    Allow from all</Directory>## DefaultType: the default MIME type the server will use for a document# if it cannot otherwise determine one, such as from filename extensions.# If your server contains mostly text or HTML documents, "text/plain" is# a good value.  If most of your content is binary, such as applications# or images, you may want to use "application/octet-stream" instead to# keep browsers from trying to display binary files as though they are# text.#DefaultType text/plain<IfModule mime_module>    #    # TypesConfig points to the file containing the list of mappings from    # filename extension to MIME-type.    #    TypesConfig conf/mime.types    #    # AddType allows you to add to or override the MIME configuration    # file specified in TypesConfig for specific file types.    #    #AddType application/x-gzip .tgz    #    # AddEncoding allows you to have certain browsers uncompress    # information on the fly. Note: Not all browsers support this.    #    #AddEncoding x-compress .Z    #AddEncoding x-gzip .gz .tgz    #    # If the AddEncoding directives above are commented-out, then you    # probably should define those extensions to indicate media types:    #    AddType application/x-compress .Z    AddType application/x-gzip .gz .tgz    AddType application/x-httpd-php .php     AddType application/x-httpd-php .html    #    # AddHandler allows you to map certain file extensions to "handlers":    # actions unrelated to filetype. These can be either built into the server    # or added with the Action directive (see below)    #    # To use CGI scripts outside of ScriptAliased directories:    # (You will also need to add "ExecCGI" to the "Options" directive.)    #    #AddHandler cgi-script .cgi    # For type maps (negotiated resources):    #AddHandler type-map var    #    # Filters allow you to process content before it is sent to the client.    #    # To parse .shtml files for server-side includes (SSI):    # (You will also need to add "Includes" to the "Options" directive.)    #    #AddType text/html .shtml    #AddOutputFilter INCLUDES .shtml</IfModule>## The mod_mime_magic module allows the server to use various hints from the# contents of the file itself to determine its type.  The MIMEMagicFile# directive tells the module where the hint definitions are located.##MIMEMagicFile conf/magic## Customizable error responses come in three flavors:# 1) plain text 2) local redirects 3) external redirects## Some examples:#ErrorDocument 500 "The server made a boo boo."#ErrorDocument 404 /missing.html#ErrorDocument 404 "/cgi-bin/missing_handler.pl"#ErrorDocument 402 http://dou-PC.proxy.bjut.edu.cn/subscription_info.html### MaxRanges: Maximum number of Ranges in a request before# returning the entire resource, or one of the special# values 'default', 'none' or 'unlimited'.# Default setting is to accept 200 Ranges.#MaxRanges unlimited## EnableMMAP and EnableSendfile: On systems that support it, # memory-mapping or the sendfile syscall is used to deliver# files.  This usually improves server performance, but must# be turned off when serving from networked-mounted # filesystems or if support for these functions is otherwise# broken on your system.##EnableMMAP off#EnableSendfile off# Supplemental configuration## The configuration files in the conf/extra/ directory can be # included to add extra features or to modify the default configuration of # the server, or you may simply copy their contents here and change as # necessary.# Server-pool management (MPM specific)#Include conf/extra/httpd-mpm.conf# Multi-language error messages#Include conf/extra/httpd-multilang-errordoc.conf# Fancy directory listings#Include conf/extra/httpd-autoindex.conf# Language settings#Include conf/extra/httpd-languages.conf# User home directories#Include conf/extra/httpd-userdir.conf# Real-time info on requests and configuration#Include conf/extra/httpd-info.conf# Virtual hosts#Include conf/extra/httpd-vhosts.conf# Local access to the Apache HTTP Server Manual#Include conf/extra/httpd-manual.conf# Distributed authoring and versioning (WebDAV)#Include conf/extra/httpd-dav.conf# Various default settings#Include conf/extra/httpd-default.conf# Secure (SSL/TLS) connections#Include conf/extra/httpd-ssl.conf## Note: The following must must be present to support#       starting without SSL on platforms with no /dev/random equivalent#       but a statically compiled-in mod_ssl.#<IfModule ssl_module>SSLRandomSeed startup builtinSSLRandomSeed connect builtin</IfModule>

5、php的配置

我目前系统php配置文件php.ini完整内容如下,主要增、改的地方用红色标记

[PHP];;;;;;;;;;;; WARNING ;;;;;;;;;;;;; This is the default settings file for new PHP installations.; By default, PHP installs itself with a configuration suitable for; development purposes, and *NOT* for production purposes.; For several security-oriented considerations that should be taken; before going online with your site, please consult php.ini-recommended; and http://php.net/manual/en/security.php.;;;;;;;;;;;;;;;;;;;; About php.ini   ;;;;;;;;;;;;;;;;;;;;; This file controls many aspects of PHP's behavior.  In order for PHP to; read it, it must be named 'php.ini'.  PHP looks for it in the current; working directory, in the path designated by the environment variable; PHPRC, and in the path that was defined in compile time (in that order).; Under Windows, the compile-time path is the Windows directory.  The; path in which the php.ini file is looked for can be overridden using; the -c argument in command line mode.;; 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 are specified using the following syntax:; directive = value; Directive names are *case sensitive* - foo=bar is different from FOO=bar.;; 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), or a quoted string ("foo").;; Expressions in the INI file are limited to bitwise operators and parentheses:; |        bitwise OR; &        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 ;;;;;;;;;;;;;;;;;;;;; All the values in the php.ini-dist file correspond to the builtin; defaults (that is, if no php.ini is used, or if you delete these lines,; the builtin defaults will be identical).;;;;;;;;;;;;;;;;;;;;; Language Options ;;;;;;;;;;;;;;;;;;;;;; Enable the PHP scripting language engine under Apache.engine = On; Enable compatibility mode with Zend Engine 1 (PHP 4.x)zend.ze1_compatibility_mode = Off; Allow the <? tag.  Otherwise, only <?php and <script> tags are recognized.; NOTE: Using short tags should be avoided when developing applications or; libraries that are meant for redistribution, or deployment on PHP; servers which are not under your control, because short tags may not; be supported on the target server. For portable, redistributable code,; be sure not to use short tags.short_open_tag = On; Allow ASP-style <% %> tags.asp_tags = Off; The number of significant digits displayed in floating point numbers.precision    =  12; Enforce year 2000 compliance (will cause problems with non-compliant browsers)y2k_compliance = On; Output buffering allows you to send header lines (including cookies) even; after you send body content, at the price of slowing PHP's output layer a; bit.  You can enable output buffering during runtime by calling the output; buffering functions.  You can also enable output buffering for all files by; setting this directive to On.  If you wish to limit the size of the buffer; to a certain size - you can use a maximum number of bytes instead of 'On', as; a value for this directive (e.g., output_buffering=4096).output_buffering = Off; 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.;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.zlib.output_compression = Off;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.;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.implicit_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 = 100; Whether to enable the ability to force arguments to be passed by reference; at function call time.  This method is deprecated and is likely to be; unsupported in future versions of PHP/Zend.  The encouraged method of; specifying which arguments should be passed by reference is in the function; declaration.  You're encouraged to try and turn this option Off and make; sure your scripts work properly with it in order to ensure they will work; with future versions of the language (you will receive a warning each time; you use this feature, and the argument will be passed by value instead of by; reference).allow_call_time_pass_reference = On;; Safe Mode;safe_mode = Off; By default, Safe Mode does a UID compare check when; opening files. If you want to relax this to a GID compare,; then turn on safe_mode_gid.safe_mode_gid = Off; When safe_mode is on, UID/GID checks are bypassed when; including files from this directory and its subdirectories.; (directory must also be in include_path or full path must; be used when including)safe_mode_include_dir =; When safe_mode is on, only executables located in the safe_mode_exec_dir; will be allowed to be executed via the exec family of functions.safe_mode_exec_dir =; Setting certain environment variables may be a potential security breach.; This directive contains a comma-delimited list of prefixes.  In Safe Mode,; the user may only alter environment variables whose names begin with the; prefixes supplied here.  By default, users will only be able to set; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).;; Note:  If this directive is empty, PHP will let the user modify ANY; environment variable!safe_mode_allowed_env_vars = PHP_; This directive contains a comma-delimited list of environment variables that; the end user won't be able to change using putenv().  These variables will be; protected even if safe_mode_allowed_env_vars is set to allow to change them.safe_mode_protected_env_vars = LD_LIBRARY_PATH; 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.;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.disable_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.disable_classes =; Colors for Syntax Highlighting mode.  Anything that's acceptable in; <span style="color: ???????"> would work.;highlight.string  = #DD0000;highlight.comment = #FF9900;highlight.keyword = #007700;highlight.bg      = #FFFFFF;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 request, which may end up; being interrupted by the user or a browser timing out.; 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.; 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.; realpath_cache_ttl=120;; Misc;; 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.expose_php = On;;;;;;;;;;;;;;;;;;;; Resource Limits ;;;;;;;;;;;;;;;;;;;;max_execution_time = 30     ; Maximum execution time of each script, in secondsmax_input_time = 60; Maximum amount of time each script may spend parsing request data;max_input_nesting_level = 64 ; Maximum input variable nesting levelmemory_limit = 128M      ; Maximum amount of memory a script may consume (128MB);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Error handling and logging ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; error_reporting is a bit-field.  Or each number up to get desired error; reporting level; E_ALL             - All errors and warnings (doesn't include E_STRICT); 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;; Examples:;;   - Show all errors, except for notices and coding standards warnings;;error_reporting = E_ALL & ~E_NOTICE;;   - Show all errors, except for notices;;error_reporting = E_ALL & ~E_NOTICE | E_STRICT;;   - Show only errors;;error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR;;   - Show all errors except for notices and coding standards warnings;error_reporting = E_ALL & ~E_NOTICE; Print out errors (as a part of the output).  For production web sites,; you're strongly encouraged to turn this feature off, and use error logging; instead (see below).  Keeping display_errors enabled on a production web site; may reveal security information to end users, such as file paths on your Web; server, your database schema or other information.;; possible values for display_errors:;; Off        - Do not display any errors; stderr     - Display errors to STDERR (affects only CGI/CLI binaries!);;display_errors = "stderr";; stdout (On) - Display errors to STDOUT;display_errors = On; Even when display_errors is on, errors that occur during PHP's startup; sequence are not displayed.  It's strongly recommended to keep; display_startup_errors off, except for when debugging.display_startup_errors = Off; Log errors into a log file (server-specific log, stderr, or error_log (below)); As stated above, you're strongly advised to use error logging in place of; error displaying on production web sites.log_errors = Off; 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.log_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.ignore_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.ignore_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 listreport_memleaks = On;report_zend_debug = 0; Store the last error/warning message in $php_errormsg (boolean).track_errors = Off; Turn off normal error reporting and emit XML-RPC error XML;xmlrpc_errors = 0; An XML-RPC faultCode;xmlrpc_error_number = 0; Disable the inclusion of HTML tags in error messages.; Note: Never use this feature for production boxes.;html_errors = Off; If html_errors is set On 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://www.php.net/docs.php; 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.; Note: Never use this feature for production boxes.;docref_root = "/phpmanual/";docref_ext = .html; String to output before an error message.;error_prepend_string = "<font color=#ff0000>"; String to output after an error message.;error_append_string = "</font>"; Log errors to specified file.;error_log = filename; Log errors to syslog (Event Log on NT, not valid in Windows 95).;error_log = syslog;;;;;;;;;;;;;;;;;; Data Handling ;;;;;;;;;;;;;;;;;;;; Note - track_vars is ALWAYS enabled as of PHP 4.0.3; The separator used in PHP generated URLs to separate arguments.; Default is "&".;arg_separator.output = "&"; List of separator(s) used by PHP to parse input URLs into variables.; Default is "&".; NOTE: Every character in this directive is considered as separator!;arg_separator.input = ";&"; This directive describes the order in which PHP registers GET, POST, Cookie,; Environment and Built-in variables (G, P, C, E & S respectively, often; referred to as EGPCS or GPC).  Registration is done from left to right, newer; values override older values.variables_order = "EGPCS"; Whether or not to register the EGPCS variables as global variables.  You may; want to turn this off if you don't want to clutter your scripts' global scope; with user data.  This makes most sense when coupled with track_vars - in which; case you can access all of the GPC variables through the $HTTP_*_VARS[],; variables.;; You should do your best to write your scripts so that they do not require; register_globals to be on;  Using form variables as globals can easily lead; to possible security problems, if the code is not very well thought of.register_globals = On; Whether or not to register the old-style input arrays, HTTP_GET_VARS; and friends.  If you're not using them, it's recommended to turn them off,; for performance reasons.register_long_arrays = On; This directive tells PHP whether to declare the argv&argc variables (that; would contain the GET information).  If you don't use these variables, you; should turn it off for increased performance.register_argc_argv = On; When enabled, the SERVER and ENV 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 directives register_globals, register_long_arrays,; and register_argc_argv must be disabled for this directive to have any affect.auto_globals_jit = On; Maximum size of POST data that PHP will accept.post_max_size = 8M; Magic quotes;; Magic quotes for incoming GET/POST/Cookie data.magic_quotes_gpc = On; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.magic_quotes_runtime = Off; Use Sybase-style magic quotes (escape ' with '' instead of \').magic_quotes_sybase = Off; Automatically add files before or after any PHP document.auto_prepend_file =auto_append_file =; As of 4.0b4, PHP always outputs a character encoding by default in; the Content-type: header.  To disable sending of the charset, simply; set it to be empty.;; PHP's built-in default is text/htmldefault_mimetype = "text/html"default_charset = "gb2312"; Always populate the $HTTP_RAW_POST_DATA variable.;always_populate_raw_post_data = On;;;;;;;;;;;;;;;;;;;;;;;;;; Paths and Directories ;;;;;;;;;;;;;;;;;;;;;;;;;;; UNIX: "/path1:/path2";include_path = ".:/php/includes";; Windows: "\path1;\path2";include_path = ".;c:\php\includes"; 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 belowdoc_root = "D:/Program Files/Apache Software Foundation/Apache2.2/htdocs"; The directory under which PHP opens the script using /~username used only; if nonempty.user_dir =; Directory in which the loadable extensions (modules) reside.extension_dir = "D:\Program Files\php-5.2.17-Win32-VC6-x86\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.enable_dl = On; 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.**; cgi.force_redirect = 1; if cgi.nph is enabled it will force cgi to always sent Status: 200 with; every request.; 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.; 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 it's 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.; cgi.fix_pathinfo=0; 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.; fastcgi.impersonate = 1;; Disable logging through FastCGI connection; 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.;cgi.rfc2616_headers = 0;;;;;;;;;;;;;;;;; File Uploads ;;;;;;;;;;;;;;;;;; Whether to allow HTTP file uploads.file_uploads = On; Temporary directory for HTTP uploaded files (will use system default if not; specified).upload_tmp_dir = "D:/Program Files/php-5.2.17-Win32-VC6-x86/phpfileuploadtmp"; Maximum allowed size for uploaded files.upload_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.allow_url_fopen = On; Whether to allow include/require to open URLs (like http:// or ftp://) as files.allow_url_include = Off; Define the anonymous ftp password (your email address);from="john@doe.com"; Define the User-Agent string; user_agent="PHP"; Default timeout for socket based streams (seconds)default_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.; 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;; Note that it should be the name of the module only; no directory information; needs to go here.  Specify the location of the extension with the; extension_dir directive above.; 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_dba.dll;extension=php_dbase.dll;extension=php_fdf.dllextension=php_gd2.dll;extension=php_gettext.dll;extension=php_gmp.dll;extension=php_ifx.dll;extension=php_imap.dll;extension=php_interbase.dll;extension=php_ldap.dll;extension=php_mbstring.dll;extension=php_exif.dll;extension=php_mcrypt.dll;extension=php_mhash.dll;extension=php_mime_magic.dll;extension=php_ming.dll;extension=php_msql.dll;extension=php_mssql.dllextension=php_mysql.dll;extension=php_mysqli.dll;extension=php_oci8.dll;extension=php_openssl.dll;extension=php_pdo.dll;extension=php_pdo_firebird.dll;extension=php_pdo_mssql.dll;extension=php_pdo_mysql.dll;extension=php_pdo_oci.dll;extension=php_pdo_oci8.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;extension=php_snmp.dll;extension=php_soap.dll;extension=php_sockets.dll;extension=php_sqlite.dll;extension=php_sybase_ct.dll;extension=php_tidy.dll;extension=php_xmlrpc.dll;extension=php_xsl.dll;extension=php_zip.dll;;;;;;;;;;;;;;;;;;;; Module Settings ;;;;;;;;;;;;;;;;;;;;[Date]; Defines the default timezone used by the date functionsdate.timezone = Asia/Shanghai;date.default_latitude = 31.7667;date.default_longitude = 35.2333;date.sunrise_zenith = 90.583333;date.sunset_zenith = 90.583333[filter];filter.default = unsafe_raw;filter.default_flags =[iconv];iconv.input_encoding = ISO-8859-1;iconv.internal_encoding = ISO-8859-1;iconv.output_encoding = ISO-8859-1[sqlite];sqlite.assoc_case = 0[Pcre];PCRE library backtracking 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).;pcre.recursion_limit=100000[Syslog]; Whether or not to define the various syslog variables (e.g. $LOG_PID,; $LOG_CRON, etc.).  Turning it off is a good idea performance-wise.  In; runtime, you can define these variables by calling define_syslog_variables().define_syslog_variables  = Off[mail function]; For Win32 only.SMTP = localhostsmtp_port = 25; For Win32 only.;sendmail_from = me@example.com; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").;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 =[SQL]sql.safe_mode = Off[ODBC];odbc.default_db    =  Not yet implemented;odbc.default_user  =  Not yet implemented;odbc.default_pw    =  Not yet implemented; Allow or prevent persistent links.odbc.allow_persistent = On; Check that a connection is still valid before reuse.odbc.check_persistent = On; Maximum number of persistent links.  -1 means no limit.odbc.max_persistent = -1; Maximum number of links (persistent + non-persistent).  -1 means no limit.odbc.max_links = -1; Handling of LONG fields.  Returns number of bytes to variables.  0 means; passthru.odbc.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 uodbc.defaultlrl and uodbc.defaultbinmodeodbc.defaultbinmode = 1[MySQL]; Allow or prevent persistent links.mysql.allow_persistent = On; Maximum number of persistent links.  -1 means no limit.mysql.max_persistent = -1; Maximum number of links (persistent + non-persistent).  -1 means no limit.mysql.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.mysql.default_port =; Default socket name for local MySQL connects.  If empty, uses the built-in; MySQL defaults.mysql.default_socket =; Default host for mysql_connect() (doesn't apply in safe mode).mysql.default_host =; Default user for mysql_connect() (doesn't apply in safe mode).mysql.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.mysql.default_password =; Maximum time (in seconds) for connect timeout. -1 means no limitmysql.connect_timeout = 60; Trace mode. When trace_mode is active (=On), warnings for table/index scans and; SQL-Errors will be displayed.mysql.trace_mode = Off[MySQLi]; Maximum number of links.  -1 means no limit.mysqli.max_links = -1; 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.mysqli.default_port = 3306; Default socket name for local MySQL connects.  If empty, uses the built-in; MySQL defaults.mysqli.default_socket =; Default host for mysql_connect() (doesn't apply in safe mode).mysqli.default_host =; Default user for mysql_connect() (doesn't apply in safe mode).mysqli.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.mysqli.default_pw =; Allow or prevent reconnectmysqli.reconnect = Off[mSQL]; Allow or prevent persistent links.msql.allow_persistent = On; Maximum number of persistent links.  -1 means no limit.msql.max_persistent = -1; Maximum number of links (persistent+non persistent).  -1 means no limit.msql.max_links = -1[OCI8]; enables privileged connections using external credentials (OCI_SYSOPER, OCI_SYSDBA);oci8.privileged_connect = Off; Connection: The maximum number of persistent OCI8 connections per; process. Using -1 means no limit.;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.;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.;oci8.ping_interval = 60; Tuning: This option enables statement caching, and specifies how; many statements to cache. Using 0 disables statement caching.;oci8.statement_cache_size = 20; Tuning: Enables statement prefetching and sets the default number of; rows that will be fetched automatically after statement execution.;oci8.default_prefetch = 10; Compatibility. Using On means oci_close() will not close; oci_connect() and oci_new_connect() connections.;oci8.old_oci_close_semantics = Off[PostgresSQL]; Allow or prevent persistent links.pgsql.allow_persistent = On; Detect broken persistent links always with pg_pconnect().; Auto reset feature requires a little overheads.pgsql.auto_reset_persistent = Off; Maximum number of persistent links.  -1 means no limit.pgsql.max_persistent = -1; Maximum number of links (persistent+non persistent).  -1 means no limit.pgsql.max_links = -1; Ignore PostgreSQL backends Notice message or not.; Notice message logging require a little overheads.pgsql.ignore_notice = 0; Log PostgreSQL backends Notice message or not.; Unless pgsql.ignore_notice=0, module cannot log notice message.pgsql.log_notice = 0[Sybase]; Allow or prevent persistent links.sybase.allow_persistent = On; Maximum number of persistent links.  -1 means no limit.sybase.max_persistent = -1; Maximum number of links (persistent + non-persistent).  -1 means no limit.sybase.max_links = -1;sybase.interface_file = "/usr/sybase/interfaces"; Minimum error severity to display.sybase.min_error_severity = 10; Minimum message severity to display.sybase.min_message_severity = 10; Compatibility mode with old versions of PHP 3.0.; If on, this will cause PHP to automatically assign types to results according; to their Sybase type, instead of treating them all as strings.  This; compatibility mode will probably not stay around forever, so try applying; whatever necessary changes to your code, and turn it off.sybase.compatability_mode = Off[Sybase-CT]; Allow or prevent persistent links.sybct.allow_persistent = On; Maximum number of persistent links.  -1 means no limit.sybct.max_persistent = -1; Maximum number of links (persistent + non-persistent).  -1 means no limit.sybct.max_links = -1; Minimum server message severity to display.sybct.min_server_severity = 10; Minimum client message severity to display.sybct.min_client_severity = 10[bcmath]; Number of decimal digits for all bcmath functions.bcmath.scale = 0[browscap];browscap = extra/browscap.ini[Informix]; Default host for ifx_connect() (doesn't apply in safe mode).ifx.default_host =; Default user for ifx_connect() (doesn't apply in safe mode).ifx.default_user =; Default password for ifx_connect() (doesn't apply in safe mode).ifx.default_password =; Allow or prevent persistent links.ifx.allow_persistent = On; Maximum number of persistent links.  -1 means no limit.ifx.max_persistent = -1; Maximum number of links (persistent + non-persistent).  -1 means no limit.ifx.max_links = -1; If on, select statements return the contents of a text blob instead of its id.ifx.textasvarchar = 0; If on, select statements return the contents of a byte blob instead of its id.ifx.byteasvarchar = 0; Trailing blanks are stripped from fixed-length char columns.  May help the; life of Informix SE users.ifx.charasvarchar = 0; If on, the contents of text and byte blobs are dumped to a file instead of; keeping them in memory.ifx.blobinfile = 0; NULL's are returned as empty strings, unless this is set to 1.  In that case,; NULL's are returned as string 'NULL'.ifx.nullformat = 0[Session]; Handler used to store/retrieve data.session.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.;; As of PHP 4.0.1, you can define the path 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.session.save_path = "D:/Program Files/php-5.2.17-Win32-VC6-x86/phpsessiontmp"; Whether to use cookies.session.use_cookies = 1;session.cookie_secure = ; This option enables administrators to make their users invulnerable to; attacks which involve passing session ids in URLs; defaults to 0.; session.use_only_cookies = 1; Name of the session (used as cookie name).session.name = PHPSESSID; Initialize session on request startup.session.auto_start = 0; Lifetime in seconds of cookie or, if 0, until browser is restarted.session.cookie_lifetime = 0; The path for which the cookie is valid.session.cookie_path = /; The domain for which the cookie is valid.session.cookie_domain =; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.session.cookie_httponly = ; Handler used to serialize data.  php is the standard serializer of PHP.session.serialize_handler = php; Define the probability that the 'garbage collection' process is started; on every session initialization.; The probability is calculated by using gc_probability/gc_divisor,; e.g. 1/100 means there is a 1% chance that the GC process starts; on each request.session.gc_probability = 1session.gc_divisor     = 100; After this number of seconds, stored data will be seen as 'garbage' and; cleaned up by the garbage collection process.session.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):;          cd /path/to/sessions; find -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, albeit register_globals; is disabled.  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.session.bug_compat_42 = 1session.bug_compat_warn = 1; 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.session.referer_check =; How many bytes to read from the file.session.entropy_length = 0; Specified here to create the session id.session.entropy_file =;session.entropy_length = 16;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.session.cache_limiter = nocache; Document expires after n minutes.session.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 publically accessible computer.; - User may access your site with the same session ID;   always using URL stored in browser's history or bookmarks.session.use_trans_sid = 0; Select a hash function; 0: MD5   (128 bits); 1: SHA-1 (160 bits)session.hash_function = 0; Define how many bits are stored in each character when converting; the binary hash data to something readable.;; 4 bits: 0-9, a-f; 5 bits: 0-9, a-v; 6 bits: 0-9, a-z, A-Z, "-", ","session.hash_bits_per_character = 4; 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.url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="[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.comf is used; This is only used when compiled with FreeTDS;mssql.charset = "ISO-8859-1"[Assertion]; Assert(expr); active by default.;assert.active = On; Issue a PHP warning for each failed assertion.;assert.warning = On; Don't bail out by default.;assert.bail = Off; User-function to be called if an assertion fails.;assert.callback = 0; Eval the expression with current error_reporting().  Set to true if you want; error_reporting(0) around the eval().;assert.quiet_eval = 0[COM]; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs;com.typelib_file =; allow Distributed-COM calls;com.allow_dcom = true; autoregister constants of a components typlib on com_load();com.autoregister_typelib = true; register constants casesensitive;com.autoregister_casesensitive = false; show warnings on duplicate constant registrations;com.autoregister_verbose = true[mbstring]; language for internal character representation.;mbstring.language = Japanese; internal/script encoding.; Some encoding cannot work as internal encoding.; (e.g. SJIS, BIG5, ISO-2022-*);mbstring.internal_encoding = EUC-JP; http input encoding.;mbstring.http_input = auto; http output encoding. mb_output_handler must be; registered as output buffer to function;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.;mbstring.encoding_translation = Off; automatic encoding detection order.; auto means;mbstring.detect_order = auto; substitute_character used when character cannot be converted; one from another;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;mbstring.func_overload = 0[FrontBase];fbsql.allow_persistent = On;fbsql.autocommit = On;fbsql.show_timestamp_decimals = Off;fbsql.default_database =;fbsql.default_database_password =;fbsql.default_host =;fbsql.default_password =;fbsql.default_user = "_SYSTEM";fbsql.generate_warnings = Off;fbsql.max_connections = 128;fbsql.max_links = 128;fbsql.max_persistent = -1;fbsql.max_results = 128[gd]; Tell the jpeg decode to libjpeg warnings and try to create; a gd image. The warning will then be displayed as notices; disabled by default;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.;exif.encode_unicode = ISO-8859-15;exif.decode_unicode_motorola = UCS-2BE;exif.decode_unicode_intel    = UCS-2LE;exif.encode_jis =;exif.decode_jis_motorola = JIS;exif.decode_jis_intel    = JIS[Tidy]; The path to a default tidy configuration file to use when using tidy;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 imagestidy.clean_output = Off[soap]; Enables or disables WSDL caching feature.soap.wsdl_cache_enabled=1; Sets the directory name where SOAP extension will put cache files.soap.wsdl_cache_dir="/tmp"; (time to live) Sets the number of second while cached file will be used ; instead of original one.soap.wsdl_cache_ttl=86400; Local Variables:; tab-width: 4; End:

最最重要的还有:将d:\winlamp\PHP5\libmysql.dll,d:\winlamp\PHP5\ext\php_mysql.dll,d:\winlamp\PHP5\ext\php_mysqli.dll

拷贝到C:\Windows\system32下,这样PHP5才能支持MYSQL。


ps: 我在安装的时候参考了很多网上文章,有些细节配置不太相同,不知道怎么回事,我在php5中加载了(去掉了下面2句前的;注释)

;extension=php_pdo_mssql.dll;extension=php_pdo_mysql.dll
这2个模块,启动apache时,报错,从apache的错误日志../apache主目录/logs/error.txt看


在dos窗口中直接输入php也弹出提示


注释掉这2句,apache能正常启动,不再报错。dos环境中的php命令也正常了。大笑


5、建立php项目,开始php之旅

可以直接在apache应用目录下,建立php项目。适合小型项目。

也可以用php IDE,zend studio , eclipse php studio ,eclipse中php插件,NetBeans IDE

本人起初安装了eclipse php studio,zend studio没有配置成功。在保证以上4不完成后,安装NetBeans后几乎不用什么额外配置。

用NetBeans开发的第一个php程序如下。

新建php项目(如果netbean没有配php5插件,需要手动下载),点击“下一步”,NetBeans IDE会自动找到系统的apache web和php.

再点击“下一步”,显示项目url访问地址,项目源文件会自动放置到apache应用目录htdocs中。点击“完成”


建立简单的php文件,主要代码是 phpinfo().

现在就可以点击,运行了。点击菜单栏的绿色运行按钮,就自动在浏览器中访问该新建的项目。吐舌头








原创粉丝点击