├── LICENSE.md ├── README.md ├── examples ├── example2.yml ├── example_role │ ├── IIS_php │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ ├── handlers │ │ │ └── main.yml │ │ ├── meta │ │ │ └── main.yml │ │ ├── tasks │ │ │ └── main.yml │ │ ├── templates │ │ │ └── PhpConfigTemplate.txt.j2i │ │ └── vars │ │ │ └── main.yml │ ├── Win_Common │ │ └── tasks │ │ │ └── main.yml │ ├── Win_MySQL │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ ├── handlers │ │ │ └── main.yml │ │ ├── meta │ │ │ └── main.yml │ │ ├── tasks │ │ │ └── main.yml │ │ └── vars │ │ │ └── main.yml │ ├── Win_Wordpress │ │ ├── README.md │ │ ├── defaults │ │ │ └── main.yml │ │ ├── handlers │ │ │ └── main.yml │ │ ├── meta │ │ │ └── main.yml │ │ ├── tasks │ │ │ └── main.yml │ │ └── vars │ │ │ └── main.yml │ ├── group_vars │ │ └── all.yml │ └── site.yml └── examples.yml ├── win_dsc5.ps1 ├── win_dsc5.py ├── win_lcm5.ps1 ├── win_lcm5.py ├── win_oneget.ps1 ├── win_oneget.py ├── win_oneget_source.ps1 └── win_oneget_source.py /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Trond Hindenes 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NOT MAINTAINED!!! 2 | 3 | win_dsc has been merged to ansible core, so please do not submit issues/pull requests against this repo. Please update your playbooks to use win_dsc from Ansible core. 4 | 5 | # Ansible-win_dsc 6 | Native DSC module for Ansible. 7 | 8 | PowerShell 5.0, which is included in [Windows Management Framework 5.0][https://www.microsoft.com/en-us/download/details.aspx?id=50395] need to be installed on managed nodes. You can read more about Windows Management Framework 5.0 [here](https://msdn.microsoft.com/en-us/powershell/wmf/releasenotes). 9 | 10 | Before using the win_dsc5 module, use the win_lcm5 module to set refresh mode to "Disabled" on the managed node. 11 | 12 | Also, make sure the required DSC resources exist on the managed node. 13 | 14 | ### If the DSC Resource need a Credential Object as Parameter do as follow: 15 | ``` 16 | Parametername_username 17 | Parametername_password 18 | ``` 19 | 20 | #### Example xADDomain 21 | ``` 22 | - name: Installing Domain 23 | win_dsc5: 24 | resource_name: "xADDomain" 25 | DomainName: "{{ads_domain_name}}" 26 | DomainAdministratorCredential_username: "Administrator" 27 | DomainAdministratorCredential_password: "{{ads_administrator_password}}" 28 | SafemodeAdministratorPassword_username: "Administrator" 29 | SafemodeAdministratorPassword_password: "{{ads_administrator_password}}" 30 | ``` 31 | 32 | ### If the DSC Resource need a String Array as Parameter do as follow: 33 | ``` 34 | Parametername: "string1,string2" 35 | ``` 36 | The commaseperated string will get split and a Powershell String Array will get Attached to the Property. 37 | 38 | #### Example xSmbShare 39 | ``` 40 | - name: Create Share 41 | win_dsc5: 42 | resource_name: "xSmbShare" 43 | Ensure: "Present" 44 | item_name: "MyShare" 45 | Path: "C:\\Data\\MyShare" 46 | Description: "This will be my Share" 47 | ReadAccess: "Domain Users" 48 | ChangeAccess: "User1,User2" 49 | FullAccess: "Domain Admins" 50 | ``` 51 | 52 | You should also check out a few other repos related to DSC and Ansible: 53 | https://github.com/trondhindenes/AnsibleDscModuleGenerator 54 | 55 | https://github.com/trondhindenes/Ansible-Auto-Generated-Modules/tree/master 56 | -------------------------------------------------------------------------------- /examples/example2.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: windows 3 | tasks: 4 | - name: Local Users 5 | win_dsc5: 6 | resource_name="xGroup" 7 | ensure="Present" 8 | GroupName="Administrators" 9 | members="Administrator,admin2" 10 | 11 | - name: Local Users2 12 | win_dsc5: 13 | resource_name="xGroup" 14 | ensure="Present" 15 | GroupName="AdministratorsTemp" 16 | members="admin2" -------------------------------------------------------------------------------- /examples/example_role/IIS_php/README.md: -------------------------------------------------------------------------------- 1 | Role Name 2 | ========= 3 | 4 | A brief description of the role goes here. 5 | 6 | Requirements 7 | ------------ 8 | 9 | Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required. 10 | 11 | Role Variables 12 | -------------- 13 | 14 | A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well. 15 | 16 | Dependencies 17 | ------------ 18 | 19 | A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles. 20 | 21 | Example Playbook 22 | ---------------- 23 | 24 | Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too: 25 | 26 | - hosts: servers 27 | roles: 28 | - { role: username.rolename, x: 42 } 29 | 30 | License 31 | ------- 32 | 33 | BSD 34 | 35 | Author Information 36 | ------------------ 37 | 38 | An optional section for the role authors to include contact information, or a website (HTML is not allowed). 39 | -------------------------------------------------------------------------------- /examples/example_role/IIS_php/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for IIS_php 3 | -------------------------------------------------------------------------------- /examples/example_role/IIS_php/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for IIS_php 3 | -------------------------------------------------------------------------------- /examples/example_role/IIS_php/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: your name 4 | description: 5 | company: your company (optional) 6 | # Some suggested licenses: 7 | # - BSD (default) 8 | # - MIT 9 | # - GPLv2 10 | # - GPLv3 11 | # - Apache 12 | # - CC-BY 13 | license: license (GPLv2, CC-BY, etc) 14 | min_ansible_version: 1.2 15 | # 16 | # Below are all platforms currently available. Just uncomment 17 | # the ones that apply to your role. If you don't see your 18 | # platform on this list, let us know and we'll get it added! 19 | # 20 | #platforms: 21 | #- name: EL 22 | # versions: 23 | # - all 24 | # - 5 25 | # - 6 26 | # - 7 27 | #- name: GenericUNIX 28 | # versions: 29 | # - all 30 | # - any 31 | #- name: Fedora 32 | # versions: 33 | # - all 34 | # - 16 35 | # - 17 36 | # - 18 37 | # - 19 38 | # - 20 39 | #- name: SmartOS 40 | # versions: 41 | # - all 42 | # - any 43 | #- name: opensuse 44 | # versions: 45 | # - all 46 | # - 12.1 47 | # - 12.2 48 | # - 12.3 49 | # - 13.1 50 | # - 13.2 51 | #- name: Amazon 52 | # versions: 53 | # - all 54 | # - 2013.03 55 | # - 2013.09 56 | #- name: GenericBSD 57 | # versions: 58 | # - all 59 | # - any 60 | #- name: FreeBSD 61 | # versions: 62 | # - all 63 | # - 8.0 64 | # - 8.1 65 | # - 8.2 66 | # - 8.3 67 | # - 8.4 68 | # - 9.0 69 | # - 9.1 70 | # - 9.1 71 | # - 9.2 72 | #- name: Ubuntu 73 | # versions: 74 | # - all 75 | # - lucid 76 | # - maverick 77 | # - natty 78 | # - oneiric 79 | # - precise 80 | # - quantal 81 | # - raring 82 | # - saucy 83 | # - trusty 84 | #- name: SLES 85 | # versions: 86 | # - all 87 | # - 10SP3 88 | # - 10SP4 89 | # - 11 90 | # - 11SP1 91 | # - 11SP2 92 | # - 11SP3 93 | #- name: GenericLinux 94 | # versions: 95 | # - all 96 | # - any 97 | #- name: Debian 98 | # versions: 99 | # - all 100 | # - etch 101 | # - lenny 102 | # - squeeze 103 | # - wheezy 104 | # 105 | # Below are all categories currently available. Just as with 106 | # the platforms above, uncomment those that apply to your role. 107 | # 108 | #categories: 109 | #- cloud 110 | #- cloud:ec2 111 | #- cloud:gce 112 | #- cloud:rax 113 | #- clustering 114 | #- database 115 | #- database:nosql 116 | #- database:sql 117 | #- development 118 | #- monitoring 119 | #- networking 120 | #- packaging 121 | #- system 122 | #- web 123 | dependencies: [] 124 | # List your role dependencies here, one per line. Only 125 | # dependencies available via galaxy should be listed here. 126 | # Be sure to remove the '[]' above if you add dependencies 127 | # to this list. 128 | 129 | -------------------------------------------------------------------------------- /examples/example_role/IIS_php/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for IIS_php 3 | - name: Download package xphp 4 | win_oneget: 5 | name: "xphp" 6 | tags: 7 | - Oneget 8 | 9 | - name: Download Package xWebAdministration 10 | win_oneget: 11 | name: "xWebAdministration" 12 | tags: 13 | - Oneget 14 | 15 | - name: Ensure Packages Folder exists 16 | win_dsc5: 17 | resource_name="file" 18 | Ensure="Present" 19 | Type="Directory" 20 | DestinationPath="{{ PackageFolder }}" 21 | tags: 22 | - Filesystem 23 | 24 | - name: IIS-Prerequisites 25 | win_feature: name="Web-Server,Web-Mgmt-Tools,web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-Static-Content,Web-Http-Logging,web-Stat-Compression,web-Filtering,web-CGI,web-ISAPI-Ext,web-ISAPI-Filter" 26 | tags: 27 | - WindowsFeature 28 | - PHP 29 | 30 | - name: Visual C 2012 Thingy 31 | win_dsc5: 32 | resource_name="package" 33 | path="{{ Vc2012RedistDownloadUri }}" 34 | item_name="Microsoft Visual C++ 2012 x64 Minimum Runtime - 11.0.61030" 35 | Arguments="/install /passive /norestart" 36 | ProductId="{CF2BEA3C-26EA-32F8-AA9B-331F7E34BA97}" 37 | tags: 38 | - Install 39 | 40 | - name: Make sure the PHP archive is in the package folder 41 | win_dsc5: 42 | resource_name="xRemoteFile" 43 | uri="{{ phpDownloadUri }}" 44 | DestinationPath="{{ PackageFolder }}\php.zip" 45 | tags: 46 | - Payload 47 | - Filesystem 48 | 49 | - name: Make sure the content of the PHP archine are in the PHP path 50 | win_dsc5: 51 | resource_name="Archive" 52 | Path="{{ PackageFolder }}\php.zip" 53 | Destination="{{ phpPath }}" 54 | tags: 55 | - Payload 56 | - Filesystem 57 | 58 | - name: Make sure the MySql extention for PHP is in the main PHP path 59 | win_dsc5: 60 | resource_name="File" 61 | SourcePath="{{ phpPath }}\ext\php_mysql.dll" 62 | DestinationPath="{{ phpPath }}\php_mysql.dll" 63 | MatchSource="true" 64 | tags: 65 | - Payload 66 | - Filesystem 67 | 68 | - name: Make sure the php.ini is in the Php folder 69 | win_dsc5: 70 | resource_name="File" 71 | SourcePath="{{ phpIniConfigTemplate }}" 72 | DestinationPath="{{ phpPath }}\php.ini" 73 | MatchSource="true" 74 | tags: 75 | - Config 76 | 77 | - name: Make sure the php cgi module is registered with IIS 78 | win_dsc5: 79 | resource_name="xIisModule" 80 | item_name="phpFastCgi" 81 | Path="{{ phpPath }}\php-cgi.exe" 82 | RequestPath="*.php" 83 | Verb="*" 84 | Ensure="Present" 85 | tags: 86 | - Config 87 | - IIS 88 | 89 | - name: Make sure the php binary folder is in the path 90 | win_dsc5: 91 | resource_name="Environment" 92 | item_name="Path" 93 | value="{{ phpPath }}" 94 | Ensure="Present" 95 | Path="true" 96 | tags: 97 | - Config 98 | -------------------------------------------------------------------------------- /examples/example_role/IIS_php/templates/PhpConfigTemplate.txt.j2i: -------------------------------------------------------------------------------- 1 | [PHP] 2 | 3 | ;;;;;;;;;;;;;;;;;;; 4 | ; About php.ini ; 5 | ;;;;;;;;;;;;;;;;;;; 6 | ; PHP's initialization file, generally called php.ini, is responsible for 7 | ; configuring many of the aspects of PHP's behavior. 8 | 9 | ; PHP attempts to find and load this configuration from a number of locations. 10 | ; The following is a summary of its search order: 11 | ; 1. SAPI module specific location. 12 | ; 2. The PHPRC environment variable. (As of PHP 5.2.0) 13 | ; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) 14 | ; 4. Current working directory (except CLI) 15 | ; 5. The web server's directory (for SAPI modules), or directory of PHP 16 | ; (otherwise in Windows) 17 | ; 6. The directory from the --with-config-file-path compile time option, or the 18 | ; Windows directory (C:\windows or C:\winnt) 19 | ; See the PHP docs for more specific information. 20 | ; http://php.net/configuration.file 21 | 22 | ; The syntax of the file is extremely simple. Whitespace and lines 23 | ; beginning with a semicolon are silently ignored (as you probably guessed). 24 | ; Section headers (e.g. [Foo]) are also silently ignored, even though 25 | ; they might mean something in the future. 26 | 27 | ; Directives following the section heading [PATH=/www/mysite] only 28 | ; apply to PHP files in the /www/mysite directory. Directives 29 | ; following the section heading [HOST=www.example.com] only apply to 30 | ; PHP files served from www.example.com. Directives set in these 31 | ; special sections cannot be overridden by user-defined INI files or 32 | ; at runtime. Currently, [PATH=] and [HOST=] sections only work under 33 | ; CGI/FastCGI. 34 | ; http://php.net/ini.sections 35 | 36 | ; Directives are specified using the following syntax: 37 | ; directive = value 38 | ; Directive names are *case sensitive* - foo=bar is different from FOO=bar. 39 | ; Directives are variables used to configure PHP or PHP extensions. 40 | ; There is no name validation. If PHP can't find an expected 41 | ; directive because it is not set or is mistyped, a default value will be used. 42 | 43 | ; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one 44 | ; of the INI constants (On, Off, True, False, Yes, No and None) or an expression 45 | ; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a 46 | ; previously set variable or directive (e.g. ${foo}) 47 | 48 | ; Expressions in the INI file are limited to bitwise operators and parentheses: 49 | ; | bitwise OR 50 | ; ^ bitwise XOR 51 | ; & bitwise AND 52 | ; ~ bitwise NOT 53 | ; ! boolean NOT 54 | 55 | ; Boolean flags can be turned on using the values 1, On, True or Yes. 56 | ; They can be turned off using the values 0, Off, False or No. 57 | 58 | ; An empty string can be denoted by simply not writing anything after the equal 59 | ; sign, or by using the None keyword: 60 | 61 | ; foo = ; sets foo to an empty string 62 | ; foo = None ; sets foo to an empty string 63 | ; foo = "None" ; sets foo to the string 'None' 64 | 65 | ; If you use constants in your value, and these constants belong to a 66 | ; dynamically loaded extension (either a PHP extension or a Zend extension), 67 | ; you may only use these constants *after* the line that loads the extension. 68 | 69 | ;;;;;;;;;;;;;;;;;;; 70 | ; About this file ; 71 | ;;;;;;;;;;;;;;;;;;; 72 | ; PHP comes packaged with two INI files. One that is recommended to be used 73 | ; in production environments and one that is recommended to be used in 74 | ; development environments. 75 | 76 | ; php.ini-production contains settings which hold security, performance and 77 | ; best practices at its core. But please be aware, these settings may break 78 | ; compatibility with older or less security conscience applications. We 79 | ; recommending using the production ini in production and testing environments. 80 | 81 | ; php.ini-development is very similar to its production variant, except it's 82 | ; much more verbose when it comes to errors. We recommending using the 83 | ; development version only in development environments as errors shown to 84 | ; application users can inadvertently leak otherwise secure information. 85 | 86 | ; This is php.ini-development INI file. 87 | 88 | ;;;;;;;;;;;;;;;;;;; 89 | ; Quick Reference ; 90 | ;;;;;;;;;;;;;;;;;;; 91 | ; The following are all the settings which are different in either the production 92 | ; or development versions of the INIs with respect to PHP's default behavior. 93 | ; Please see the actual settings later in the document for more details as to why 94 | ; we recommend these changes in PHP's behavior. 95 | 96 | ; display_errors 97 | ; Default Value: On 98 | ; Development Value: On 99 | ; Production Value: Off 100 | 101 | ; display_startup_errors 102 | ; Default Value: Off 103 | ; Development Value: On 104 | ; Production Value: Off 105 | 106 | ; error_reporting 107 | ; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED 108 | ; Development Value: E_ALL 109 | ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT 110 | 111 | ; html_errors 112 | ; Default Value: On 113 | ; Development Value: On 114 | ; Production value: On 115 | 116 | ; log_errors 117 | ; Default Value: Off 118 | ; Development Value: On 119 | ; Production Value: On 120 | 121 | ; max_input_time 122 | ; Default Value: -1 (Unlimited) 123 | ; Development Value: 60 (60 seconds) 124 | ; Production Value: 60 (60 seconds) 125 | 126 | ; output_buffering 127 | ; Default Value: Off 128 | ; Development Value: 4096 129 | ; Production Value: 4096 130 | 131 | ; register_argc_argv 132 | ; Default Value: On 133 | ; Development Value: Off 134 | ; Production Value: Off 135 | 136 | ; request_order 137 | ; Default Value: None 138 | ; Development Value: "GP" 139 | ; Production Value: "GP" 140 | 141 | ; session.gc_divisor 142 | ; Default Value: 100 143 | ; Development Value: 1000 144 | ; Production Value: 1000 145 | 146 | ; session.hash_bits_per_character 147 | ; Default Value: 4 148 | ; Development Value: 5 149 | ; Production Value: 5 150 | 151 | ; short_open_tag 152 | ; Default Value: On 153 | ; Development Value: Off 154 | ; Production Value: Off 155 | 156 | ; track_errors 157 | ; Default Value: Off 158 | ; Development Value: On 159 | ; Production Value: Off 160 | 161 | ; url_rewriter.tags 162 | ; Default Value: "a=href,area=href,frame=src,form=,fieldset=" 163 | ; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" 164 | ; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" 165 | 166 | ; variables_order 167 | ; Default Value: "EGPCS" 168 | ; Development Value: "GPCS" 169 | ; Production Value: "GPCS" 170 | 171 | ;;;;;;;;;;;;;;;;;;;; 172 | ; php.ini Options ; 173 | ;;;;;;;;;;;;;;;;;;;; 174 | ; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" 175 | ;user_ini.filename = ".user.ini" 176 | 177 | ; To disable this feature set this option to empty value 178 | ;user_ini.filename = 179 | 180 | ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) 181 | ;user_ini.cache_ttl = 300 182 | 183 | ;;;;;;;;;;;;;;;;;;;; 184 | ; Language Options ; 185 | ;;;;;;;;;;;;;;;;;;;; 186 | 187 | ; Enable the PHP scripting language engine under Apache. 188 | ; http://php.net/engine 189 | engine = On 190 | 191 | ; This directive determines whether or not PHP will recognize code between 192 | ; tags as PHP source which should be processed as such. It is 193 | ; generally recommended that should be used and that this feature 194 | ; should be disabled, as enabling it may result in issues when generating XML 195 | ; documents, however this remains supported for backward compatibility reasons. 196 | ; Note that this directive does not control the tags. 205 | ; http://php.net/asp-tags 206 | asp_tags = Off 207 | 208 | ; The number of significant digits displayed in floating point numbers. 209 | ; http://php.net/precision 210 | precision = 14 211 | 212 | ; Output buffering is a mechanism for controlling how much output data 213 | ; (excluding headers and cookies) PHP should keep internally before pushing that 214 | ; data to the client. If your application's output exceeds this setting, PHP 215 | ; will send that data in chunks of roughly the size you specify. 216 | ; Turning on this setting and managing its maximum buffer size can yield some 217 | ; interesting side-effects depending on your application and web server. 218 | ; You may be able to send headers and cookies after you've already sent output 219 | ; through print or echo. You also may see performance benefits if your server is 220 | ; emitting less packets due to buffered output versus PHP streaming the output 221 | ; as it gets it. On production servers, 4096 bytes is a good setting for performance 222 | ; reasons. 223 | ; Note: Output buffering can also be controlled via Output Buffering Control 224 | ; functions. 225 | ; Possible Values: 226 | ; On = Enabled and buffer is unlimited. (Use with caution) 227 | ; Off = Disabled 228 | ; Integer = Enables the buffer and sets its maximum size in bytes. 229 | ; Note: This directive is hardcoded to Off for the CLI SAPI 230 | ; Default Value: Off 231 | ; Development Value: 4096 232 | ; Production Value: 4096 233 | ; http://php.net/output-buffering 234 | output_buffering = 4096 235 | 236 | ; You can redirect all of the output of your scripts to a function. For 237 | ; example, if you set output_handler to "mb_output_handler", character 238 | ; encoding will be transparently converted to the specified encoding. 239 | ; Setting any output handler automatically turns on output buffering. 240 | ; Note: People who wrote portable scripts should not depend on this ini 241 | ; directive. Instead, explicitly set the output handler using ob_start(). 242 | ; Using this ini directive may cause problems unless you know what script 243 | ; is doing. 244 | ; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" 245 | ; and you cannot use both "ob_gzhandler" and "zlib.output_compression". 246 | ; Note: output_handler must be empty if this is set 'On' !!!! 247 | ; Instead you must use zlib.output_handler. 248 | ; http://php.net/output-handler 249 | ;output_handler = 250 | 251 | ; Transparent output compression using the zlib library 252 | ; Valid values for this option are 'off', 'on', or a specific buffer size 253 | ; to be used for compression (default is 4KB) 254 | ; Note: Resulting chunk size may vary due to nature of compression. PHP 255 | ; outputs chunks that are few hundreds bytes each as a result of 256 | ; compression. If you prefer a larger chunk size for better 257 | ; performance, enable output_buffering in addition. 258 | ; Note: You need to use zlib.output_handler instead of the standard 259 | ; output_handler, or otherwise the output will be corrupted. 260 | ; http://php.net/zlib.output-compression 261 | zlib.output_compression = Off 262 | 263 | ; http://php.net/zlib.output-compression-level 264 | ;zlib.output_compression_level = -1 265 | 266 | ; You cannot specify additional output handlers if zlib.output_compression 267 | ; is activated here. This setting does the same as output_handler but in 268 | ; a different order. 269 | ; http://php.net/zlib.output-handler 270 | ;zlib.output_handler = 271 | 272 | ; Implicit flush tells PHP to tell the output layer to flush itself 273 | ; automatically after every output block. This is equivalent to calling the 274 | ; PHP function flush() after each and every call to print() or echo() and each 275 | ; and every HTML block. Turning this option on has serious performance 276 | ; implications and is generally recommended for debugging purposes only. 277 | ; http://php.net/implicit-flush 278 | ; Note: This directive is hardcoded to On for the CLI SAPI 279 | implicit_flush = Off 280 | 281 | ; The unserialize callback function will be called (with the undefined class' 282 | ; name as parameter), if the unserializer finds an undefined class 283 | ; which should be instantiated. A warning appears if the specified function is 284 | ; not defined, or if the function doesn't include/implement the missing class. 285 | ; So only set this entry, if you really want to implement such a 286 | ; callback-function. 287 | unserialize_callback_func = 288 | 289 | ; When floats & doubles are serialized store serialize_precision significant 290 | ; digits after the floating point. The default value ensures that when floats 291 | ; are decoded with unserialize, the data will remain the same. 292 | serialize_precision = 17 293 | 294 | ; open_basedir, if set, limits all file operations to the defined directory 295 | ; and below. This directive makes most sense if used in a per-directory 296 | ; or per-virtualhost web server configuration file. This directive is 297 | ; *NOT* affected by whether Safe Mode is turned On or Off. 298 | ; http://php.net/open-basedir 299 | ;open_basedir = 300 | 301 | ; This directive allows you to disable certain functions for security reasons. 302 | ; It receives a comma-delimited list of function names. This directive is 303 | ; *NOT* affected by whether Safe Mode is turned On or Off. 304 | ; http://php.net/disable-functions 305 | disable_functions = 306 | 307 | ; This directive allows you to disable certain classes for security reasons. 308 | ; It receives a comma-delimited list of class names. This directive is 309 | ; *NOT* affected by whether Safe Mode is turned On or Off. 310 | ; http://php.net/disable-classes 311 | disable_classes = 312 | 313 | ; Colors for Syntax Highlighting mode. Anything that's acceptable in 314 | ; would work. 315 | ; http://php.net/syntax-highlighting 316 | ;highlight.string = #DD0000 317 | ;highlight.comment = #FF9900 318 | ;highlight.keyword = #007700 319 | ;highlight.default = #0000BB 320 | ;highlight.html = #000000 321 | 322 | ; If enabled, the request will be allowed to complete even if the user aborts 323 | ; the request. Consider enabling it if executing long requests, which may end up 324 | ; being interrupted by the user or a browser timing out. PHP's default behavior 325 | ; is to disable this feature. 326 | ; http://php.net/ignore-user-abort 327 | ;ignore_user_abort = On 328 | 329 | ; Determines the size of the realpath cache to be used by PHP. This value should 330 | ; be increased on systems where PHP opens many files to reflect the quantity of 331 | ; the file operations performed. 332 | ; http://php.net/realpath-cache-size 333 | ;realpath_cache_size = 16k 334 | 335 | ; Duration of time, in seconds for which to cache realpath information for a given 336 | ; file or directory. For systems with rarely changing files, consider increasing this 337 | ; value. 338 | ; http://php.net/realpath-cache-ttl 339 | ;realpath_cache_ttl = 120 340 | 341 | ; Enables or disables the circular reference collector. 342 | ; http://php.net/zend.enable-gc 343 | zend.enable_gc = On 344 | 345 | ; If enabled, scripts may be written in encodings that are incompatible with 346 | ; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such 347 | ; encodings. To use this feature, mbstring extension must be enabled. 348 | ; Default: Off 349 | ;zend.multibyte = Off 350 | 351 | ; Allows to set the default encoding for the scripts. This value will be used 352 | ; unless "declare(encoding=...)" directive appears at the top of the script. 353 | ; Only affects if zend.multibyte is set. 354 | ; Default: "" 355 | ;zend.script_encoding = 356 | 357 | ;;;;;;;;;;;;;;;;; 358 | ; Miscellaneous ; 359 | ;;;;;;;;;;;;;;;;; 360 | 361 | ; Decides whether PHP may expose the fact that it is installed on the server 362 | ; (e.g. by adding its signature to the Web server header). It is no security 363 | ; threat in any way, but it makes it possible to determine whether you use PHP 364 | ; on your server or not. 365 | ; http://php.net/expose-php 366 | expose_php = On 367 | 368 | ;;;;;;;;;;;;;;;;;;; 369 | ; Resource Limits ; 370 | ;;;;;;;;;;;;;;;;;;; 371 | 372 | ; Maximum execution time of each script, in seconds 373 | ; http://php.net/max-execution-time 374 | ; Note: This directive is hardcoded to 0 for the CLI SAPI 375 | max_execution_time = 30 376 | 377 | ; Maximum amount of time each script may spend parsing request data. It's a good 378 | ; idea to limit this time on productions servers in order to eliminate unexpectedly 379 | ; long running scripts. 380 | ; Note: This directive is hardcoded to -1 for the CLI SAPI 381 | ; Default Value: -1 (Unlimited) 382 | ; Development Value: 60 (60 seconds) 383 | ; Production Value: 60 (60 seconds) 384 | ; http://php.net/max-input-time 385 | max_input_time = 60 386 | 387 | ; Maximum input variable nesting level 388 | ; http://php.net/max-input-nesting-level 389 | ;max_input_nesting_level = 64 390 | 391 | ; How many GET/POST/COOKIE input variables may be accepted 392 | ; max_input_vars = 1000 393 | 394 | ; Maximum amount of memory a script may consume (128MB) 395 | ; http://php.net/memory-limit 396 | memory_limit = 128M 397 | 398 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 399 | ; Error handling and logging ; 400 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 401 | 402 | ; This directive informs PHP of which errors, warnings and notices you would like 403 | ; it to take action for. The recommended way of setting values for this 404 | ; directive is through the use of the error level constants and bitwise 405 | ; operators. The error level constants are below here for convenience as well as 406 | ; some common settings and their meanings. 407 | ; By default, PHP is set to take action on all errors, notices and warnings EXCEPT 408 | ; those related to E_NOTICE and E_STRICT, which together cover best practices and 409 | ; recommended coding standards in PHP. For performance reasons, this is the 410 | ; recommend error reporting setting. Your production server shouldn't be wasting 411 | ; resources complaining about best practices and coding standards. That's what 412 | ; development servers and development settings are for. 413 | ; Note: The php.ini-development file has this setting as E_ALL. This 414 | ; means it pretty much reports everything which is exactly what you want during 415 | ; development and early testing. 416 | ; 417 | ; Error Level Constants: 418 | ; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) 419 | ; E_ERROR - fatal run-time errors 420 | ; E_RECOVERABLE_ERROR - almost fatal run-time errors 421 | ; E_WARNING - run-time warnings (non-fatal errors) 422 | ; E_PARSE - compile-time parse errors 423 | ; E_NOTICE - run-time notices (these are warnings which often result 424 | ; from a bug in your code, but it's possible that it was 425 | ; intentional (e.g., using an uninitialized variable and 426 | ; relying on the fact it's automatically initialized to an 427 | ; empty string) 428 | ; E_STRICT - run-time notices, enable to have PHP suggest changes 429 | ; to your code which will ensure the best interoperability 430 | ; and forward compatibility of your code 431 | ; E_CORE_ERROR - fatal errors that occur during PHP's initial startup 432 | ; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's 433 | ; initial startup 434 | ; E_COMPILE_ERROR - fatal compile-time errors 435 | ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) 436 | ; E_USER_ERROR - user-generated error message 437 | ; E_USER_WARNING - user-generated warning message 438 | ; E_USER_NOTICE - user-generated notice message 439 | ; E_DEPRECATED - warn about code that will not work in future versions 440 | ; of PHP 441 | ; E_USER_DEPRECATED - user-generated deprecation warnings 442 | ; 443 | ; Common Values: 444 | ; E_ALL (Show all errors, warnings and notices including coding standards.) 445 | ; E_ALL & ~E_NOTICE (Show all errors, except for notices) 446 | ; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) 447 | ; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) 448 | ; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED 449 | ; Development Value: E_ALL 450 | ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT 451 | ; http://php.net/error-reporting 452 | error_reporting = E_ALL 453 | 454 | ; This directive controls whether or not and where PHP will output errors, 455 | ; notices and warnings too. Error output is very useful during development, but 456 | ; it could be very dangerous in production environments. Depending on the code 457 | ; which is triggering the error, sensitive information could potentially leak 458 | ; out of your application such as database usernames and passwords or worse. 459 | ; It's recommended that errors be logged on production servers rather than 460 | ; having the errors sent to STDOUT. 461 | ; Possible Values: 462 | ; Off = Do not display any errors 463 | ; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) 464 | ; On or stdout = Display errors to STDOUT 465 | ; Default Value: On 466 | ; Development Value: On 467 | ; Production Value: Off 468 | ; http://php.net/display-errors 469 | display_errors = On 470 | 471 | ; The display of errors which occur during PHP's startup sequence are handled 472 | ; separately from display_errors. PHP's default behavior is to suppress those 473 | ; errors from clients. Turning the display of startup errors on can be useful in 474 | ; debugging configuration problems. But, it's strongly recommended that you 475 | ; leave this setting off on production servers. 476 | ; Default Value: Off 477 | ; Development Value: On 478 | ; Production Value: Off 479 | ; http://php.net/display-startup-errors 480 | display_startup_errors = On 481 | 482 | ; Besides displaying errors, PHP can also log errors to locations such as a 483 | ; server-specific log, STDERR, or a location specified by the error_log 484 | ; directive found below. While errors should not be displayed on productions 485 | ; servers they should still be monitored and logging is a great way to do that. 486 | ; Default Value: Off 487 | ; Development Value: On 488 | ; Production Value: On 489 | ; http://php.net/log-errors 490 | log_errors = On 491 | 492 | ; Set maximum length of log_errors. In error_log information about the source is 493 | ; added. The default is 1024 and 0 allows to not apply any maximum length at all. 494 | ; http://php.net/log-errors-max-len 495 | log_errors_max_len = 1024 496 | 497 | ; Do not log repeated messages. Repeated errors must occur in same file on same 498 | ; line unless ignore_repeated_source is set true. 499 | ; http://php.net/ignore-repeated-errors 500 | ignore_repeated_errors = Off 501 | 502 | ; Ignore source of message when ignoring repeated messages. When this setting 503 | ; is On you will not log errors with repeated messages from different files or 504 | ; source lines. 505 | ; http://php.net/ignore-repeated-source 506 | ignore_repeated_source = Off 507 | 508 | ; If this parameter is set to Off, then memory leaks will not be shown (on 509 | ; stdout or in the log). This has only effect in a debug compile, and if 510 | ; error reporting includes E_WARNING in the allowed list 511 | ; http://php.net/report-memleaks 512 | report_memleaks = On 513 | 514 | ; This setting is on by default. 515 | ;report_zend_debug = 0 516 | 517 | ; Store the last error/warning message in $php_errormsg (boolean). Setting this value 518 | ; to On can assist in debugging and is appropriate for development servers. It should 519 | ; however be disabled on production servers. 520 | ; Default Value: Off 521 | ; Development Value: On 522 | ; Production Value: Off 523 | ; http://php.net/track-errors 524 | track_errors = On 525 | 526 | ; Turn off normal error reporting and emit XML-RPC error XML 527 | ; http://php.net/xmlrpc-errors 528 | ;xmlrpc_errors = 0 529 | 530 | ; An XML-RPC faultCode 531 | ;xmlrpc_error_number = 0 532 | 533 | ; When PHP displays or logs an error, it has the capability of formatting the 534 | ; error message as HTML for easier reading. This directive controls whether 535 | ; the error message is formatted as HTML or not. 536 | ; Note: This directive is hardcoded to Off for the CLI SAPI 537 | ; Default Value: On 538 | ; Development Value: On 539 | ; Production value: On 540 | ; http://php.net/html-errors 541 | html_errors = On 542 | 543 | ; If html_errors is set to On *and* docref_root is not empty, then PHP 544 | ; produces clickable error messages that direct to a page describing the error 545 | ; or function causing the error in detail. 546 | ; You can download a copy of the PHP manual from http://php.net/docs 547 | ; and change docref_root to the base URL of your local copy including the 548 | ; leading '/'. You must also specify the file extension being used including 549 | ; the dot. PHP's default behavior is to leave these settings empty, in which 550 | ; case no links to documentation are generated. 551 | ; Note: Never use this feature for production boxes. 552 | ; http://php.net/docref-root 553 | ; Examples 554 | ;docref_root = "/phpmanual/" 555 | 556 | ; http://php.net/docref-ext 557 | ;docref_ext = .html 558 | 559 | ; String to output before an error message. PHP's default behavior is to leave 560 | ; this setting blank. 561 | ; http://php.net/error-prepend-string 562 | ; Example: 563 | ;error_prepend_string = "" 564 | 565 | ; String to output after an error message. PHP's default behavior is to leave 566 | ; this setting blank. 567 | ; http://php.net/error-append-string 568 | ; Example: 569 | ;error_append_string = "" 570 | 571 | ; Log errors to specified file. PHP's default behavior is to leave this value 572 | ; empty. 573 | ; http://php.net/error-log 574 | ; Example: 575 | ;error_log = php_errors.log 576 | ; Log errors to syslog (Event Log on NT, not valid in Windows 95). 577 | ;error_log = syslog 578 | 579 | ;windows.show_crt_warning 580 | ; Default value: 0 581 | ; Development value: 0 582 | ; Production value: 0 583 | 584 | ;;;;;;;;;;;;;;;;; 585 | ; Data Handling ; 586 | ;;;;;;;;;;;;;;;;; 587 | 588 | ; The separator used in PHP generated URLs to separate arguments. 589 | ; PHP's default setting is "&". 590 | ; http://php.net/arg-separator.output 591 | ; Example: 592 | ;arg_separator.output = "&" 593 | 594 | ; List of separator(s) used by PHP to parse input URLs into variables. 595 | ; PHP's default setting is "&". 596 | ; NOTE: Every character in this directive is considered as separator! 597 | ; http://php.net/arg-separator.input 598 | ; Example: 599 | ;arg_separator.input = ";&" 600 | 601 | ; This directive determines which super global arrays are registered when PHP 602 | ; starts up. G,P,C,E & S are abbreviations for the following respective super 603 | ; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty 604 | ; paid for the registration of these arrays and because ENV is not as commonly 605 | ; used as the others, ENV is not recommended on productions servers. You 606 | ; can still get access to the environment variables through getenv() should you 607 | ; need to. 608 | ; Default Value: "EGPCS" 609 | ; Development Value: "GPCS" 610 | ; Production Value: "GPCS"; 611 | ; http://php.net/variables-order 612 | variables_order = "GPCS" 613 | 614 | ; This directive determines which super global data (G,P,C,E & S) should 615 | ; be registered into the super global array REQUEST. If so, it also determines 616 | ; the order in which that data is registered. The values for this directive are 617 | ; specified in the same manner as the variables_order directive, EXCEPT one. 618 | ; Leaving this value empty will cause PHP to use the value set in the 619 | ; variables_order directive. It does not mean it will leave the super globals 620 | ; array REQUEST empty. 621 | ; Default Value: None 622 | ; Development Value: "GP" 623 | ; Production Value: "GP" 624 | ; http://php.net/request-order 625 | request_order = "GP" 626 | 627 | ; This directive determines whether PHP registers $argv & $argc each time it 628 | ; runs. $argv contains an array of all the arguments passed to PHP when a script 629 | ; is invoked. $argc contains an integer representing the number of arguments 630 | ; that were passed when the script was invoked. These arrays are extremely 631 | ; useful when running scripts from the command line. When this directive is 632 | ; enabled, registering these variables consumes CPU cycles and memory each time 633 | ; a script is executed. For performance reasons, this feature should be disabled 634 | ; on production servers. 635 | ; Note: This directive is hardcoded to On for the CLI SAPI 636 | ; Default Value: On 637 | ; Development Value: Off 638 | ; Production Value: Off 639 | ; http://php.net/register-argc-argv 640 | register_argc_argv = Off 641 | 642 | ; When enabled, the ENV, REQUEST and SERVER variables are created when they're 643 | ; first used (Just In Time) instead of when the script starts. If these 644 | ; variables are not used within a script, having this directive on will result 645 | ; in a performance gain. The PHP directive register_argc_argv must be disabled 646 | ; for this directive to have any affect. 647 | ; http://php.net/auto-globals-jit 648 | auto_globals_jit = On 649 | 650 | ; Whether PHP will read the POST data. 651 | ; This option is enabled by default. 652 | ; Most likely, you won't want to disable this option globally. It causes $_POST 653 | ; and $_FILES to always be empty; the only way you will be able to read the 654 | ; POST data will be through the php://input stream wrapper. This can be useful 655 | ; to proxy requests or to process the POST data in a memory efficient fashion. 656 | ; http://php.net/enable-post-data-reading 657 | ;enable_post_data_reading = Off 658 | 659 | ; Maximum size of POST data that PHP will accept. 660 | ; Its value may be 0 to disable the limit. It is ignored if POST data reading 661 | ; is disabled through enable_post_data_reading. 662 | ; http://php.net/post-max-size 663 | post_max_size = 8M 664 | 665 | ; Automatically add files before PHP document. 666 | ; http://php.net/auto-prepend-file 667 | auto_prepend_file = 668 | 669 | ; Automatically add files after PHP document. 670 | ; http://php.net/auto-append-file 671 | auto_append_file = 672 | 673 | ; By default, PHP will output a character encoding using 674 | ; the Content-type: header. To disable sending of the charset, simply 675 | ; set it to be empty. 676 | ; 677 | ; PHP's built-in default is text/html 678 | ; http://php.net/default-mimetype 679 | default_mimetype = "text/html" 680 | 681 | ; PHP's default character set is set to empty. 682 | ; http://php.net/default-charset 683 | ;default_charset = "UTF-8" 684 | 685 | ; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is 686 | ; to disable this feature. If post reading is disabled through 687 | ; enable_post_data_reading, $HTTP_RAW_POST_DATA is *NOT* populated. 688 | ; http://php.net/always-populate-raw-post-data 689 | ;always_populate_raw_post_data = On 690 | 691 | ;;;;;;;;;;;;;;;;;;;;;;;;; 692 | ; Paths and Directories ; 693 | ;;;;;;;;;;;;;;;;;;;;;;;;; 694 | 695 | ; UNIX: "/path1:/path2" 696 | ;include_path = ".:/php/includes" 697 | ; 698 | ; Windows: "\path1;\path2" 699 | ;include_path = ".;c:\php\includes" 700 | ; 701 | ; PHP's default setting for include_path is ".;/path/to/php/pear" 702 | ; http://php.net/include-path 703 | 704 | ; The root of the PHP pages, used only if nonempty. 705 | ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root 706 | ; if you are running php as a CGI under any web server (other than IIS) 707 | ; see documentation for security issues. The alternate is to use the 708 | ; cgi.force_redirect configuration below 709 | ; http://php.net/doc-root 710 | doc_root = 711 | 712 | ; The directory under which PHP opens the script using /~username used only 713 | ; if nonempty. 714 | ; http://php.net/user-dir 715 | user_dir = 716 | 717 | ; Directory in which the loadable extensions (modules) reside. 718 | ; http://php.net/extension-dir 719 | ; extension_dir = "./" 720 | ; On windows: 721 | ; extension_dir = "ext" 722 | 723 | ; Directory where the temporary files should be placed. 724 | ; Defaults to the system default (see sys_get_temp_dir) 725 | ; sys_temp_dir = "/tmp" 726 | 727 | ; Whether or not to enable the dl() function. The dl() function does NOT work 728 | ; properly in multithreaded servers, such as IIS or Zeus, and is automatically 729 | ; disabled on them. 730 | ; http://php.net/enable-dl 731 | enable_dl = Off 732 | 733 | ; cgi.force_redirect is necessary to provide security running PHP as a CGI under 734 | ; most web servers. Left undefined, PHP turns this on by default. You can 735 | ; turn it off here AT YOUR OWN RISK 736 | ; **You CAN safely turn this off for IIS, in fact, you MUST.** 737 | ; http://php.net/cgi.force-redirect 738 | ;cgi.force_redirect = 1 739 | 740 | ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with 741 | ; every request. PHP's default behavior is to disable this feature. 742 | ;cgi.nph = 1 743 | 744 | ; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape 745 | ; (iPlanet) web servers, you MAY need to set an environment variable name that PHP 746 | ; will look for to know it is OK to continue execution. Setting this variable MAY 747 | ; cause security issues, KNOW WHAT YOU ARE DOING FIRST. 748 | ; http://php.net/cgi.redirect-status-env 749 | ;cgi.redirect_status_env = 750 | 751 | ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's 752 | ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok 753 | ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting 754 | ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting 755 | ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts 756 | ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. 757 | ; http://php.net/cgi.fix-pathinfo 758 | ;cgi.fix_pathinfo=1 759 | 760 | ; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate 761 | ; security tokens of the calling client. This allows IIS to define the 762 | ; security context that the request runs under. mod_fastcgi under Apache 763 | ; does not currently support this feature (03/17/2002) 764 | ; Set to 1 if running under IIS. Default is zero. 765 | ; http://php.net/fastcgi.impersonate 766 | ;fastcgi.impersonate = 1 767 | 768 | ; Disable logging through FastCGI connection. PHP's default behavior is to enable 769 | ; this feature. 770 | ;fastcgi.logging = 0 771 | 772 | ; cgi.rfc2616_headers configuration option tells PHP what type of headers to 773 | ; use when sending HTTP response code. If it's set 0 PHP sends Status: header that 774 | ; is supported by Apache. When this option is set to 1 PHP will send 775 | ; RFC2616 compliant header. 776 | ; Default is zero. 777 | ; http://php.net/cgi.rfc2616-headers 778 | ;cgi.rfc2616_headers = 0 779 | 780 | ;;;;;;;;;;;;;;;; 781 | ; File Uploads ; 782 | ;;;;;;;;;;;;;;;; 783 | 784 | ; Whether to allow HTTP file uploads. 785 | ; http://php.net/file-uploads 786 | file_uploads = On 787 | 788 | ; Temporary directory for HTTP uploaded files (will use system default if not 789 | ; specified). 790 | ; http://php.net/upload-tmp-dir 791 | ;upload_tmp_dir = 792 | 793 | ; Maximum allowed size for uploaded files. 794 | ; http://php.net/upload-max-filesize 795 | upload_max_filesize = 2M 796 | 797 | ; Maximum number of files that can be uploaded via a single request 798 | max_file_uploads = 20 799 | 800 | ;;;;;;;;;;;;;;;;;; 801 | ; Fopen wrappers ; 802 | ;;;;;;;;;;;;;;;;;; 803 | 804 | ; Whether to allow the treatment of URLs (like http:// or ftp://) as files. 805 | ; http://php.net/allow-url-fopen 806 | allow_url_fopen = On 807 | 808 | ; Whether to allow include/require to open URLs (like http:// or ftp://) as files. 809 | ; http://php.net/allow-url-include 810 | allow_url_include = Off 811 | 812 | ; Define the anonymous ftp password (your email address). PHP's default setting 813 | ; for this is empty. 814 | ; http://php.net/from 815 | ;from="john@doe.com" 816 | 817 | ; Define the User-Agent string. PHP's default setting for this is empty. 818 | ; http://php.net/user-agent 819 | ;user_agent="PHP" 820 | 821 | ; Default timeout for socket based streams (seconds) 822 | ; http://php.net/default-socket-timeout 823 | default_socket_timeout = 60 824 | 825 | ; If your scripts have to deal with files from Macintosh systems, 826 | ; or you are running on a Mac and need to deal with files from 827 | ; unix or win32 systems, setting this flag will cause PHP to 828 | ; automatically detect the EOL character in those files so that 829 | ; fgets() and file() will work regardless of the source of the file. 830 | ; http://php.net/auto-detect-line-endings 831 | ;auto_detect_line_endings = Off 832 | 833 | ;;;;;;;;;;;;;;;;;;;;;; 834 | ; Dynamic Extensions ; 835 | ;;;;;;;;;;;;;;;;;;;;;; 836 | 837 | ; If you wish to have an extension loaded automatically, use the following 838 | ; syntax: 839 | ; 840 | ; extension=modulename.extension 841 | ; 842 | ; For example, on Windows: 843 | ; 844 | ; extension=msql.dll 845 | ; 846 | ; ... or under UNIX: 847 | ; 848 | ; extension=msql.so 849 | ; 850 | ; ... or with a path: 851 | ; 852 | ; extension=/path/to/extension/msql.so 853 | ; 854 | ; If you only provide the name of the extension, PHP will look for it in its 855 | ; default extension directory. 856 | ; 857 | ; Windows Extensions 858 | ; Note that ODBC support is built in, so no dll is needed for it. 859 | ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5) 860 | ; extension folders as well as the separate PECL DLL download (PHP 5). 861 | ; Be sure to appropriately set the extension_dir directive. 862 | ; 863 | ;extension=php_bz2.dll 864 | ;extension=php_curl.dll 865 | ;extension=php_fileinfo.dll 866 | ;extension=php_gd2.dll 867 | ;extension=php_gettext.dll 868 | ;extension=php_gmp.dll 869 | ;extension=php_intl.dll 870 | ;extension=php_imap.dll 871 | ;extension=php_interbase.dll 872 | ;extension=php_ldap.dll 873 | ;extension=php_mbstring.dll 874 | ;extension=php_exif.dll ; Must be after mbstring as it depends on it 875 | extension=php_mysql.dll 876 | ;extension=php_mysqli.dll 877 | ;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client 878 | ;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client 879 | ;extension=php_openssl.dll 880 | ;extension=php_pdo_firebird.dll 881 | ;extension=php_pdo_mysql.dll 882 | ;extension=php_pdo_oci.dll 883 | ;extension=php_pdo_odbc.dll 884 | ;extension=php_pdo_pgsql.dll 885 | ;extension=php_pdo_sqlite.dll 886 | ;extension=php_pgsql.dll 887 | ;extension=php_pspell.dll 888 | ;extension=php_shmop.dll 889 | 890 | ; The MIBS data available in the PHP distribution must be installed. 891 | ; See http://www.php.net/manual/en/snmp.installation.php 892 | ;extension=php_snmp.dll 893 | 894 | ;extension=php_soap.dll 895 | ;extension=php_sockets.dll 896 | ;extension=php_sqlite3.dll 897 | ;extension=php_sybase_ct.dll 898 | ;extension=php_tidy.dll 899 | ;extension=php_xmlrpc.dll 900 | ;extension=php_xsl.dll 901 | 902 | ;;;;;;;;;;;;;;;;;;; 903 | ; Module Settings ; 904 | ;;;;;;;;;;;;;;;;;;; 905 | 906 | [CLI Server] 907 | ; Whether the CLI web server uses ANSI color coding in its terminal output. 908 | cli_server.color = On 909 | 910 | [Date] 911 | ; Defines the default timezone used by the date functions 912 | ; http://php.net/date.timezone 913 | ;date.timezone = 914 | 915 | ; http://php.net/date.default-latitude 916 | ;date.default_latitude = 31.7667 917 | 918 | ; http://php.net/date.default-longitude 919 | ;date.default_longitude = 35.2333 920 | 921 | ; http://php.net/date.sunrise-zenith 922 | ;date.sunrise_zenith = 90.583333 923 | 924 | ; http://php.net/date.sunset-zenith 925 | ;date.sunset_zenith = 90.583333 926 | 927 | [filter] 928 | ; http://php.net/filter.default 929 | ;filter.default = unsafe_raw 930 | 931 | ; http://php.net/filter.default-flags 932 | ;filter.default_flags = 933 | 934 | [iconv] 935 | ;iconv.input_encoding = ISO-8859-1 936 | ;iconv.internal_encoding = ISO-8859-1 937 | ;iconv.output_encoding = ISO-8859-1 938 | 939 | [intl] 940 | ;intl.default_locale = 941 | ; This directive allows you to produce PHP errors when some error 942 | ; happens within intl functions. The value is the level of the error produced. 943 | ; Default is 0, which does not produce any errors. 944 | ;intl.error_level = E_WARNING 945 | 946 | [sqlite] 947 | ; http://php.net/sqlite.assoc-case 948 | ;sqlite.assoc_case = 0 949 | 950 | [sqlite3] 951 | ;sqlite3.extension_dir = 952 | 953 | [Pcre] 954 | ;PCRE library backtracking limit. 955 | ; http://php.net/pcre.backtrack-limit 956 | ;pcre.backtrack_limit=100000 957 | 958 | ;PCRE library recursion limit. 959 | ;Please note that if you set this value to a high number you may consume all 960 | ;the available process stack and eventually crash PHP (due to reaching the 961 | ;stack size limit imposed by the Operating System). 962 | ; http://php.net/pcre.recursion-limit 963 | ;pcre.recursion_limit=100000 964 | 965 | [Pdo] 966 | ; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" 967 | ; http://php.net/pdo-odbc.connection-pooling 968 | ;pdo_odbc.connection_pooling=strict 969 | 970 | ;pdo_odbc.db2_instance_name 971 | 972 | [Pdo_mysql] 973 | ; If mysqlnd is used: Number of cache slots for the internal result set cache 974 | ; http://php.net/pdo_mysql.cache_size 975 | pdo_mysql.cache_size = 2000 976 | 977 | ; Default socket name for local MySQL connects. If empty, uses the built-in 978 | ; MySQL defaults. 979 | ; http://php.net/pdo_mysql.default-socket 980 | pdo_mysql.default_socket= 981 | 982 | [Phar] 983 | ; http://php.net/phar.readonly 984 | ;phar.readonly = On 985 | 986 | ; http://php.net/phar.require-hash 987 | ;phar.require_hash = On 988 | 989 | ;phar.cache_list = 990 | 991 | [mail function] 992 | ; For Win32 only. 993 | ; http://php.net/smtp 994 | SMTP = localhost 995 | ; http://php.net/smtp-port 996 | smtp_port = 25 997 | 998 | ; For Win32 only. 999 | ; http://php.net/sendmail-from 1000 | ;sendmail_from = me@example.com 1001 | 1002 | ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 1003 | ; http://php.net/sendmail-path 1004 | ;sendmail_path = 1005 | 1006 | ; Force the addition of the specified parameters to be passed as extra parameters 1007 | ; to the sendmail binary. These parameters will always replace the value of 1008 | ; the 5th parameter to mail(), even in safe mode. 1009 | ;mail.force_extra_parameters = 1010 | 1011 | ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename 1012 | mail.add_x_header = On 1013 | 1014 | ; The path to a log file that will log all mail() calls. Log entries include 1015 | ; the full path of the script, line number, To address and headers. 1016 | ;mail.log = 1017 | ; Log mail to syslog (Event Log on NT, not valid in Windows 95). 1018 | ;mail.log = syslog 1019 | 1020 | [SQL] 1021 | ; http://php.net/sql.safe-mode 1022 | sql.safe_mode = Off 1023 | 1024 | [ODBC] 1025 | ; http://php.net/odbc.default-db 1026 | ;odbc.default_db = Not yet implemented 1027 | 1028 | ; http://php.net/odbc.default-user 1029 | ;odbc.default_user = Not yet implemented 1030 | 1031 | ; http://php.net/odbc.default-pw 1032 | ;odbc.default_pw = Not yet implemented 1033 | 1034 | ; Controls the ODBC cursor model. 1035 | ; Default: SQL_CURSOR_STATIC (default). 1036 | ;odbc.default_cursortype 1037 | 1038 | ; Allow or prevent persistent links. 1039 | ; http://php.net/odbc.allow-persistent 1040 | odbc.allow_persistent = On 1041 | 1042 | ; Check that a connection is still valid before reuse. 1043 | ; http://php.net/odbc.check-persistent 1044 | odbc.check_persistent = On 1045 | 1046 | ; Maximum number of persistent links. -1 means no limit. 1047 | ; http://php.net/odbc.max-persistent 1048 | odbc.max_persistent = -1 1049 | 1050 | ; Maximum number of links (persistent + non-persistent). -1 means no limit. 1051 | ; http://php.net/odbc.max-links 1052 | odbc.max_links = -1 1053 | 1054 | ; Handling of LONG fields. Returns number of bytes to variables. 0 means 1055 | ; passthru. 1056 | ; http://php.net/odbc.defaultlrl 1057 | odbc.defaultlrl = 4096 1058 | 1059 | ; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. 1060 | ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation 1061 | ; of odbc.defaultlrl and odbc.defaultbinmode 1062 | ; http://php.net/odbc.defaultbinmode 1063 | odbc.defaultbinmode = 1 1064 | 1065 | ;birdstep.max_links = -1 1066 | 1067 | [Interbase] 1068 | ; Allow or prevent persistent links. 1069 | ibase.allow_persistent = 1 1070 | 1071 | ; Maximum number of persistent links. -1 means no limit. 1072 | ibase.max_persistent = -1 1073 | 1074 | ; Maximum number of links (persistent + non-persistent). -1 means no limit. 1075 | ibase.max_links = -1 1076 | 1077 | ; Default database name for ibase_connect(). 1078 | ;ibase.default_db = 1079 | 1080 | ; Default username for ibase_connect(). 1081 | ;ibase.default_user = 1082 | 1083 | ; Default password for ibase_connect(). 1084 | ;ibase.default_password = 1085 | 1086 | ; Default charset for ibase_connect(). 1087 | ;ibase.default_charset = 1088 | 1089 | ; Default timestamp format. 1090 | ibase.timestampformat = "%Y-%m-%d %H:%M:%S" 1091 | 1092 | ; Default date format. 1093 | ibase.dateformat = "%Y-%m-%d" 1094 | 1095 | ; Default time format. 1096 | ibase.timeformat = "%H:%M:%S" 1097 | 1098 | [MySQL] 1099 | ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements 1100 | ; http://php.net/mysql.allow_local_infile 1101 | mysql.allow_local_infile = On 1102 | 1103 | ; Allow or prevent persistent links. 1104 | ; http://php.net/mysql.allow-persistent 1105 | mysql.allow_persistent = On 1106 | 1107 | ; If mysqlnd is used: Number of cache slots for the internal result set cache 1108 | ; http://php.net/mysql.cache_size 1109 | mysql.cache_size = 2000 1110 | 1111 | ; Maximum number of persistent links. -1 means no limit. 1112 | ; http://php.net/mysql.max-persistent 1113 | mysql.max_persistent = -1 1114 | 1115 | ; Maximum number of links (persistent + non-persistent). -1 means no limit. 1116 | ; http://php.net/mysql.max-links 1117 | mysql.max_links = -1 1118 | 1119 | ; Default port number for mysql_connect(). If unset, mysql_connect() will use 1120 | ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the 1121 | ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look 1122 | ; at MYSQL_PORT. 1123 | ; http://php.net/mysql.default-port 1124 | mysql.default_port = 1125 | 1126 | ; Default socket name for local MySQL connects. If empty, uses the built-in 1127 | ; MySQL defaults. 1128 | ; http://php.net/mysql.default-socket 1129 | mysql.default_socket = 1130 | 1131 | ; Default host for mysql_connect() (doesn't apply in safe mode). 1132 | ; http://php.net/mysql.default-host 1133 | mysql.default_host = 1134 | 1135 | ; Default user for mysql_connect() (doesn't apply in safe mode). 1136 | ; http://php.net/mysql.default-user 1137 | mysql.default_user = 1138 | 1139 | ; Default password for mysql_connect() (doesn't apply in safe mode). 1140 | ; Note that this is generally a *bad* idea to store passwords in this file. 1141 | ; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password") 1142 | ; and reveal this password! And of course, any users with read access to this 1143 | ; file will be able to reveal the password as well. 1144 | ; http://php.net/mysql.default-password 1145 | mysql.default_password = 1146 | 1147 | ; Maximum time (in seconds) for connect timeout. -1 means no limit 1148 | ; http://php.net/mysql.connect-timeout 1149 | mysql.connect_timeout = 60 1150 | 1151 | ; Trace mode. When trace_mode is active (=On), warnings for table/index scans and 1152 | ; SQL-Errors will be displayed. 1153 | ; http://php.net/mysql.trace-mode 1154 | mysql.trace_mode = Off 1155 | 1156 | [MySQLi] 1157 | 1158 | ; Maximum number of persistent links. -1 means no limit. 1159 | ; http://php.net/mysqli.max-persistent 1160 | mysqli.max_persistent = -1 1161 | 1162 | ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements 1163 | ; http://php.net/mysqli.allow_local_infile 1164 | ;mysqli.allow_local_infile = On 1165 | 1166 | ; Allow or prevent persistent links. 1167 | ; http://php.net/mysqli.allow-persistent 1168 | mysqli.allow_persistent = On 1169 | 1170 | ; Maximum number of links. -1 means no limit. 1171 | ; http://php.net/mysqli.max-links 1172 | mysqli.max_links = -1 1173 | 1174 | ; If mysqlnd is used: Number of cache slots for the internal result set cache 1175 | ; http://php.net/mysqli.cache_size 1176 | mysqli.cache_size = 2000 1177 | 1178 | ; Default port number for mysqli_connect(). If unset, mysqli_connect() will use 1179 | ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the 1180 | ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look 1181 | ; at MYSQL_PORT. 1182 | ; http://php.net/mysqli.default-port 1183 | mysqli.default_port = 3306 1184 | 1185 | ; Default socket name for local MySQL connects. If empty, uses the built-in 1186 | ; MySQL defaults. 1187 | ; http://php.net/mysqli.default-socket 1188 | mysqli.default_socket = 1189 | 1190 | ; Default host for mysql_connect() (doesn't apply in safe mode). 1191 | ; http://php.net/mysqli.default-host 1192 | mysqli.default_host = 1193 | 1194 | ; Default user for mysql_connect() (doesn't apply in safe mode). 1195 | ; http://php.net/mysqli.default-user 1196 | mysqli.default_user = 1197 | 1198 | ; Default password for mysqli_connect() (doesn't apply in safe mode). 1199 | ; Note that this is generally a *bad* idea to store passwords in this file. 1200 | ; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") 1201 | ; and reveal this password! And of course, any users with read access to this 1202 | ; file will be able to reveal the password as well. 1203 | ; http://php.net/mysqli.default-pw 1204 | mysqli.default_pw = 1205 | 1206 | ; Allow or prevent reconnect 1207 | mysqli.reconnect = Off 1208 | 1209 | [mysqlnd] 1210 | ; Enable / Disable collection of general statistics by mysqlnd which can be 1211 | ; used to tune and monitor MySQL operations. 1212 | ; http://php.net/mysqlnd.collect_statistics 1213 | mysqlnd.collect_statistics = On 1214 | 1215 | ; Enable / Disable collection of memory usage statistics by mysqlnd which can be 1216 | ; used to tune and monitor MySQL operations. 1217 | ; http://php.net/mysqlnd.collect_memory_statistics 1218 | mysqlnd.collect_memory_statistics = On 1219 | 1220 | ; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. 1221 | ; http://php.net/mysqlnd.net_cmd_buffer_size 1222 | ;mysqlnd.net_cmd_buffer_size = 2048 1223 | 1224 | ; Size of a pre-allocated buffer used for reading data sent by the server in 1225 | ; bytes. 1226 | ; http://php.net/mysqlnd.net_read_buffer_size 1227 | ;mysqlnd.net_read_buffer_size = 32768 1228 | 1229 | [OCI8] 1230 | 1231 | ; Connection: Enables privileged connections using external 1232 | ; credentials (OCI_SYSOPER, OCI_SYSDBA) 1233 | ; http://php.net/oci8.privileged-connect 1234 | ;oci8.privileged_connect = Off 1235 | 1236 | ; Connection: The maximum number of persistent OCI8 connections per 1237 | ; process. Using -1 means no limit. 1238 | ; http://php.net/oci8.max-persistent 1239 | ;oci8.max_persistent = -1 1240 | 1241 | ; Connection: The maximum number of seconds a process is allowed to 1242 | ; maintain an idle persistent connection. Using -1 means idle 1243 | ; persistent connections will be maintained forever. 1244 | ; http://php.net/oci8.persistent-timeout 1245 | ;oci8.persistent_timeout = -1 1246 | 1247 | ; Connection: The number of seconds that must pass before issuing a 1248 | ; ping during oci_pconnect() to check the connection validity. When 1249 | ; set to 0, each oci_pconnect() will cause a ping. Using -1 disables 1250 | ; pings completely. 1251 | ; http://php.net/oci8.ping-interval 1252 | ;oci8.ping_interval = 60 1253 | 1254 | ; Connection: Set this to a user chosen connection class to be used 1255 | ; for all pooled server requests with Oracle 11g Database Resident 1256 | ; Connection Pooling (DRCP). To use DRCP, this value should be set to 1257 | ; the same string for all web servers running the same application, 1258 | ; the database pool must be configured, and the connection string must 1259 | ; specify to use a pooled server. 1260 | ;oci8.connection_class = 1261 | 1262 | ; High Availability: Using On lets PHP receive Fast Application 1263 | ; Notification (FAN) events generated when a database node fails. The 1264 | ; database must also be configured to post FAN events. 1265 | ;oci8.events = Off 1266 | 1267 | ; Tuning: This option enables statement caching, and specifies how 1268 | ; many statements to cache. Using 0 disables statement caching. 1269 | ; http://php.net/oci8.statement-cache-size 1270 | ;oci8.statement_cache_size = 20 1271 | 1272 | ; Tuning: Enables statement prefetching and sets the default number of 1273 | ; rows that will be fetched automatically after statement execution. 1274 | ; http://php.net/oci8.default-prefetch 1275 | ;oci8.default_prefetch = 100 1276 | 1277 | ; Compatibility. Using On means oci_close() will not close 1278 | ; oci_connect() and oci_new_connect() connections. 1279 | ; http://php.net/oci8.old-oci-close-semantics 1280 | ;oci8.old_oci_close_semantics = Off 1281 | 1282 | [PostgreSQL] 1283 | ; Allow or prevent persistent links. 1284 | ; http://php.net/pgsql.allow-persistent 1285 | pgsql.allow_persistent = On 1286 | 1287 | ; Detect broken persistent links always with pg_pconnect(). 1288 | ; Auto reset feature requires a little overheads. 1289 | ; http://php.net/pgsql.auto-reset-persistent 1290 | pgsql.auto_reset_persistent = Off 1291 | 1292 | ; Maximum number of persistent links. -1 means no limit. 1293 | ; http://php.net/pgsql.max-persistent 1294 | pgsql.max_persistent = -1 1295 | 1296 | ; Maximum number of links (persistent+non persistent). -1 means no limit. 1297 | ; http://php.net/pgsql.max-links 1298 | pgsql.max_links = -1 1299 | 1300 | ; Ignore PostgreSQL backends Notice message or not. 1301 | ; Notice message logging require a little overheads. 1302 | ; http://php.net/pgsql.ignore-notice 1303 | pgsql.ignore_notice = 0 1304 | 1305 | ; Log PostgreSQL backends Notice message or not. 1306 | ; Unless pgsql.ignore_notice=0, module cannot log notice message. 1307 | ; http://php.net/pgsql.log-notice 1308 | pgsql.log_notice = 0 1309 | 1310 | [Sybase-CT] 1311 | ; Allow or prevent persistent links. 1312 | ; http://php.net/sybct.allow-persistent 1313 | sybct.allow_persistent = On 1314 | 1315 | ; Maximum number of persistent links. -1 means no limit. 1316 | ; http://php.net/sybct.max-persistent 1317 | sybct.max_persistent = -1 1318 | 1319 | ; Maximum number of links (persistent + non-persistent). -1 means no limit. 1320 | ; http://php.net/sybct.max-links 1321 | sybct.max_links = -1 1322 | 1323 | ; Minimum server message severity to display. 1324 | ; http://php.net/sybct.min-server-severity 1325 | sybct.min_server_severity = 10 1326 | 1327 | ; Minimum client message severity to display. 1328 | ; http://php.net/sybct.min-client-severity 1329 | sybct.min_client_severity = 10 1330 | 1331 | ; Set per-context timeout 1332 | ; http://php.net/sybct.timeout 1333 | ;sybct.timeout= 1334 | 1335 | ;sybct.packet_size 1336 | 1337 | ; The maximum time in seconds to wait for a connection attempt to succeed before returning failure. 1338 | ; Default: one minute 1339 | ;sybct.login_timeout= 1340 | 1341 | ; The name of the host you claim to be connecting from, for display by sp_who. 1342 | ; Default: none 1343 | ;sybct.hostname= 1344 | 1345 | ; Allows you to define how often deadlocks are to be retried. -1 means "forever". 1346 | ; Default: 0 1347 | ;sybct.deadlock_retry_count= 1348 | 1349 | [bcmath] 1350 | ; Number of decimal digits for all bcmath functions. 1351 | ; http://php.net/bcmath.scale 1352 | bcmath.scale = 0 1353 | 1354 | [browscap] 1355 | ; http://php.net/browscap 1356 | ;browscap = extra/browscap.ini 1357 | 1358 | [Session] 1359 | ; Handler used to store/retrieve data. 1360 | ; http://php.net/session.save-handler 1361 | session.save_handler = files 1362 | 1363 | ; Argument passed to save_handler. In the case of files, this is the path 1364 | ; where data files are stored. Note: Windows users have to change this 1365 | ; variable in order to use PHP's session functions. 1366 | ; 1367 | ; The path can be defined as: 1368 | ; 1369 | ; session.save_path = "N;/path" 1370 | ; 1371 | ; where N is an integer. Instead of storing all the session files in 1372 | ; /path, what this will do is use subdirectories N-levels deep, and 1373 | ; store the session data in those directories. This is useful if you 1374 | ; or your OS have problems with lots of files in one directory, and is 1375 | ; a more efficient layout for servers that handle lots of sessions. 1376 | ; 1377 | ; NOTE 1: PHP will not create this directory structure automatically. 1378 | ; You can use the script in the ext/session dir for that purpose. 1379 | ; NOTE 2: See the section on garbage collection below if you choose to 1380 | ; use subdirectories for session storage 1381 | ; 1382 | ; The file storage module creates files using mode 600 by default. 1383 | ; You can change that by using 1384 | ; 1385 | ; session.save_path = "N;MODE;/path" 1386 | ; 1387 | ; where MODE is the octal representation of the mode. Note that this 1388 | ; does not overwrite the process's umask. 1389 | ; http://php.net/session.save-path 1390 | ;session.save_path = "/tmp" 1391 | 1392 | ; Whether to use strict session mode. 1393 | ; Strict session mode does not accept uninitialized session ID and regenerate 1394 | ; session ID if browser sends uninitialized session ID. Strict mode protects 1395 | ; applications from session fixation via session adoption vulnerability. It is 1396 | ; disabled by default for maximum compatibility, but enabling it is encouraged. 1397 | ; https://wiki.php.net/rfc/strict_sessions 1398 | session.use_strict_mode = 0 1399 | 1400 | ; Whether to use cookies. 1401 | ; http://php.net/session.use-cookies 1402 | session.use_cookies = 1 1403 | 1404 | ; http://php.net/session.cookie-secure 1405 | ;session.cookie_secure = 1406 | 1407 | ; This option forces PHP to fetch and use a cookie for storing and maintaining 1408 | ; the session id. We encourage this operation as it's very helpful in combating 1409 | ; session hijacking when not specifying and managing your own session id. It is 1410 | ; not the end all be all of session hijacking defense, but it's a good start. 1411 | ; http://php.net/session.use-only-cookies 1412 | session.use_only_cookies = 1 1413 | 1414 | ; Name of the session (used as cookie name). 1415 | ; http://php.net/session.name 1416 | session.name = PHPSESSID 1417 | 1418 | ; Initialize session on request startup. 1419 | ; http://php.net/session.auto-start 1420 | session.auto_start = 0 1421 | 1422 | ; Lifetime in seconds of cookie or, if 0, until browser is restarted. 1423 | ; http://php.net/session.cookie-lifetime 1424 | session.cookie_lifetime = 0 1425 | 1426 | ; The path for which the cookie is valid. 1427 | ; http://php.net/session.cookie-path 1428 | session.cookie_path = / 1429 | 1430 | ; The domain for which the cookie is valid. 1431 | ; http://php.net/session.cookie-domain 1432 | session.cookie_domain = 1433 | 1434 | ; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. 1435 | ; http://php.net/session.cookie-httponly 1436 | session.cookie_httponly = 1437 | 1438 | ; Handler used to serialize data. php is the standard serializer of PHP. 1439 | ; http://php.net/session.serialize-handler 1440 | session.serialize_handler = php 1441 | 1442 | ; Defines the probability that the 'garbage collection' process is started 1443 | ; on every session initialization. The probability is calculated by using 1444 | ; gc_probability/gc_divisor. Where session.gc_probability is the numerator 1445 | ; and gc_divisor is the denominator in the equation. Setting this value to 1 1446 | ; when the session.gc_divisor value is 100 will give you approximately a 1% chance 1447 | ; the gc will run on any give request. 1448 | ; Default Value: 1 1449 | ; Development Value: 1 1450 | ; Production Value: 1 1451 | ; http://php.net/session.gc-probability 1452 | session.gc_probability = 1 1453 | 1454 | ; Defines the probability that the 'garbage collection' process is started on every 1455 | ; session initialization. The probability is calculated by using the following equation: 1456 | ; gc_probability/gc_divisor. Where session.gc_probability is the numerator and 1457 | ; session.gc_divisor is the denominator in the equation. Setting this value to 1 1458 | ; when the session.gc_divisor value is 100 will give you approximately a 1% chance 1459 | ; the gc will run on any give request. Increasing this value to 1000 will give you 1460 | ; a 0.1% chance the gc will run on any give request. For high volume production servers, 1461 | ; this is a more efficient approach. 1462 | ; Default Value: 100 1463 | ; Development Value: 1000 1464 | ; Production Value: 1000 1465 | ; http://php.net/session.gc-divisor 1466 | session.gc_divisor = 1000 1467 | 1468 | ; After this number of seconds, stored data will be seen as 'garbage' and 1469 | ; cleaned up by the garbage collection process. 1470 | ; http://php.net/session.gc-maxlifetime 1471 | session.gc_maxlifetime = 1440 1472 | 1473 | ; NOTE: If you are using the subdirectory option for storing session files 1474 | ; (see session.save_path above), then garbage collection does *not* 1475 | ; happen automatically. You will need to do your own garbage 1476 | ; collection through a shell script, cron entry, or some other method. 1477 | ; For example, the following script would is the equivalent of 1478 | ; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): 1479 | ; find /path/to/sessions -cmin +24 -type f | xargs rm 1480 | 1481 | ; Check HTTP Referer to invalidate externally stored URLs containing ids. 1482 | ; HTTP_REFERER has to contain this substring for the session to be 1483 | ; considered as valid. 1484 | ; http://php.net/session.referer-check 1485 | session.referer_check = 1486 | 1487 | ; How many bytes to read from the file. 1488 | ; http://php.net/session.entropy-length 1489 | ;session.entropy_length = 32 1490 | 1491 | ; Specified here to create the session id. 1492 | ; http://php.net/session.entropy-file 1493 | ; Defaults to /dev/urandom 1494 | ; On systems that don't have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom 1495 | ; If neither are found at compile time, the default is no entropy file. 1496 | ; On windows, setting the entropy_length setting will activate the 1497 | ; Windows random source (using the CryptoAPI) 1498 | ;session.entropy_file = /dev/urandom 1499 | 1500 | ; Set to {nocache,private,public,} to determine HTTP caching aspects 1501 | ; or leave this empty to avoid sending anti-caching headers. 1502 | ; http://php.net/session.cache-limiter 1503 | session.cache_limiter = nocache 1504 | 1505 | ; Document expires after n minutes. 1506 | ; http://php.net/session.cache-expire 1507 | session.cache_expire = 180 1508 | 1509 | ; trans sid support is disabled by default. 1510 | ; Use of trans sid may risk your users security. 1511 | ; Use this option with caution. 1512 | ; - User may send URL contains active session ID 1513 | ; to other person via. email/irc/etc. 1514 | ; - URL that contains active session ID may be stored 1515 | ; in publicly accessible computer. 1516 | ; - User may access your site with the same session ID 1517 | ; always using URL stored in browser's history or bookmarks. 1518 | ; http://php.net/session.use-trans-sid 1519 | session.use_trans_sid = 0 1520 | 1521 | ; Select a hash function for use in generating session ids. 1522 | ; Possible Values 1523 | ; 0 (MD5 128 bits) 1524 | ; 1 (SHA-1 160 bits) 1525 | ; This option may also be set to the name of any hash function supported by 1526 | ; the hash extension. A list of available hashes is returned by the hash_algos() 1527 | ; function. 1528 | ; http://php.net/session.hash-function 1529 | session.hash_function = 0 1530 | 1531 | ; Define how many bits are stored in each character when converting 1532 | ; the binary hash data to something readable. 1533 | ; Possible values: 1534 | ; 4 (4 bits: 0-9, a-f) 1535 | ; 5 (5 bits: 0-9, a-v) 1536 | ; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") 1537 | ; Default Value: 4 1538 | ; Development Value: 5 1539 | ; Production Value: 5 1540 | ; http://php.net/session.hash-bits-per-character 1541 | session.hash_bits_per_character = 5 1542 | 1543 | ; The URL rewriter will look for URLs in a defined set of HTML tags. 1544 | ; form/fieldset are special; if you include them here, the rewriter will 1545 | ; add a hidden field with the info which is otherwise appended 1546 | ; to URLs. If you want XHTML conformity, remove the form entry. 1547 | ; Note that all valid entries require a "=", even if no value follows. 1548 | ; Default Value: "a=href,area=href,frame=src,form=,fieldset=" 1549 | ; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" 1550 | ; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" 1551 | ; http://php.net/url-rewriter.tags 1552 | url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" 1553 | 1554 | ; Enable upload progress tracking in $_SESSION 1555 | ; Default Value: On 1556 | ; Development Value: On 1557 | ; Production Value: On 1558 | ; http://php.net/session.upload-progress.enabled 1559 | ;session.upload_progress.enabled = On 1560 | 1561 | ; Cleanup the progress information as soon as all POST data has been read 1562 | ; (i.e. upload completed). 1563 | ; Default Value: On 1564 | ; Development Value: On 1565 | ; Production Value: On 1566 | ; http://php.net/session.upload-progress.cleanup 1567 | ;session.upload_progress.cleanup = On 1568 | 1569 | ; A prefix used for the upload progress key in $_SESSION 1570 | ; Default Value: "upload_progress_" 1571 | ; Development Value: "upload_progress_" 1572 | ; Production Value: "upload_progress_" 1573 | ; http://php.net/session.upload-progress.prefix 1574 | ;session.upload_progress.prefix = "upload_progress_" 1575 | 1576 | ; The index name (concatenated with the prefix) in $_SESSION 1577 | ; containing the upload progress information 1578 | ; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" 1579 | ; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" 1580 | ; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" 1581 | ; http://php.net/session.upload-progress.name 1582 | ;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" 1583 | 1584 | ; How frequently the upload progress should be updated. 1585 | ; Given either in percentages (per-file), or in bytes 1586 | ; Default Value: "1%" 1587 | ; Development Value: "1%" 1588 | ; Production Value: "1%" 1589 | ; http://php.net/session.upload-progress.freq 1590 | ;session.upload_progress.freq = "1%" 1591 | 1592 | ; The minimum delay between updates, in seconds 1593 | ; Default Value: 1 1594 | ; Development Value: 1 1595 | ; Production Value: 1 1596 | ; http://php.net/session.upload-progress.min-freq 1597 | ;session.upload_progress.min_freq = "1" 1598 | 1599 | [MSSQL] 1600 | ; Allow or prevent persistent links. 1601 | mssql.allow_persistent = On 1602 | 1603 | ; Maximum number of persistent links. -1 means no limit. 1604 | mssql.max_persistent = -1 1605 | 1606 | ; Maximum number of links (persistent+non persistent). -1 means no limit. 1607 | mssql.max_links = -1 1608 | 1609 | ; Minimum error severity to display. 1610 | mssql.min_error_severity = 10 1611 | 1612 | ; Minimum message severity to display. 1613 | mssql.min_message_severity = 10 1614 | 1615 | ; Compatibility mode with old versions of PHP 3.0. 1616 | mssql.compatibility_mode = Off 1617 | 1618 | ; Connect timeout 1619 | ;mssql.connect_timeout = 5 1620 | 1621 | ; Query timeout 1622 | ;mssql.timeout = 60 1623 | 1624 | ; Valid range 0 - 2147483647. Default = 4096. 1625 | ;mssql.textlimit = 4096 1626 | 1627 | ; Valid range 0 - 2147483647. Default = 4096. 1628 | ;mssql.textsize = 4096 1629 | 1630 | ; Limits the number of records in each batch. 0 = all records in one batch. 1631 | ;mssql.batchsize = 0 1632 | 1633 | ; Specify how datetime and datetim4 columns are returned 1634 | ; On => Returns data converted to SQL server settings 1635 | ; Off => Returns values as YYYY-MM-DD hh:mm:ss 1636 | ;mssql.datetimeconvert = On 1637 | 1638 | ; Use NT authentication when connecting to the server 1639 | mssql.secure_connection = Off 1640 | 1641 | ; Specify max number of processes. -1 = library default 1642 | ; msdlib defaults to 25 1643 | ; FreeTDS defaults to 4096 1644 | ;mssql.max_procs = -1 1645 | 1646 | ; Specify client character set. 1647 | ; If empty or not set the client charset from freetds.conf is used 1648 | ; This is only used when compiled with FreeTDS 1649 | ;mssql.charset = "ISO-8859-1" 1650 | 1651 | [Assertion] 1652 | ; Assert(expr); active by default. 1653 | ; http://php.net/assert.active 1654 | ;assert.active = On 1655 | 1656 | ; Issue a PHP warning for each failed assertion. 1657 | ; http://php.net/assert.warning 1658 | ;assert.warning = On 1659 | 1660 | ; Don't bail out by default. 1661 | ; http://php.net/assert.bail 1662 | ;assert.bail = Off 1663 | 1664 | ; User-function to be called if an assertion fails. 1665 | ; http://php.net/assert.callback 1666 | ;assert.callback = 0 1667 | 1668 | ; Eval the expression with current error_reporting(). Set to true if you want 1669 | ; error_reporting(0) around the eval(). 1670 | ; http://php.net/assert.quiet-eval 1671 | ;assert.quiet_eval = 0 1672 | 1673 | [COM] 1674 | ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs 1675 | ; http://php.net/com.typelib-file 1676 | ;com.typelib_file = 1677 | 1678 | ; allow Distributed-COM calls 1679 | ; http://php.net/com.allow-dcom 1680 | ;com.allow_dcom = true 1681 | 1682 | ; autoregister constants of a components typlib on com_load() 1683 | ; http://php.net/com.autoregister-typelib 1684 | ;com.autoregister_typelib = true 1685 | 1686 | ; register constants casesensitive 1687 | ; http://php.net/com.autoregister-casesensitive 1688 | ;com.autoregister_casesensitive = false 1689 | 1690 | ; show warnings on duplicate constant registrations 1691 | ; http://php.net/com.autoregister-verbose 1692 | ;com.autoregister_verbose = true 1693 | 1694 | ; The default character set code-page to use when passing strings to and from COM objects. 1695 | ; Default: system ANSI code page 1696 | ;com.code_page= 1697 | 1698 | [mbstring] 1699 | ; language for internal character representation. 1700 | ; http://php.net/mbstring.language 1701 | ;mbstring.language = Japanese 1702 | 1703 | ; internal/script encoding. 1704 | ; Some encoding cannot work as internal encoding. 1705 | ; (e.g. SJIS, BIG5, ISO-2022-*) 1706 | ; http://php.net/mbstring.internal-encoding 1707 | ;mbstring.internal_encoding = UTF-8 1708 | 1709 | ; http input encoding. 1710 | ; http://php.net/mbstring.http-input 1711 | ;mbstring.http_input = UTF-8 1712 | 1713 | ; http output encoding. mb_output_handler must be 1714 | ; registered as output buffer to function 1715 | ; http://php.net/mbstring.http-output 1716 | ;mbstring.http_output = pass 1717 | 1718 | ; enable automatic encoding translation according to 1719 | ; mbstring.internal_encoding setting. Input chars are 1720 | ; converted to internal encoding by setting this to On. 1721 | ; Note: Do _not_ use automatic encoding translation for 1722 | ; portable libs/applications. 1723 | ; http://php.net/mbstring.encoding-translation 1724 | ;mbstring.encoding_translation = Off 1725 | 1726 | ; automatic encoding detection order. 1727 | ; auto means 1728 | ; http://php.net/mbstring.detect-order 1729 | ;mbstring.detect_order = auto 1730 | 1731 | ; substitute_character used when character cannot be converted 1732 | ; one from another 1733 | ; http://php.net/mbstring.substitute-character 1734 | ;mbstring.substitute_character = none 1735 | 1736 | ; overload(replace) single byte functions by mbstring functions. 1737 | ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), 1738 | ; etc. Possible values are 0,1,2,4 or combination of them. 1739 | ; For example, 7 for overload everything. 1740 | ; 0: No overload 1741 | ; 1: Overload mail() function 1742 | ; 2: Overload str*() functions 1743 | ; 4: Overload ereg*() functions 1744 | ; http://php.net/mbstring.func-overload 1745 | ;mbstring.func_overload = 0 1746 | 1747 | ; enable strict encoding detection. 1748 | ;mbstring.strict_detection = On 1749 | 1750 | ; This directive specifies the regex pattern of content types for which mb_output_handler() 1751 | ; is activated. 1752 | ; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) 1753 | ;mbstring.http_output_conv_mimetype= 1754 | 1755 | [gd] 1756 | ; Tell the jpeg decode to ignore warnings and try to create 1757 | ; a gd image. The warning will then be displayed as notices 1758 | ; disabled by default 1759 | ; http://php.net/gd.jpeg-ignore-warning 1760 | ;gd.jpeg_ignore_warning = 0 1761 | 1762 | [exif] 1763 | ; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. 1764 | ; With mbstring support this will automatically be converted into the encoding 1765 | ; given by corresponding encode setting. When empty mbstring.internal_encoding 1766 | ; is used. For the decode settings you can distinguish between motorola and 1767 | ; intel byte order. A decode setting cannot be empty. 1768 | ; http://php.net/exif.encode-unicode 1769 | ;exif.encode_unicode = ISO-8859-15 1770 | 1771 | ; http://php.net/exif.decode-unicode-motorola 1772 | ;exif.decode_unicode_motorola = UCS-2BE 1773 | 1774 | ; http://php.net/exif.decode-unicode-intel 1775 | ;exif.decode_unicode_intel = UCS-2LE 1776 | 1777 | ; http://php.net/exif.encode-jis 1778 | ;exif.encode_jis = 1779 | 1780 | ; http://php.net/exif.decode-jis-motorola 1781 | ;exif.decode_jis_motorola = JIS 1782 | 1783 | ; http://php.net/exif.decode-jis-intel 1784 | ;exif.decode_jis_intel = JIS 1785 | 1786 | [Tidy] 1787 | ; The path to a default tidy configuration file to use when using tidy 1788 | ; http://php.net/tidy.default-config 1789 | ;tidy.default_config = /usr/local/lib/php/default.tcfg 1790 | 1791 | ; Should tidy clean and repair output automatically? 1792 | ; WARNING: Do not use this option if you are generating non-html content 1793 | ; such as dynamic images 1794 | ; http://php.net/tidy.clean-output 1795 | tidy.clean_output = Off 1796 | 1797 | [soap] 1798 | ; Enables or disables WSDL caching feature. 1799 | ; http://php.net/soap.wsdl-cache-enabled 1800 | soap.wsdl_cache_enabled=1 1801 | 1802 | ; Sets the directory name where SOAP extension will put cache files. 1803 | ; http://php.net/soap.wsdl-cache-dir 1804 | soap.wsdl_cache_dir="/tmp" 1805 | 1806 | ; (time to live) Sets the number of second while cached file will be used 1807 | ; instead of original one. 1808 | ; http://php.net/soap.wsdl-cache-ttl 1809 | soap.wsdl_cache_ttl=86400 1810 | 1811 | ; Sets the size of the cache limit. (Max. number of WSDL files to cache) 1812 | soap.wsdl_cache_limit = 5 1813 | 1814 | [sysvshm] 1815 | ; A default size of the shared memory segment 1816 | ;sysvshm.init_mem = 10000 1817 | 1818 | [ldap] 1819 | ; Sets the maximum number of open links or -1 for unlimited. 1820 | ldap.max_links = -1 1821 | 1822 | [mcrypt] 1823 | ; For more information about mcrypt settings see http://php.net/mcrypt-module-open 1824 | 1825 | ; Directory where to load mcrypt algorithms 1826 | ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) 1827 | ;mcrypt.algorithms_dir= 1828 | 1829 | ; Directory where to load mcrypt modes 1830 | ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) 1831 | ;mcrypt.modes_dir= 1832 | 1833 | [dba] 1834 | ;dba.default_handler= 1835 | 1836 | [opcache] 1837 | ; Determines if Zend OPCache is enabled 1838 | ;opcache.enable=0 1839 | 1840 | ; Determines if Zend OPCache is enabled for the CLI version of PHP 1841 | ;opcache.enable_cli=0 1842 | 1843 | ; The OPcache shared memory storage size. 1844 | ;opcache.memory_consumption=64 1845 | 1846 | ; The amount of memory for interned strings in Mbytes. 1847 | ;opcache.interned_strings_buffer=4 1848 | 1849 | ; The maximum number of keys (scripts) in the OPcache hash table. 1850 | ; Only numbers between 200 and 100000 are allowed. 1851 | ;opcache.max_accelerated_files=2000 1852 | 1853 | ; The maximum percentage of "wasted" memory until a restart is scheduled. 1854 | ;opcache.max_wasted_percentage=5 1855 | 1856 | ; When this directive is enabled, the OPcache appends the current working 1857 | ; directory to the script key, thus eliminating possible collisions between 1858 | ; files with the same name (basename). Disabling the directive improves 1859 | ; performance, but may break existing applications. 1860 | ;opcache.use_cwd=1 1861 | 1862 | ; When disabled, you must reset the OPcache manually or restart the 1863 | ; webserver for changes to the filesystem to take effect. 1864 | ;opcache.validate_timestamps=1 1865 | 1866 | ; How often (in seconds) to check file timestamps for changes to the shared 1867 | ; memory storage allocation. ("1" means validate once per second, but only 1868 | ; once per request. "0" means always validate) 1869 | ;opcache.revalidate_freq=2 1870 | 1871 | ; Enables or disables file search in include_path optimization 1872 | ;opcache.revalidate_path=0 1873 | 1874 | ; If disabled, all PHPDoc comments are dropped from the code to reduce the 1875 | ; size of the optimized code. 1876 | ;opcache.save_comments=1 1877 | 1878 | ; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments" 1879 | ; may be always stored (save_comments=1), but not loaded by applications 1880 | ; that don't need them anyway. 1881 | ;opcache.load_comments=1 1882 | 1883 | ; If enabled, a fast shutdown sequence is used for the accelerated code 1884 | ;opcache.fast_shutdown=0 1885 | 1886 | ; Allow file existence override (file_exists, etc.) performance feature. 1887 | ;opcache.enable_file_override=0 1888 | 1889 | ; A bitmask, where each bit enables or disables the appropriate OPcache 1890 | ; passes 1891 | ;opcache.optimization_level=0xffffffff 1892 | 1893 | ;opcache.inherited_hack=1 1894 | ;opcache.dups_fix=0 1895 | 1896 | ; Allows exclusion of large files from being cached. By default all files 1897 | ; are cached. 1898 | ;opcache.max_file_size=0 1899 | 1900 | ; Check the cache checksum each N requests. 1901 | ; The default value of "0" means that the checks are disabled. 1902 | ;opcache.consistency_checks=0 1903 | 1904 | ; How long to wait (in seconds) for a scheduled restart to begin if the cache 1905 | ; is not being accessed. 1906 | ;opcache.force_restart_timeout=180 1907 | 1908 | ; OPcache error_log file name. Empty string assumes "stderr". 1909 | ;opcache.error_log= 1910 | 1911 | ; All OPcache errors go to the Web server log. 1912 | ; By default, only fatal errors (level 0) or errors (level 1) are logged. 1913 | ; You can also enable warnings (level 2), info messages (level 3) or 1914 | ; debug messages (level 4). 1915 | ;opcache.log_verbosity_level=1 1916 | 1917 | ; Preferred Shared Memory back-end. Leave empty and let the system decide. 1918 | ;opcache.preferred_memory_model= 1919 | 1920 | ; Protect the shared memory from unexpected writing during script execution. 1921 | ; Useful for internal debugging only. 1922 | ;opcache.protect_memory=0 1923 | 1924 | [curl] 1925 | ; A default value for the CURLOPT_CAINFO option. This is required to be an 1926 | ; absolute path. 1927 | ;curl.cainfo = 1928 | 1929 | ; Local Variables: 1930 | ; tab-width: 4 1931 | ; End: -------------------------------------------------------------------------------- /examples/example_role/IIS_php/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | PackageFolder: 'C:\Packages' 3 | Vc2012RedistDownloadUri: 'http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe' 4 | phpDownloadUri: 'http://windows.php.net/downloads/releases/php-5.6.6-nts-Win32-VC11-x64.zip' 5 | phpPath: 'C:\php' 6 | phpIniConfigTemplate: 'C:\Program Files\WindowsPowerShell\Modules\xPhp\Samples\PhpConfigTemplate.txt' -------------------------------------------------------------------------------- /examples/example_role/Win_Common/tasks/main.yml: -------------------------------------------------------------------------------- 1 | # tasks file for Win_Wordpress 2 | - name: Make sure the LCM refresh mode is disabled 3 | win_lcm5: 4 | refresh_mode: "Disabled" 5 | tags: 6 | - Config 7 | 8 | - name: Download required Packages 9 | win_oneget: 10 | name: "xPSDesiredStateConfiguration" 11 | tags: 12 | - Oneget -------------------------------------------------------------------------------- /examples/example_role/Win_MySQL/README.md: -------------------------------------------------------------------------------- 1 | Role Name 2 | ========= 3 | 4 | A brief description of the role goes here. 5 | 6 | Requirements 7 | ------------ 8 | 9 | Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required. 10 | 11 | Role Variables 12 | -------------- 13 | 14 | A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well. 15 | 16 | Dependencies 17 | ------------ 18 | 19 | A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles. 20 | 21 | Example Playbook 22 | ---------------- 23 | 24 | Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too: 25 | 26 | - hosts: servers 27 | roles: 28 | - { role: username.rolename, x: 42 } 29 | 30 | License 31 | ------- 32 | 33 | BSD 34 | 35 | Author Information 36 | ------------------ 37 | 38 | An optional section for the role authors to include contact information, or a website (HTML is not allowed). 39 | -------------------------------------------------------------------------------- /examples/example_role/Win_MySQL/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for Win_MySQL 3 | -------------------------------------------------------------------------------- /examples/example_role/Win_MySQL/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for Win_MySQL 3 | -------------------------------------------------------------------------------- /examples/example_role/Win_MySQL/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: your name 4 | description: 5 | company: your company (optional) 6 | # Some suggested licenses: 7 | # - BSD (default) 8 | # - MIT 9 | # - GPLv2 10 | # - GPLv3 11 | # - Apache 12 | # - CC-BY 13 | license: license (GPLv2, CC-BY, etc) 14 | min_ansible_version: 1.2 15 | # 16 | # Below are all platforms currently available. Just uncomment 17 | # the ones that apply to your role. If you don't see your 18 | # platform on this list, let us know and we'll get it added! 19 | # 20 | #platforms: 21 | #- name: EL 22 | # versions: 23 | # - all 24 | # - 5 25 | # - 6 26 | # - 7 27 | #- name: GenericUNIX 28 | # versions: 29 | # - all 30 | # - any 31 | #- name: Fedora 32 | # versions: 33 | # - all 34 | # - 16 35 | # - 17 36 | # - 18 37 | # - 19 38 | # - 20 39 | #- name: SmartOS 40 | # versions: 41 | # - all 42 | # - any 43 | #- name: opensuse 44 | # versions: 45 | # - all 46 | # - 12.1 47 | # - 12.2 48 | # - 12.3 49 | # - 13.1 50 | # - 13.2 51 | #- name: Amazon 52 | # versions: 53 | # - all 54 | # - 2013.03 55 | # - 2013.09 56 | #- name: GenericBSD 57 | # versions: 58 | # - all 59 | # - any 60 | #- name: FreeBSD 61 | # versions: 62 | # - all 63 | # - 8.0 64 | # - 8.1 65 | # - 8.2 66 | # - 8.3 67 | # - 8.4 68 | # - 9.0 69 | # - 9.1 70 | # - 9.1 71 | # - 9.2 72 | #- name: Ubuntu 73 | # versions: 74 | # - all 75 | # - lucid 76 | # - maverick 77 | # - natty 78 | # - oneiric 79 | # - precise 80 | # - quantal 81 | # - raring 82 | # - saucy 83 | # - trusty 84 | #- name: SLES 85 | # versions: 86 | # - all 87 | # - 10SP3 88 | # - 10SP4 89 | # - 11 90 | # - 11SP1 91 | # - 11SP2 92 | # - 11SP3 93 | #- name: GenericLinux 94 | # versions: 95 | # - all 96 | # - any 97 | #- name: Debian 98 | # versions: 99 | # - all 100 | # - etch 101 | # - lenny 102 | # - squeeze 103 | # - wheezy 104 | # 105 | # Below are all categories currently available. Just as with 106 | # the platforms above, uncomment those that apply to your role. 107 | # 108 | #categories: 109 | #- cloud 110 | #- cloud:ec2 111 | #- cloud:gce 112 | #- cloud:rax 113 | #- clustering 114 | #- database 115 | #- database:nosql 116 | #- database:sql 117 | #- development 118 | #- monitoring 119 | #- networking 120 | #- packaging 121 | #- system 122 | #- web 123 | dependencies: [] 124 | # List your role dependencies here, one per line. Only 125 | # dependencies available via galaxy should be listed here. 126 | # Be sure to remove the '[]' above if you add dependencies 127 | # to this list. 128 | 129 | -------------------------------------------------------------------------------- /examples/example_role/Win_MySQL/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for Win_MySQL 3 | - name: Download required Packages 4 | win_oneget: 5 | name: "xmysql" 6 | tags: 7 | - Oneget 8 | 9 | - name: Make sure the mySqlServer installer package is present 10 | win_dsc5: 11 | resource_name="Package" 12 | Path="{{ mySqlInstallerUrl }}" 13 | ProductId="{{ mySqlInstallerProductId }}" 14 | item_name="MySQL Installer" 15 | 16 | - name: Make sure the mySqlServer exists with the correct root credential 17 | win_dsc5: 18 | resource_name="xMySqlServer" 19 | ServiceName="MySqlService" 20 | Ensure="Present" 21 | RootPassword_username="mysqladmin" 22 | RootPassword_password="{{ mySqlAdminPassword }}" 23 | 24 | - name: Make sure the MySql WordPress database exists 25 | win_dsc5: 26 | resource_name="xMySqlDatabase" 27 | Ensure="Present" 28 | item_name="{{ wordpress_db_name }}" 29 | ConnectionCredential_username="mysqladmin" 30 | ConnectionCredential_password="{{ mySqlAdminPassword }}" 31 | 32 | - name: Make sure the MySql WordPress user exists 33 | win_dsc5: 34 | resource_name="xMySqlUser" 35 | item_name="wordpressuser" 36 | Ensure="present" 37 | ConnectionCredential_username="mysqladmin" 38 | ConnectionCredential_password="{{ mySqlAdminPassword }}" 39 | Credential_username="{{ wordpress_user_name }}" 40 | Credential_password="{{ wordpress_user_password}}" 41 | 42 | - name: Make sure the MySql WordPress user has access to tho WordPress database 43 | win_dsc5: 44 | resource_name="xMySqlGrant" 45 | username="wordpressuser" 46 | DatabaseName="{{ wordpress_db_name }}" 47 | Ensure="present" 48 | ConnectionCredential_username="mysqladmin" 49 | ConnectionCredential_password="{{ mySqlAdminPassword }}" -------------------------------------------------------------------------------- /examples/example_role/Win_MySQL/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for Win_MySQL 3 | mySqlInstallerUrl: 'http://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-community-5.6.17.0.msi' 4 | mySqlInstallerProductId: '{437AC169-780B-47A9-86F6-14D43C8F596B}' 5 | mySqlAdminPassword: 'MuchoSecrit' 6 | -------------------------------------------------------------------------------- /examples/example_role/Win_Wordpress/README.md: -------------------------------------------------------------------------------- 1 | Role Name 2 | ========= 3 | 4 | A brief description of the role goes here. 5 | 6 | Requirements 7 | ------------ 8 | 9 | Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required. 10 | 11 | Role Variables 12 | -------------- 13 | 14 | A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well. 15 | 16 | Dependencies 17 | ------------ 18 | 19 | A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles. 20 | 21 | Example Playbook 22 | ---------------- 23 | 24 | Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too: 25 | 26 | - hosts: servers 27 | roles: 28 | - { role: username.rolename, x: 42 } 29 | 30 | License 31 | ------- 32 | 33 | BSD 34 | 35 | Author Information 36 | ------------------ 37 | 38 | An optional section for the role authors to include contact information, or a website (HTML is not allowed). 39 | -------------------------------------------------------------------------------- /examples/example_role/Win_Wordpress/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for Win_Wordpress 3 | -------------------------------------------------------------------------------- /examples/example_role/Win_Wordpress/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for Win_Wordpress 3 | -------------------------------------------------------------------------------- /examples/example_role/Win_Wordpress/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: your name 4 | description: 5 | company: your company (optional) 6 | # Some suggested licenses: 7 | # - BSD (default) 8 | # - MIT 9 | # - GPLv2 10 | # - GPLv3 11 | # - Apache 12 | # - CC-BY 13 | license: license (GPLv2, CC-BY, etc) 14 | min_ansible_version: 1.2 15 | # 16 | # Below are all platforms currently available. Just uncomment 17 | # the ones that apply to your role. If you don't see your 18 | # platform on this list, let us know and we'll get it added! 19 | # 20 | #platforms: 21 | #- name: EL 22 | # versions: 23 | # - all 24 | # - 5 25 | # - 6 26 | # - 7 27 | #- name: GenericUNIX 28 | # versions: 29 | # - all 30 | # - any 31 | #- name: Fedora 32 | # versions: 33 | # - all 34 | # - 16 35 | # - 17 36 | # - 18 37 | # - 19 38 | # - 20 39 | #- name: SmartOS 40 | # versions: 41 | # - all 42 | # - any 43 | #- name: opensuse 44 | # versions: 45 | # - all 46 | # - 12.1 47 | # - 12.2 48 | # - 12.3 49 | # - 13.1 50 | # - 13.2 51 | #- name: Amazon 52 | # versions: 53 | # - all 54 | # - 2013.03 55 | # - 2013.09 56 | #- name: GenericBSD 57 | # versions: 58 | # - all 59 | # - any 60 | #- name: FreeBSD 61 | # versions: 62 | # - all 63 | # - 8.0 64 | # - 8.1 65 | # - 8.2 66 | # - 8.3 67 | # - 8.4 68 | # - 9.0 69 | # - 9.1 70 | # - 9.1 71 | # - 9.2 72 | #- name: Ubuntu 73 | # versions: 74 | # - all 75 | # - lucid 76 | # - maverick 77 | # - natty 78 | # - oneiric 79 | # - precise 80 | # - quantal 81 | # - raring 82 | # - saucy 83 | # - trusty 84 | #- name: SLES 85 | # versions: 86 | # - all 87 | # - 10SP3 88 | # - 10SP4 89 | # - 11 90 | # - 11SP1 91 | # - 11SP2 92 | # - 11SP3 93 | #- name: GenericLinux 94 | # versions: 95 | # - all 96 | # - any 97 | #- name: Debian 98 | # versions: 99 | # - all 100 | # - etch 101 | # - lenny 102 | # - squeeze 103 | # - wheezy 104 | # 105 | # Below are all categories currently available. Just as with 106 | # the platforms above, uncomment those that apply to your role. 107 | # 108 | #categories: 109 | #- cloud 110 | #- cloud:ec2 111 | #- cloud:gce 112 | #- cloud:rax 113 | #- clustering 114 | #- database 115 | #- database:nosql 116 | #- database:sql 117 | #- development 118 | #- monitoring 119 | #- networking 120 | #- packaging 121 | #- system 122 | #- web 123 | dependencies: [] 124 | # List your role dependencies here, one per line. Only 125 | # dependencies available via galaxy should be listed here. 126 | # Be sure to remove the '[]' above if you add dependencies 127 | # to this list. 128 | 129 | -------------------------------------------------------------------------------- /examples/example_role/Win_Wordpress/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for Win_Wordpress 3 | - name: Download required Packages 4 | win_oneget: 5 | name: "xWordpress" 6 | tags: 7 | - Oneget 8 | - name: Make sure the WordPress site folder is present 9 | win_dsc5: 10 | resource_name="file" 11 | Ensure="Present" 12 | Type="Directory" 13 | DestinationPath={{ WordPressPath }} 14 | tags: 15 | - Filesystem 16 | 17 | - name: Remove default web site 18 | win_dsc5: 19 | resource_name="xWebSite" 20 | item_name="Default Web Site" 21 | Ensure="Absent" 22 | PhysicalPath="C:\inetput\wwwroot" 23 | 24 | - name: Make sure the WordPress Iis site is present 25 | win_dsc5: 26 | resource_name="xWebSite" 27 | item_name="WordPress" 28 | Ensure="Present" 29 | State="Started" 30 | DefaultPage="index.php" 31 | ApplicationPool="DefaultAppPool" 32 | PhysicalPath={{ WordPressPath }} 33 | tags: 34 | - WordPress 35 | 36 | - name: Make sure the WordPress archive is in the package folder 37 | win_dsc5: 38 | resource_name="xRemoteFile" 39 | Uri="http://WordPress.org/latest.zip" 40 | DestinationPath="{{ PackagesPath }}\wordpress.zip" 41 | tags: 42 | - WordPress 43 | 44 | - name: Make sure wordpress file is in the root WP Directory 45 | win_dsc5: 46 | resource_name="xArchive" 47 | Path="{{ PackagesPath }}\wordpress.zip" 48 | Destination={{ WordPressPath }} 49 | tags: 50 | - WordPress 51 | 52 | 53 | # - name: Test that we have a responding webservice 54 | # win_get_url: 55 | # url: 'http://{{ ansible_hostname }}/wordpress/wp-admin/setup-config.php' 56 | # dest: 'C:\Temp\testfile.txt' -------------------------------------------------------------------------------- /examples/example_role/Win_Wordpress/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | WordPressPath: 'C:\WordPress' 3 | PackagesPath: 'C:\Packages' 4 | -------------------------------------------------------------------------------- /examples/example_role/group_vars/all.yml: -------------------------------------------------------------------------------- 1 | wordpress_db_name: 'WordpressDB' 2 | wordpress_user_name: 'wordpressuser' 3 | wordpress_user_password: 'NotSoSecrit' -------------------------------------------------------------------------------- /examples/example_role/site.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: PHP, MySQL, Wordpress 3 | hosts: windows 4 | 5 | roles: 6 | - Win_Common 7 | - IIS_php 8 | - Win_MySQL 9 | - Win_Wordpress -------------------------------------------------------------------------------- /examples/examples.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: windows 3 | tasks: 4 | - name: Unpack my file 5 | win_dsc: 6 | resource_name="archive" 7 | ensure="Present" 8 | path="C:\Temp\zipfile.zip" 9 | destination="C:\Temp\Temp2" 10 | 11 | - name: Unpack my file 12 | win_dsc: 13 | resource_name="archive" 14 | ensure="Present" 15 | path="C:\Temp\zipfile.zip" 16 | destination="C:\Temp\{{ ansible_hostname }}" 17 | 18 | - name: Configure IIS/Telnet Client 19 | win_dsc: 20 | resource_name='WindowsFeature' 21 | ensure='Present' 22 | item_name="Web-server" -------------------------------------------------------------------------------- /win_dsc5.ps1: -------------------------------------------------------------------------------- 1 | #!powershell 2 | # (c) 2015, Trond Hindenes , and others 3 | # 4 | # This file is part of Ansible 5 | # 6 | # Ansible is free software: you can redistribute it and/or modify 7 | # it under the terms of the GNU General Public License as published by 8 | # the Free Software Foundation, either version 3 of the License, or 9 | # (at your option) any later version. 10 | # 11 | # Ansible is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | # GNU General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU General Public License 17 | # along with Ansible. If not, see . 18 | 19 | # WANT_JSON 20 | # POWERSHELL_COMMON 21 | 22 | #Temporary fix 23 | Set-StrictMode -Off 24 | 25 | $params = Parse-Args $args -supports_check_mode $true 26 | $result = New-Object psobject; 27 | Set-Attr $result "changed" $false; 28 | 29 | $CheckMode = $False 30 | $CheckFlag = $params.psobject.Properties | where {$_.Name -eq "_ansible_check_mode"} 31 | if ($CheckFlag) 32 | { 33 | if (($CheckFlag.Value) -eq $True) 34 | { 35 | $CheckMode = $True 36 | } 37 | 38 | } 39 | 40 | $resourcename = Get-Attr -obj $params -name resource_name -failifempty $true -resultobj $result 41 | 42 | #On Ansible 2.3 Devel params is now a Hash Array 43 | $Attributes = $params.GetEnumerator() | where {$_.key -ne "resource_name"} | where {$_.key -notlike "_ansible_*"} 44 | 45 | 46 | if (!($Attributes)) 47 | { 48 | Fail-Json -obj $result -message "No attributes specified" 49 | } 50 | 51 | #Always return the name 52 | set-attr -obj $result -name "resource_name" -value $resourcename 53 | set-attr -obj $result -name "Attributes" -value $Attributes 54 | 55 | # Build Attributes Hashtable for DSC Resource Propertys 56 | $Attrib = @{} 57 | foreach ($key in $Attributes) 58 | { 59 | set-attr -obj $result -name $key.name -value $key.value 60 | $Attrib.Add($Key.Key,$Key.Value) 61 | } 62 | Set-Attr -obj $result -name DSCAttributes = -value $Attrib 63 | 64 | <# 65 | $params.Keys | foreach-object { 66 | $Attrib.Add($_,$params.Item($_)) 67 | set-attr -obj $result -name $_ -value $params.Item($_) 68 | } 69 | #> 70 | 71 | $Config = @{ 72 | Name = ($resourcename) 73 | Property = @{ 74 | } 75 | } 76 | 77 | 78 | $Resource = Get-DscResource -Name $resourcename -ErrorAction SilentlyContinue 79 | if (!$Resource) 80 | { 81 | Fail-Json -obj $result -message "Resource $resourcename not found" 82 | } 83 | 84 | #Get the Module that provides the resource. Will be used as 85 | #mandatory argument for Invoke-DscResource 86 | $Module = $Resource.ModuleName 87 | if (@($Module).Count -gt 1) { 88 | Fail-Json -obj $result -message "Multiple DSC modules found with resource name [$($resourcename)]" 89 | } 90 | 91 | #Convert params to correct datatype and inject 92 | #Convert params to correct datatype and inject 93 | $attrib.Keys | foreach-object { 94 | $Key = $_.replace("item_name", "name") 95 | $prop = $resource.Properties | where {$_.Name -eq $key} 96 | if (!$prop) 97 | { 98 | #If its a credential specified as "credential", Ansible will support credential_username and credential_password. Need to check for that 99 | $prop = $resource.Properties | where {$_.Name -eq $key.Replace("_username","")} 100 | if ($prop) 101 | { 102 | #We need to construct a cred object. At this point keyvalue is the username, so grab the password 103 | $PropUserNameValue = $attrib.Item($_) 104 | $PropPassword = $key.Replace("_username","_password") 105 | $PropPasswordValue = $attrib.$PropPassword 106 | 107 | $cred = New-Object System.Management.Automation.PSCredential ($PropUserNameValue, ($PropPasswordValue | ConvertTo-SecureString -AsPlainText -Force)) 108 | [System.Management.Automation.PSCredential]$KeyValue = $cred 109 | $config.Property.Add($key.Replace("_username",""),$KeyValue) 110 | } 111 | ElseIf ($key.Contains("_password")) 112 | { 113 | #Do nothing. We suck in the password in the handler for _username, so we can just skip it. 114 | } 115 | Else 116 | { 117 | Fail-Json -obj $result -message "Property $key in resource $resourcename is not a valid property" 118 | } 119 | 120 | } 121 | ElseIf ($prop.PropertyType -eq "[string]") 122 | { 123 | [String]$KeyValue = $attrib.Item($_) 124 | $config.Property.Add($key,$KeyValue) 125 | } 126 | ElseIf ($prop.PropertyType -eq "[string[]]") 127 | { 128 | #KeyValue is an array of strings 129 | [String]$TempKeyValue = $attrib.Item($_) 130 | [String[]]$KeyValue = $TempKeyValue.Split(",").Trim() 131 | 132 | $config.Property.Add($key,$KeyValue) 133 | } 134 | ElseIf ($prop.PropertyType -eq "[UInt32[]]") 135 | { 136 | #KeyValue is an array of integers 137 | [String]$TempKeyValue = $attrib.Item($_) 138 | [UInt32[]]$KeyValue = $attrib.Item($_.split(",").Trim()) 139 | $config.Property.Add($key,$KeyValue) 140 | } 141 | ElseIf ($prop.PropertyType -eq "[bool]") 142 | { 143 | if ($attrib.Item($_) -like "true") 144 | { 145 | [bool]$KeyValue = $true 146 | } 147 | ElseIf ($attrib.Item($_) -like "false") 148 | { 149 | [bool]$KeyValue = $false 150 | } 151 | $config.Property.Add($key,$KeyValue) 152 | } 153 | ElseIf ($prop.PropertyType -eq "[int]") 154 | { 155 | [int]$KeyValue = $attrib.Item($_) 156 | $config.Property.Add($key,$KeyValue) 157 | } 158 | ElseIf ($prop.PropertyType -eq "[CimInstance[]]") 159 | { 160 | #KeyValue is an array of CimInstance 161 | [CimInstance[]]$KeyVal = @() 162 | [String]$TempKeyValue = $attrib.Item($_) 163 | #Need to split on the string }, because some property values have commas in them 164 | [String[]]$KeyValueStr = $TempKeyValue -split("},") 165 | #Go through each string of properties and create a hash of them 166 | foreach($str in $KeyValueStr) 167 | { 168 | [string[]]$properties = $str.Split("{")[1].Replace("}","").Trim().Split([environment]::NewLine).Trim() 169 | $prph = @{} 170 | foreach($p in $properties) 171 | { 172 | $pArr = $p -split "=" 173 | #if the value can be an int we must convert it to an int 174 | if([bool]($pArr[1] -as [int] -is [int])) 175 | { 176 | $prph.Add($pArr[0].Trim(),$pArr[1].Trim() -as [int]) 177 | } 178 | else 179 | { 180 | $prph.Add($pArr[0].Trim(),$pArr[1].Trim()) 181 | } 182 | } 183 | #create the new CimInstance 184 | $cim = New-CimInstance -ClassName $str.Split("{")[0].Trim() -Property $prph -ClientOnly 185 | #add the new CimInstance to the array 186 | $KeyVal += $cim 187 | } 188 | $config.Property.Add($key,$KeyVal) 189 | } 190 | } 191 | 192 | try 193 | { 194 | $TestResult = Invoke-DscResource @Config -Method Test -ModuleName $Module -ErrorVariable TestError -ErrorAction SilentlyContinue 195 | if ($TestError) 196 | 197 | { 198 | throw ($TestError[0].Exception.Message) 199 | } 200 | ElseIf (($testResult.InDesiredState) -ne $true) 201 | { 202 | if ($CheckMode -eq $False) 203 | { 204 | Invoke-DscResource -Method Set @Config -ModuleName $Module -ErrorVariable SetError -ErrorAction SilentlyContinue 205 | } 206 | 207 | 208 | 209 | Set-Attr $result "changed" $true 210 | if ($SetError) 211 | { 212 | throw ($SetError[0].Exception.Message) 213 | } 214 | 215 | } 216 | 217 | } 218 | Catch 219 | { 220 | Fail-Json -obj $result -message $_[0].Exception.Message 221 | } 222 | 223 | 224 | #set-attr -obj $result -name "property" -value $property 225 | Exit-Json -obj $result 226 | -------------------------------------------------------------------------------- /win_dsc5.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | 4 | # (c) 2015, Trond Hindenes , and others 5 | # 6 | # This file is part of Ansible 7 | # 8 | # Ansible is free software: you can redistribute it and/or modify 9 | # it under the terms of the GNU General Public License as published by 10 | # the Free Software Foundation, either version 3 of the License, or 11 | # (at your option) any later version. 12 | # 13 | # Ansible is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | # GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with Ansible. If not, see . 20 | 21 | # this is a windows documentation stub. actual code lives in the .ps1 22 | # file of the same name 23 | 24 | DOCUMENTATION = ''' 25 | --- 26 | module: win_dsc5 27 | version_added: "1.8" 28 | short_description: Invokes a PowerShell DSC configuration 29 | description: | 30 | Invokes a PowerShell DSC Configuration. Requires PowerShell version 5 (February release or newer). Note that most of the parameters are dynamic and will vary 31 | depending on the DSC Resource. If the DSC resource takes a parameter named "Name", use the parameter "item_name" in Ansible to represent it. 32 | Also note that credentials are handled as follows: If the resource accepts a credential type property called "cred", the ansible parameters would be cred_username and cred_password. 33 | These will be used to inject a credential object on the fly for the DSC resource. 34 | options: 35 | resource_name: 36 | description: 37 | - The DSC Resource to use. Must be accessible to PowerShell using any of the default paths. 38 | required: true 39 | default: null 40 | aliases: [] 41 | author: Trond Hindenes 42 | ''' 43 | 44 | EXAMPLES = ''' 45 | # Playbook example 46 | - name: Extract zip file 47 | win_dsc5: 48 | resource_name="archive" 49 | ensure="Present" 50 | path="C:\Temp\zipfile.zip" 51 | destination="C:\Temp\Temp2" 52 | ''' 53 | -------------------------------------------------------------------------------- /win_lcm5.ps1: -------------------------------------------------------------------------------- 1 | #!powershell 2 | # (c) 2015, Trond Hindenes , and others 3 | # 4 | # This file is part of Ansible 5 | # 6 | # Ansible is free software: you can redistribute it and/or modify 7 | # it under the terms of the GNU General Public License as published by 8 | # the Free Software Foundation, either version 3 of the License, or 9 | # (at your option) any later version. 10 | # 11 | # Ansible is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | # GNU General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU General Public License 17 | # along with Ansible. If not, see . 18 | 19 | # WANT_JSON 20 | # POWERSHELL_COMMON 21 | 22 | #Temporary fix 23 | Set-StrictMode -Off 24 | 25 | $params = Parse-Args $args; 26 | $result = New-Object psobject; 27 | Set-Attr $result "changed" $false; 28 | 29 | 30 | $RefreshMode = Get-Attr -obj $params -name refresh_mode -failifempty $true -resultobj $result 31 | 32 | If (($RefreshMode -ne 'Disabled') -and ($RefreshMode -ne 'Push') -and ($RefreshMode -ne 'Pull')) { 33 | Fail-Json $result "refresh_mode is '$RefreshMode'; must be 'Push', 'Pull' or 'Disabled'" 34 | } 35 | 36 | $CurrentRefreshMode = Get-DscLocalConfigurationManager | select -ExpandProperty Refreshmode 37 | 38 | if ($CurrentRefreshMode -eq $RefreshMode) 39 | { 40 | #our work here is done 41 | Exit-Json -obj $result 42 | } 43 | Else 44 | { 45 | 46 | [DscLocalConfigurationManager()] 47 | Configuration Meta { 48 | Settings { 49 | RefreshMode = $RefreshMode 50 | } 51 | } 52 | try 53 | { 54 | meta 55 | Set-DscLocalConfigurationManager -Path .\Meta -ErrorAction Stop -ErrorVariable lcmerror 56 | 57 | } 58 | Catch 59 | { 60 | } 61 | 62 | } 63 | 64 | #Reread the setting 65 | $CurrentRefreshMode = Get-DscLocalConfigurationManager | select -ExpandProperty Refreshmode 66 | 67 | if ($CurrentRefreshMode -eq $RefreshMode) 68 | { 69 | #our work here is done 70 | Set-Attr $result "changed" $true; 71 | set-attr -obj $result -name "refresh_mode" -value $RefreshMode 72 | Exit-Json -obj $result 73 | } 74 | 75 | -------------------------------------------------------------------------------- /win_lcm5.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | 4 | # (c) 2015, Trond Hindenes , and others 5 | # 6 | # This file is part of Ansible 7 | # 8 | # Ansible is free software: you can redistribute it and/or modify 9 | # it under the terms of the GNU General Public License as published by 10 | # the Free Software Foundation, either version 3 of the License, or 11 | # (at your option) any later version. 12 | # 13 | # Ansible is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | # GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with Ansible. If not, see . 20 | 21 | # this is a windows documentation stub. actual code lives in the .ps1 22 | # file of the same name 23 | 24 | DOCUMENTATION = ''' 25 | --- 26 | module: win_lcm5 27 | version_added: "1.8" 28 | short_description: Sets the PowerShell v5 Local Configuration Manager mode 29 | description: Sets the PowerShell v5 Local Configuration Manager mode 30 | options: 31 | refresh_mode: 32 | description: 33 | - The desired refresh mode. Valid options are "Disabled", "Push", "Pull" 34 | required: true 35 | default: null 36 | aliases: [] 37 | 38 | author: Trond Hindenes 39 | ''' 40 | 41 | EXAMPLES = ''' 42 | # Playbook example 43 | - name: Set LCM refresh mode to disabled 44 | win_lcm5: 45 | refresh_mode="Disabled" 46 | ''' 47 | 48 | -------------------------------------------------------------------------------- /win_oneget.ps1: -------------------------------------------------------------------------------- 1 | #!powershell 2 | # (c) 2015, Trond Hindenes , and others 3 | # 4 | # This file is part of Ansible 5 | # 6 | # Ansible is free software: you can redistribute it and/or modify 7 | # it under the terms of the GNU General Public License as published by 8 | # the Free Software Foundation, either version 3 of the License, or 9 | # (at your option) any later version. 10 | # 11 | # Ansible is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | # GNU General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU General Public License 17 | # along with Ansible. If not, see . 18 | 19 | # WANT_JSON 20 | # POWERSHELL_COMMON 21 | 22 | #Temporary fix 23 | Set-StrictMode -Off 24 | 25 | $params = Parse-Args $args; 26 | $result = New-Object psobject; 27 | Set-Attr $result "changed" $false; 28 | 29 | 30 | $PackageName = Get-Attr -obj $params -name name -failifempty $true -resultobj $result 31 | $Force = Get-Attr -obj $params -name force 32 | $Ensure = Get-Attr -obj $params -name Ensure 33 | $Source = Get-Attr -obj $params -name source 34 | if (!($force)) {$force = $false} 35 | if (!($Ensure)) {$Ensure = "Present"} 36 | 37 | $HasFails = $false 38 | 39 | 40 | $Packages = $Packagename.Split(",") 41 | foreach ($package in $packages) 42 | { 43 | $package = get-package -name $PackageName -errorAction silentlyContinue 44 | if ((!$Package) -and ($ensure -eq "Present")) 45 | { 46 | if ($Source) 47 | { 48 | $FindPackage = find-package -name $packagename -source $Source -errorAction SilentlyContinue -ForceBootstrap 49 | } 50 | else 51 | { 52 | $FindPackage = find-package -name $packagename -errorAction SilentlyContinue -ForceBootstrap 53 | } 54 | 55 | if (!($FindPackage)) 56 | { 57 | Fail-Json -obj $result -message "Could not find package $package" 58 | } 59 | 60 | if ($Source) { 61 | Install-Package $PackageName -Source $Source -ForceBootstrap -Force 62 | } 63 | else 64 | { 65 | Install-Package $PackageName -ForceBootstrap -Force 66 | } 67 | 68 | Set-Attr $result "changed" $true; 69 | 70 | } 71 | 72 | 73 | } 74 | 75 | Exit-Json -obj $result 76 | -------------------------------------------------------------------------------- /win_oneget.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | 4 | # (c) 2015, Trond Hindenes , and others 5 | # 6 | # This file is part of Ansible 7 | # 8 | # Ansible is free software: you can redistribute it and/or modify 9 | # it under the terms of the GNU General Public License as published by 10 | # the Free Software Foundation, either version 3 of the License, or 11 | # (at your option) any later version. 12 | # 13 | # Ansible is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | # GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with Ansible. If not, see . 20 | 21 | # this is a windows documentation stub. actual code lives in the .ps1 22 | # file of the same name 23 | 24 | DOCUMENTATION = ''' 25 | --- 26 | module: win_oneget 27 | version_added: "1.8" 28 | short_description: Install packages using the OneGet package manager 29 | description: Install packages using the OneGet package manager 30 | 31 | options: 32 | name: 33 | description: 34 | - Name of the package to install 35 | required: true 36 | default: null 37 | aliases: [] 38 | 39 | author: Trond Hindenes 40 | ''' 41 | 42 | EXAMPLES = ''' 43 | # Playbook example 44 | - name: Install Chocolatey 45 | win_oneget: 46 | name: "Chocolatey" 47 | ''' 48 | 49 | -------------------------------------------------------------------------------- /win_oneget_source.ps1: -------------------------------------------------------------------------------- 1 | #!powershell 2 | # (c) 2015, Tal Auslander , and others 3 | # 4 | # This file is part of Ansible 5 | # 6 | # Ansible is free software: you can redistribute it and/or modify 7 | # it under the terms of the GNU General Public License as published by 8 | # the Free Software Foundation, either version 3 of the License, or 9 | # (at your option) any later version. 10 | # 11 | # Ansible is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | # GNU General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU General Public License 17 | # along with Ansible. If not, see . 18 | 19 | # WANT_JSON 20 | # POWERSHELL_COMMON 21 | 22 | #Temporary fix 23 | Set-StrictMode -Off 24 | 25 | $params = Parse-Args $args; 26 | $result = New-Object psobject; 27 | Set-Attr $result "changed" $false; 28 | 29 | $Name = Get-Attr -obj $params -name name -failifempty $true -resultobj $result 30 | $Provider = Get-Attr -obj $params -name provider -failifempty $true -resultobj $result 31 | $Location = Get-Attr -obj $params -name location -failifempty $true -resultobj $result 32 | 33 | $packageSource = Get-PackageSource $Name -errorAction silentlyContinue 34 | 35 | if ($packageSource -And (($packageSource.Provider.Name -ne $Provider) -Or ($packageSource.Location -cne $Location))) { 36 | Unregister-PackageSource $Name 37 | $packageSource = $false 38 | } 39 | 40 | if (!$packageSource) 41 | { 42 | Register-PackageSource -Name $Name -Provider $Provider -Trusted -Location $Location 43 | Set-Attr $result "changed" $true; 44 | } 45 | 46 | Exit-Json -obj $result 47 | -------------------------------------------------------------------------------- /win_oneget_source.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | 4 | # (c) 2015, Tal Auslander , and others 5 | # 6 | # This file is part of Ansible 7 | # 8 | # Ansible is free software: you can redistribute it and/or modify 9 | # it under the terms of the GNU General Public License as published by 10 | # the Free Software Foundation, either version 3 of the License, or 11 | # (at your option) any later version. 12 | # 13 | # Ansible is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | # GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License 19 | # along with Ansible. If not, see . 20 | 21 | # this is a windows documentation stub. actual code lives in the .ps1 22 | # file of the same name 23 | 24 | DOCUMENTATION = ''' 25 | --- 26 | module: win_oneget_source 27 | version_added: "1.9" 28 | short_description: Add a package source to the OneGet package manager 29 | description: Add a package source to the OneGet package manager 30 | 31 | options: 32 | name: 33 | description: 34 | - The desired package source name 35 | required: true 36 | default: null 37 | aliases: [] 38 | provider: 39 | description: 40 | - The provider name for the new package source 41 | required: true 42 | default: null 43 | aliases: [] 44 | location: 45 | description: 46 | - The location of the new package source 47 | required: true 48 | default: null 49 | aliases: [] 50 | author: Tal Auslander 51 | ''' 52 | 53 | EXAMPLES = ''' 54 | # Playbook example 55 | - name: Add cloudshare-staging package source 56 | win_oneget_source: 57 | name: "aspnetrelease" 58 | provider: "NuGet" 59 | location: "https://www.myget.org/F/aspnetrelease" 60 | ''' 61 | --------------------------------------------------------------------------------