diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..30bc162 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/node_modules \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..cd853d2 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2170 @@ +{ + "name": "ELECTRON4PHP", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "ELECTRON4PHP", + "version": "1.0.0", + "license": "CC0-1.0", + "dependencies": { + "php-server-manager": "^1.2.1" + }, + "devDependencies": { + "electron": "^1.7.12", + "electron-packager": "^11.0.1" + } + }, + "node_modules/@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/asar": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/asar/-/asar-0.14.6.tgz", + "integrity": "sha512-ZqybKcdO5At6y3ge2RHxVImc6Eltb2t3sxT7lk4T4zjZBSFUuIGCIZY6f41dCjlvJSizN5QPRr8YTgMhpgBjLg==", + "deprecated": "Please use @electron/asar moving forward. There is no API change, just a package name change", + "dev": true, + "dependencies": { + "chromium-pickle-js": "^0.2.0", + "commander": "^2.9.0", + "cuint": "^0.2.1", + "glob": "^6.0.4", + "minimatch": "^3.0.3", + "mkdirp": "^0.5.0", + "mksnapshot": "^0.3.4", + "tmp": "0.0.28" + }, + "bin": { + "asar": "bin/asar.js" + }, + "engines": { + "node": ">=4.6" + } + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/author-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/author-regex/-/author-regex-1.0.0.tgz", + "integrity": "sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz", + "integrity": "sha512-hURVuTTGLOppKhjSe9lZy4NCjnvaIAF/juwazv4WtHwsk5rxKrU1WbxN+XtwKDSvkrNbIIaTBQd9wUsSwruZUg==", + "dev": true + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/binary": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "integrity": "sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==", + "dev": true, + "dependencies": { + "buffers": "~0.1.1", + "chainsaw": "~0.1.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "dev": true + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/buffers": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "integrity": "sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==", + "dev": true, + "engines": { + "node": ">=0.2.0" + } + }, + "node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "node_modules/chainsaw": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "integrity": "sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==", + "dev": true, + "dependencies": { + "traverse": ">=0.3.0 <0.4" + }, + "engines": { + "node": "*" + } + }, + "node_modules/chromium-pickle-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", + "integrity": "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==", + "dev": true + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/compare-version": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", + "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/cuint": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", + "integrity": "sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==", + "dev": true + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decompress-zip": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.3.3.tgz", + "integrity": "sha512-/fy1L4s+4jujqj3kNptWjilFw3E6De8U6XUFvqmh4npN3Vsypm3oT2V0bXcmbBWS+5j5tr4okYaFrOmyZkszEg==", + "dev": true, + "dependencies": { + "binary": "^0.3.0", + "graceful-fs": "^4.1.3", + "mkpath": "^0.1.0", + "nopt": "^3.0.1", + "q": "^1.1.2", + "readable-stream": "^1.1.8", + "touch": "0.0.3" + }, + "bin": { + "decompress-zip": "bin/decompress-zip" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-zip/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/decompress-zip/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/decompress-zip/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/electron": { + "version": "1.8.8", + "resolved": "https://registry.npmjs.org/electron/-/electron-1.8.8.tgz", + "integrity": "sha512-1f9zJehcTTGjrkb06o6ds+gsRq6SYhZJyxOk6zIWjRH8hVy03y/RzUDELzNas71f5vcvXmfGVvyjeEsadDI8tg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@types/node": "^8.0.24", + "electron-download": "^3.0.1", + "extract-zip": "^1.0.3" + }, + "bin": { + "electron": "cli.js" + } + }, + "node_modules/electron-download": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/electron-download/-/electron-download-3.3.0.tgz", + "integrity": "sha512-F/p1+fwr/UAMl6NXp2w6Ke5x5WReguHp6EDm/1tIIqUyXfOW7JezoMoAUNL0ZaKDDCbciydllMwq8qq/f9ks0w==", + "deprecated": "Please use @electron/get moving forward.", + "dev": true, + "dependencies": { + "debug": "^2.2.0", + "fs-extra": "^0.30.0", + "home-path": "^1.0.1", + "minimist": "^1.2.0", + "nugget": "^2.0.0", + "path-exists": "^2.1.0", + "rc": "^1.1.2", + "semver": "^5.3.0", + "sumchecker": "^1.2.0" + }, + "bin": { + "electron-download": "build/cli.js" + } + }, + "node_modules/electron-osx-sign": { + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.17.tgz", + "integrity": "sha512-wUJPmZJQCs1zgdlQgeIpRcvrf7M5/COQaOV68Va1J/SgmWx5KL2otgg+fAae7luw6qz9R8Gvu/Qpe9tAOu/3xQ==", + "deprecated": "Please use @electron/osx-sign moving forward. Be aware the API is slightly different", + "dev": true, + "dependencies": { + "bluebird": "^3.5.0", + "compare-version": "^0.1.2", + "debug": "^2.6.8", + "isbinaryfile": "^3.0.2", + "minimist": "^1.2.0", + "plist": "^3.0.1" + }, + "bin": { + "electron-osx-flat": "bin/electron-osx-flat.js", + "electron-osx-sign": "bin/electron-osx-sign.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/electron-osx-sign/node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/electron-osx-sign/node_modules/plist": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz", + "integrity": "sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==", + "dev": true, + "dependencies": { + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/electron-osx-sign/node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/electron-packager": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-11.2.1.tgz", + "integrity": "sha512-r2x4KMYnbuMdW+7ElCootPc7YiiUHT2FwOWnmA79i28VBUexSs2Zv50ORSjJSx2j37KqYduV378/ZnzvCFBALg==", + "dev": true, + "dependencies": { + "asar": "^0.14.0", + "debug": "^3.0.0", + "electron-download": "^4.0.0", + "electron-osx-sign": "^0.4.1", + "extract-zip": "^1.0.3", + "fs-extra": "^5.0.0", + "get-package-info": "^1.0.0", + "mz": "^2.6.0", + "nodeify": "^1.0.1", + "parse-author": "^2.0.0", + "pify": "^3.0.0", + "plist": "^2.0.0", + "pruner": "^0.0.7", + "rcedit": "^1.0.0", + "resolve": "^1.1.6", + "sanitize-filename": "^1.6.0", + "semver": "^5.3.0", + "yargs-parser": "^9.0.2" + }, + "bin": { + "electron-packager": "cli.js" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/electron-packager/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/electron-packager/node_modules/electron-download": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/electron-download/-/electron-download-4.1.1.tgz", + "integrity": "sha512-FjEWG9Jb/ppK/2zToP+U5dds114fM1ZOJqMAR4aXXL5CvyPE9fiqBK/9YcwC9poIFQTEJk/EM/zyRwziziRZrg==", + "deprecated": "Please use @electron/get moving forward.", + "dev": true, + "dependencies": { + "debug": "^3.0.0", + "env-paths": "^1.0.0", + "fs-extra": "^4.0.1", + "minimist": "^1.2.0", + "nugget": "^2.0.1", + "path-exists": "^3.0.0", + "rc": "^1.2.1", + "semver": "^5.4.1", + "sumchecker": "^2.0.2" + }, + "bin": { + "electron-download": "lib/cli.js" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/electron-packager/node_modules/electron-download/node_modules/fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/electron-packager/node_modules/fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/electron-packager/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-packager/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/electron-packager/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/electron-packager/node_modules/sumchecker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-2.0.2.tgz", + "integrity": "sha512-16O54scwFPgX60Of/+QJSufmklGqnHZyBK6uewBvtcp3VxT5RM65c/OnGCeEPnjBF8TJoO5Pf6gHAOXfxIjNpA==", + "dev": true, + "dependencies": { + "debug": "^2.2.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/electron-packager/node_modules/sumchecker/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/electron-packager/node_modules/sumchecker/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/env-paths": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-1.0.0.tgz", + "integrity": "sha512-+6r/UAzikJWJPcQZpBQS+bVmjAMz2BkDP/N4n2Uz1zz8lyw1IHWUeVdh/85gs0dp5A+z76LOQhCZkR6F88mlUw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "dev": true, + "dependencies": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/get-package-info": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-package-info/-/get-package-info-1.0.0.tgz", + "integrity": "sha512-SCbprXGAPdIhKAXiG+Mk6yeoFH61JlYunqdFQFHDtLjJlDjFf6x07dsS8acO+xWt52jpdVo49AlVDnUVK1sDNw==", + "dev": true, + "dependencies": { + "bluebird": "^3.1.1", + "debug": "^2.2.0", + "lodash.get": "^4.0.0", + "read-pkg-up": "^2.0.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==", + "dev": true, + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/home-path": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/home-path/-/home-path-1.0.7.tgz", + "integrity": "sha512-tM1pVa+u3ZqQwIkXcWfhUlY3HWS3TsnKsfi2OHHvnhkX52s9etyktPyy1rQotkr0euWimChDq+QkQuDe8ngUlQ==", + "dev": true + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", + "integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg==", + "dev": true + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isbinaryfile": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", + "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", + "dev": true, + "dependencies": { + "buffer-alloc": "^1.2.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.9" + } + }, + "node_modules/load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/locate-path/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mkpath": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz", + "integrity": "sha512-bauHShmaxVQiEvlrAPWxSPn8spSL8gDVRl11r8vLT4r/KdnknLqtqwQbToZ2Oa8sJkExYY1z6/d+X7pNiqo4yg==", + "dev": true + }, + "node_modules/mksnapshot": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/mksnapshot/-/mksnapshot-0.3.5.tgz", + "integrity": "sha512-PSBoZaj9h9myC3uRRW62RxmX8mrN3XbOkMEyURUD7v5CeJgtYTar50XU738t7Q0LtG1pBPtp5n5QwDGggRnEvw==", + "dev": true, + "dependencies": { + "decompress-zip": "0.3.x", + "fs-extra": "0.26.7", + "request": "2.x" + } + }, + "node_modules/mksnapshot/node_modules/fs-extra": { + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", + "integrity": "sha512-waKu+1KumRhYv8D8gMRCKJGAMI9pRnPuEb1mvgYD0f7wBscg+h6bW4FDTmEZhB9VKxvoTtxW+Y7bnIlB7zja6Q==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nodeify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz", + "integrity": "sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==", + "dev": true, + "dependencies": { + "is-promise": "~1.0.0", + "promise": "~1.3.0" + } + }, + "node_modules/nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/nugget": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nugget/-/nugget-2.2.0.tgz", + "integrity": "sha512-I4Yt4dRPes82Tx/s7qDn8z1cA2pmZy2bOJiTdcb/BZJ1LJkEYd9GqunQD37unPUPjdmW6dkkVZmxN+8Gxt6Xlg==", + "dev": true, + "dependencies": { + "debug": "^2.1.3", + "minimist": "^1.1.0", + "pretty-bytes": "^4.0.2", + "progress-stream": "^1.1.0", + "request": "^2.45.0", + "single-line-log": "^1.1.2", + "throttleit": "0.0.2" + }, + "bin": { + "nugget": "bin.js" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==", + "dev": true + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/parse-author": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-author/-/parse-author-2.0.0.tgz", + "integrity": "sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==", + "dev": true, + "dependencies": { + "author-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dev": true, + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==", + "dev": true, + "dependencies": { + "pify": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-type/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "node_modules/php-server-manager": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/php-server-manager/-/php-server-manager-1.3.3.tgz", + "integrity": "sha512-Qa1429yfMYVg9DMvb3KQbD8FY8q8NljBgnQ9VEh/DUVHagmvNkK8ej9DS94gDdgWvnS5zjtEfNAJMCrpV6NkNw==" + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/plist": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/plist/-/plist-2.1.0.tgz", + "integrity": "sha512-yirJ+8SSb8o7pkfyNv+fTzUP0GbK52HMvh0MjMycCxvpL8rHiAfKhXU/3R5znSJnrGakV0WNZhr8yTR4//PjyA==", + "dev": true, + "dependencies": { + "base64-js": "1.2.0", + "xmlbuilder": "8.2.2", + "xmldom": "0.1.x" + } + }, + "node_modules/pretty-bytes": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", + "integrity": "sha512-yJAF+AjbHKlxQ8eezMd/34Mnj/YTQ3i6kLzvVsH4l/BfIFtp444n0wVbnsn66JimZ9uBofv815aRp1zCppxlWw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/progress-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz", + "integrity": "sha512-MIBPjZz6oGNSw5rn2mSp+nP9FGoaVo6QsPyPVEaD4puilz5hZNa3kfnrlqRNYFsugslbU3An4mnkLLtZOaWvrA==", + "dev": true, + "dependencies": { + "speedometer": "~0.1.2", + "through2": "~0.2.3" + } + }, + "node_modules/promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", + "integrity": "sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==", + "dev": true, + "dependencies": { + "is-promise": "~1" + } + }, + "node_modules/pruner": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/pruner/-/pruner-0.0.7.tgz", + "integrity": "sha512-rCrxj7U1MIb5SKtJfpiXy0/gvv4nxsvdgaowiloEC06Cd/O75DCsIJHzoMJJQPS0lbgpSM47SKS+FUSpkXpUtA==", + "dev": true, + "dependencies": { + "fs-extra": "^4.0.0" + } + }, + "node_modules/pruner/node_modules/fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/pruner/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "dev": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rcedit": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-1.1.2.tgz", + "integrity": "sha512-z2ypB4gbINhI6wVe0JJMmdpmOpmNc4g90sE6/6JSuch5kYnjfz9CxvVPqqhShgR6GIkmtW3W2UlfiXhWljA0Fw==", + "dev": true + }, + "node_modules/read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA==", + "dev": true, + "dependencies": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w==", + "dev": true, + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sanitize-filename": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "dev": true, + "dependencies": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/single-line-log": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz", + "integrity": "sha512-awzaaIPtYFdexLr6TBpcZSGPB6D1RInNO/qNetgaJloPDF/D0GkVtLvGEp8InfmLV7CyLyQ5fIRP+tVN/JmWQA==", + "dev": true, + "dependencies": { + "string-width": "^1.0.1" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true + }, + "node_modules/speedometer": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz", + "integrity": "sha512-phdEoDlA6EUIVtzwq1UiNMXDUogczp204aYF/yfOhjNePWFfIpBJ1k5wLMuXQhEOOMjuTJEcc4vdZa+vuP+n/Q==", + "dev": true + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sumchecker": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-1.3.1.tgz", + "integrity": "sha512-ZfWTnMBdeHaXR7ncH96vRUI07B+wLuXxGPGUMR+EM4QJRJoD535ALIdpc+vHB8eA+1DXJztu3CgHZ1zEhbDF4A==", + "dev": true, + "dependencies": { + "debug": "^2.2.0", + "es6-promise": "^4.0.5" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/throttleit": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz", + "integrity": "sha512-HtlTFeyYs1elDM2txiIGsdXHaq8kffVaZH/QEBRbo95zQqzlsBx5ELKhkPOZVad9OK9oxzwx6UrQN8Vfh/+yag==", + "dev": true + }, + "node_modules/through2": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz", + "integrity": "sha512-mLa8Bn2mZurjyomGKWRu3Bo2mvoQojFks9NvOK8H+k4kDJNkdEqG522KFZsEFBEl6rKkxTgFbE5+OPcgfvPEHA==", + "dev": true, + "dependencies": { + "readable-stream": "~1.1.9", + "xtend": "~2.1.1" + } + }, + "node_modules/through2/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.0.28", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz", + "integrity": "sha512-c2mmfiBmND6SOVxzogm1oda0OJ1HZVIk/5n26N59dDTh80MUeavpiCls4PGAdkX1PFkKokLpcf7prSjCeXLsJg==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.1" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/touch": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/touch/-/touch-0.0.3.tgz", + "integrity": "sha512-/LQ54KM9rPf3rGXGo2UPQWx3ol242Zg6Whq27H5DEmZhCJo+pm9N5BzRGepO9vTVhYxpXJdcc1+3uaYt9NyeKg==", + "dev": true, + "dependencies": { + "nopt": "~1.0.10" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/touch/node_modules/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/traverse": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", + "dev": true, + "dependencies": { + "utf8-byte-length": "^1.0.1" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/utf8-byte-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", + "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==", + "dev": true + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/xmlbuilder": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz", + "integrity": "sha512-eKRAFz04jghooy8muekqzo8uCSVNeyRedbuJrp0fovbLIi7wlsYtdUn3vBAAPq2Y3/0xMz2WMEUQ8yhVVO9Stw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmldom": { + "version": "0.1.31", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz", + "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==", + "deprecated": "Deprecated due to CVE-2021-21366 resolved in 0.5.0", + "dev": true, + "engines": { + "node": ">=0.1" + } + }, + "node_modules/xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", + "dev": true, + "dependencies": { + "object-keys": "~0.4.0" + }, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha512-CswCfdOgCr4MMsT1GzbEJ7Z2uYudWyrGX8Bgh/0eyCzj/DXWdKq6a/ADufkzI1WAOIW6jYaXJvRyLhDO0kfqBw==", + "dev": true, + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + } +} diff --git a/package.json b/package.json index 2a0f813..1517577 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "php", "techsoul" ], - "author": "Ajay Kumar", + "author": "Ajay Kumar, André Rodrigues", "license": "CC0-1.0", "devDependencies": { "electron": "^1.7.12", diff --git a/php/README.md b/php/README.md new file mode 100644 index 0000000..f98feb7 --- /dev/null +++ b/php/README.md @@ -0,0 +1,142 @@ +
+ + PHP + +
+ +# The PHP Interpreter + +PHP is a popular general-purpose scripting language that is especially suited to +web development. Fast, flexible and pragmatic, PHP powers everything from your +blog to the most popular websites in the world. PHP is distributed under the +[PHP License v3.01](LICENSE). + +[![Push](https://github.com/php/php-src/actions/workflows/push.yml/badge.svg)](https://github.com/php/php-src/actions/workflows/push.yml) +[![Build status](https://travis-ci.com/php/php-src.svg?branch=master)](https://travis-ci.com/github/php/php-src) +[![Build status](https://ci.appveyor.com/api/projects/status/meyur6fviaxgdwdy/branch/master?svg=true)](https://ci.appveyor.com/project/php/php-src) +[![Build Status](https://dev.azure.com/phpazuredevops/php/_apis/build/status/php.php-src?branchName=master)](https://dev.azure.com/phpazuredevops/php/_build/latest?definitionId=1&branchName=master) +[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/php.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:php) + +## Documentation + +The PHP manual is available at [php.net/docs](https://php.net/docs). + +## Installation + +### Prebuilt packages and binaries + +Prebuilt packages and binaries can be used to get up and running fast with PHP. + +For Windows, the PHP binaries can be obtained from +[windows.php.net](https://windows.php.net). After extracting the archive the +`*.exe` files are ready to use. + +For other systems, see the [installation chapter](https://php.net/install). + +### Building PHP source code + +*For Windows, see [Build your own PHP on Windows](https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2).* + +For a minimal PHP build from Git, you will need autoconf, bison, and re2c. For +a default build, you will additionally need libxml2 and libsqlite3. + +On Ubuntu, you can install these using: + + sudo apt install -y pkg-config build-essential autoconf bison re2c \ + libxml2-dev libsqlite3-dev + +On Fedora, you can install these using: + + sudo dnf install re2c bison autoconf make libtool ccache libxml2-devel sqlite-devel + +Generate configure: + + ./buildconf + +Configure your build. `--enable-debug` is recommended for development, see +`./configure --help` for a full list of options. + + # For development + ./configure --enable-debug + # For production + ./configure + +Build PHP. To speed up the build, specify the maximum number of jobs using `-j`: + + make -j4 + +The number of jobs should usually match the number of available cores, which +can be determined using `nproc`. + +## Testing PHP source code + +PHP ships with an extensive test suite, the command `make test` is used after +successful compilation of the sources to run this test suite. + +It is possible to run tests using multiple cores by setting `-jN` in +`TEST_PHP_ARGS`: + + make TEST_PHP_ARGS=-j4 test + +Shall run `make test` with a maximum of 4 concurrent jobs: Generally the maximum +number of jobs should not exceed the number of cores available. + +The [qa.php.net](https://qa.php.net) site provides more detailed info about +testing and quality assurance. + +## Installing PHP built from source + +After a successful build (and test), PHP may be installed with: + + make install + +Depending on your permissions and prefix, `make install` may need super user +permissions. + +## PHP extensions + +Extensions provide additional functionality on top of PHP. PHP consists of many +essential bundled extensions. Additional extensions can be found in the PHP +Extension Community Library - [PECL](https://pecl.php.net). + +## Contributing + +The PHP source code is located in the Git repository at +[github.com/php/php-src](https://github.com/php/php-src). Contributions are most +welcome by forking the repository and sending a pull request. + +Discussions are done on GitHub, but depending on the topic can also be relayed +to the official PHP developer mailing list internals@lists.php.net. + +New features require an RFC and must be accepted by the developers. See +[Request for comments - RFC](https://wiki.php.net/rfc) and +[Voting on PHP features](https://wiki.php.net/rfc/voting) for more information +on the process. + +Bug fixes don't require an RFC. If the bug has a GitHub issue, reference it in +the commit message using `GH-NNNNNN`. Use `#NNNNNN` for tickets in the old +[bugs.php.net](https://bugs.php.net) bug tracker. + + Fix GH-7815: php_uname doesn't recognise latest Windows versions + Fix #55371: get_magic_quotes_gpc() throws deprecation warning + +See [Git workflow](https://wiki.php.net/vcs/gitworkflow) for details on how pull +requests are merged. + +### Guidelines for contributors + +See further documents in the repository for more information on how to +contribute: + +- [Contributing to PHP](/CONTRIBUTING.md) +- [PHP coding standards](/CODING_STANDARDS.md) +- [Mailing list rules](/docs/mailinglist-rules.md) +- [PHP release process](/docs/release-process.md) + +## Credits + +For the list of people who've put work into PHP, please see the +[PHP credits page](https://php.net/credits.php). diff --git a/php/deplister.exe b/php/deplister.exe index 07318fe..e11b9db 100644 Binary files a/php/deplister.exe and b/php/deplister.exe differ diff --git a/php/dev/php7.lib b/php/dev/php7.lib deleted file mode 100644 index 1033ff6..0000000 Binary files a/php/dev/php7.lib and /dev/null differ diff --git a/php/dev/php8.lib b/php/dev/php8.lib new file mode 100644 index 0000000..f6b5432 Binary files /dev/null and b/php/dev/php8.lib differ diff --git a/php/ext/php_bz2.dll b/php/ext/php_bz2.dll index 5ac325b..0b48ddc 100644 Binary files a/php/ext/php_bz2.dll and b/php/ext/php_bz2.dll differ diff --git a/php/ext/php_com_dotnet.dll b/php/ext/php_com_dotnet.dll index 10c1a0d..85c3178 100644 Binary files a/php/ext/php_com_dotnet.dll and b/php/ext/php_com_dotnet.dll differ diff --git a/php/ext/php_curl.dll b/php/ext/php_curl.dll index d1d9c58..700ae18 100644 Binary files a/php/ext/php_curl.dll and b/php/ext/php_curl.dll differ diff --git a/php/ext/php_dba.dll b/php/ext/php_dba.dll index 98d6510..0ed3196 100644 Binary files a/php/ext/php_dba.dll and b/php/ext/php_dba.dll differ diff --git a/php/ext/php_dl_test.dll b/php/ext/php_dl_test.dll new file mode 100644 index 0000000..d5ffd6c Binary files /dev/null and b/php/ext/php_dl_test.dll differ diff --git a/php/ext/php_enchant.dll b/php/ext/php_enchant.dll index b2369c5..30248d8 100644 Binary files a/php/ext/php_enchant.dll and b/php/ext/php_enchant.dll differ diff --git a/php/ext/php_exif.dll b/php/ext/php_exif.dll index 2465e5e..359a88d 100644 Binary files a/php/ext/php_exif.dll and b/php/ext/php_exif.dll differ diff --git a/php/ext/php_ffi.dll b/php/ext/php_ffi.dll new file mode 100644 index 0000000..6bc2358 Binary files /dev/null and b/php/ext/php_ffi.dll differ diff --git a/php/ext/php_fileinfo.dll b/php/ext/php_fileinfo.dll index e1695aa..d43aa10 100644 Binary files a/php/ext/php_fileinfo.dll and b/php/ext/php_fileinfo.dll differ diff --git a/php/ext/php_ftp.dll b/php/ext/php_ftp.dll index 38159f5..85a2290 100644 Binary files a/php/ext/php_ftp.dll and b/php/ext/php_ftp.dll differ diff --git a/php/ext/php_gd.dll b/php/ext/php_gd.dll new file mode 100644 index 0000000..1727dc3 Binary files /dev/null and b/php/ext/php_gd.dll differ diff --git a/php/ext/php_gd2.dll b/php/ext/php_gd2.dll deleted file mode 100644 index 181f903..0000000 Binary files a/php/ext/php_gd2.dll and /dev/null differ diff --git a/php/ext/php_gettext.dll b/php/ext/php_gettext.dll index 0753408..02c73a7 100644 Binary files a/php/ext/php_gettext.dll and b/php/ext/php_gettext.dll differ diff --git a/php/ext/php_gmp.dll b/php/ext/php_gmp.dll index f8fb5f4..fb4d40b 100644 Binary files a/php/ext/php_gmp.dll and b/php/ext/php_gmp.dll differ diff --git a/php/ext/php_imap.dll b/php/ext/php_imap.dll index 1be306f..e338b10 100644 Binary files a/php/ext/php_imap.dll and b/php/ext/php_imap.dll differ diff --git a/php/ext/php_interbase.dll b/php/ext/php_interbase.dll deleted file mode 100644 index 7ba9847..0000000 Binary files a/php/ext/php_interbase.dll and /dev/null differ diff --git a/php/ext/php_intl.dll b/php/ext/php_intl.dll index 3150c0a..d873984 100644 Binary files a/php/ext/php_intl.dll and b/php/ext/php_intl.dll differ diff --git a/php/ext/php_ldap.dll b/php/ext/php_ldap.dll index be61e81..d14bcda 100644 Binary files a/php/ext/php_ldap.dll and b/php/ext/php_ldap.dll differ diff --git a/php/ext/php_mbstring.dll b/php/ext/php_mbstring.dll index cf8ba02..3ea9265 100644 Binary files a/php/ext/php_mbstring.dll and b/php/ext/php_mbstring.dll differ diff --git a/php/ext/php_mysqli.dll b/php/ext/php_mysqli.dll index 632973b..0c238d2 100644 Binary files a/php/ext/php_mysqli.dll and b/php/ext/php_mysqli.dll differ diff --git a/php/ext/php_oci8_12c.dll b/php/ext/php_oci8_12c.dll deleted file mode 100644 index f2a02be..0000000 Binary files a/php/ext/php_oci8_12c.dll and /dev/null differ diff --git a/php/ext/php_oci8_19.dll b/php/ext/php_oci8_19.dll new file mode 100644 index 0000000..f2ad076 Binary files /dev/null and b/php/ext/php_oci8_19.dll differ diff --git a/php/ext/php_odbc.dll b/php/ext/php_odbc.dll index a9b8338..2235a41 100644 Binary files a/php/ext/php_odbc.dll and b/php/ext/php_odbc.dll differ diff --git a/php/ext/php_opcache.dll b/php/ext/php_opcache.dll index 22c2235..7aaf66f 100644 Binary files a/php/ext/php_opcache.dll and b/php/ext/php_opcache.dll differ diff --git a/php/ext/php_openssl.dll b/php/ext/php_openssl.dll index 3e35a8e..1866d6b 100644 Binary files a/php/ext/php_openssl.dll and b/php/ext/php_openssl.dll differ diff --git a/php/ext/php_pdo_firebird.dll b/php/ext/php_pdo_firebird.dll index 51d228c..0d0786b 100644 Binary files a/php/ext/php_pdo_firebird.dll and b/php/ext/php_pdo_firebird.dll differ diff --git a/php/ext/php_pdo_mysql.dll b/php/ext/php_pdo_mysql.dll index 329bc00..1dbab60 100644 Binary files a/php/ext/php_pdo_mysql.dll and b/php/ext/php_pdo_mysql.dll differ diff --git a/php/ext/php_pdo_oci.dll b/php/ext/php_pdo_oci.dll index b86b0c9..c89b91a 100644 Binary files a/php/ext/php_pdo_oci.dll and b/php/ext/php_pdo_oci.dll differ diff --git a/php/ext/php_pdo_odbc.dll b/php/ext/php_pdo_odbc.dll index 5c55885..9ce9165 100644 Binary files a/php/ext/php_pdo_odbc.dll and b/php/ext/php_pdo_odbc.dll differ diff --git a/php/ext/php_pdo_pgsql.dll b/php/ext/php_pdo_pgsql.dll index 78b27df..1231f17 100644 Binary files a/php/ext/php_pdo_pgsql.dll and b/php/ext/php_pdo_pgsql.dll differ diff --git a/php/ext/php_pdo_sqlite.dll b/php/ext/php_pdo_sqlite.dll index ef548d1..f232d9a 100644 Binary files a/php/ext/php_pdo_sqlite.dll and b/php/ext/php_pdo_sqlite.dll differ diff --git a/php/ext/php_pgsql.dll b/php/ext/php_pgsql.dll index 1c4b2a7..f5b5b60 100644 Binary files a/php/ext/php_pgsql.dll and b/php/ext/php_pgsql.dll differ diff --git a/php/ext/php_phpdbg_webhelper.dll b/php/ext/php_phpdbg_webhelper.dll deleted file mode 100644 index d81a927..0000000 Binary files a/php/ext/php_phpdbg_webhelper.dll and /dev/null differ diff --git a/php/ext/php_shmop.dll b/php/ext/php_shmop.dll index 3e2a5e5..470606a 100644 Binary files a/php/ext/php_shmop.dll and b/php/ext/php_shmop.dll differ diff --git a/php/ext/php_snmp.dll b/php/ext/php_snmp.dll index aa0be27..0acac82 100644 Binary files a/php/ext/php_snmp.dll and b/php/ext/php_snmp.dll differ diff --git a/php/ext/php_soap.dll b/php/ext/php_soap.dll index c98484e..0221a99 100644 Binary files a/php/ext/php_soap.dll and b/php/ext/php_soap.dll differ diff --git a/php/ext/php_sockets.dll b/php/ext/php_sockets.dll index 1dd7a10..80f9506 100644 Binary files a/php/ext/php_sockets.dll and b/php/ext/php_sockets.dll differ diff --git a/php/ext/php_sodium.dll b/php/ext/php_sodium.dll index 176a755..a36dde5 100644 Binary files a/php/ext/php_sodium.dll and b/php/ext/php_sodium.dll differ diff --git a/php/ext/php_sqlite3.dll b/php/ext/php_sqlite3.dll index 7100c3d..82e5506 100644 Binary files a/php/ext/php_sqlite3.dll and b/php/ext/php_sqlite3.dll differ diff --git a/php/ext/php_sysvshm.dll b/php/ext/php_sysvshm.dll index e6aab55..d368a7d 100644 Binary files a/php/ext/php_sysvshm.dll and b/php/ext/php_sysvshm.dll differ diff --git a/php/ext/php_tidy.dll b/php/ext/php_tidy.dll index deccf51..bffe1f0 100644 Binary files a/php/ext/php_tidy.dll and b/php/ext/php_tidy.dll differ diff --git a/php/ext/php_xmlrpc.dll b/php/ext/php_xmlrpc.dll deleted file mode 100644 index afc4dae..0000000 Binary files a/php/ext/php_xmlrpc.dll and /dev/null differ diff --git a/php/ext/php_xsl.dll b/php/ext/php_xsl.dll index 61aee5f..225b11c 100644 Binary files a/php/ext/php_xsl.dll and b/php/ext/php_xsl.dll differ diff --git a/php/ext/php_zend_test.dll b/php/ext/php_zend_test.dll index 84f574d..326e62e 100644 Binary files a/php/ext/php_zend_test.dll and b/php/ext/php_zend_test.dll differ diff --git a/php/ext/php_zip.dll b/php/ext/php_zip.dll new file mode 100644 index 0000000..fb7aa19 Binary files /dev/null and b/php/ext/php_zip.dll differ diff --git a/php/extras/ssl/openssl.cnf b/php/extras/ssl/openssl.cnf index b3e7444..03330e0 100644 --- a/php/extras/ssl/openssl.cnf +++ b/php/extras/ssl/openssl.cnf @@ -1,26 +1,36 @@ # # OpenSSL example configuration file. -# This is mostly being used for generation of certificate requests. +# See doc/man5/config.pod for more info. # +# This is mostly being used for generation of certificate requests, +# but may be used for auto loading of providers + +# Note that you can include other files from the main configuration +# file using the .include directive. +#.include filename # This definition stops the following lines choking if HOME isn't # defined. HOME = . -RANDFILE = $ENV::HOME/.rnd + + # Use this in order to automatically load providers. +openssl_conf = openssl_init + +# Comment out the next line to ignore configuration errors +config_diagnostics = 1 # Extra OBJECT IDENTIFIER info: -#oid_file = $ENV::HOME/.oid -oid_section = new_oids +# oid_file = $ENV::HOME/.oid +oid_section = new_oids # To use this configuration file with the "-extfile" option of the # "openssl x509" utility, name here the section containing the # X.509v3 extensions to use: -# extensions = +# extensions = # (Alternatively, use a configuration file that has only # X.509v3 extensions in its main [= default] section.) [ new_oids ] - # We can add new OIDs in here for use by 'ca', 'req' and 'ts'. # Add a simple OID like this: # testoid1=1.2.3.4 @@ -32,6 +42,36 @@ tsa_policy1 = 1.2.3.4.1 tsa_policy2 = 1.2.3.4.5.6 tsa_policy3 = 1.2.3.4.5.7 +# For FIPS +# Optionally include a file that is generated by the OpenSSL fipsinstall +# application. This file contains configuration data required by the OpenSSL +# fips provider. It contains a named section e.g. [fips_sect] which is +# referenced from the [provider_sect] below. +# Refer to the OpenSSL security policy for more information. +# .include fipsmodule.cnf + +[openssl_init] +providers = provider_sect + +# List of providers to load +[provider_sect] +default = default_sect +# The fips section name should match the section name inside the +# included fipsmodule.cnf. +# fips = fips_sect + +# If no providers are activated explicitly, the default one is activated implicitly. +# See man 7 OSSL_PROVIDER-default for more details. +# +# If you add a section explicitly activating any other provider(s), you most +# probably need to explicitly activate the default provider, otherwise it +# becomes unavailable in openssl. As a consequence applications depending on +# OpenSSL may not work correctly which could lead to significant system +# problems including inability to remotely access the system. +[default_sect] +# activate = 1 + + #################################################################### [ ca ] default_ca = CA_default # The default ca section @@ -53,7 +93,6 @@ crlnumber = $dir/crlnumber # the current crl number # must be commented out to leave a V1 CRL crl = $dir/crl.pem # The current CRL private_key = $dir/private/cakey.pem# The private key -RANDFILE = $dir/private/.rand # private random number file x509_extensions = usr_cert # The extensions to add to the cert @@ -113,7 +152,7 @@ x509_extensions = v3_ca # The extensions to add to the self signed cert # input_password = secret # output_password = secret -# This sets a mask for permitted string types. There are several options. +# This sets a mask for permitted string types. There are several options. # default: PrintableString, T61String, BMPString. # pkix : PrintableString, BMPString (PKIX recommendation before 2004) # utf8only: only UTF8Strings (PKIX recommendation after 2004). @@ -169,27 +208,9 @@ unstructuredName = An optional company name basicConstraints=CA:FALSE -# Here are some examples of the usage of nsCertType. If it is omitted -# the certificate can be used for anything *except* object signing. - -# This is OK for an SSL server. -# nsCertType = server - -# For an object signing certificate this would be used. -# nsCertType = objsign - -# For normal client use this is typical -# nsCertType = client, email - -# and for everything including object signing: -# nsCertType = client, email, objsign - # This is typical in keyUsage for a client certificate. # keyUsage = nonRepudiation, digitalSignature, keyEncipherment -# This will be displayed in Netscape's comment listbox. -nsComment = "OpenSSL Generated Certificate" - # PKIX recommendations harmless if included in all certificates. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer @@ -204,13 +225,6 @@ authorityKeyIdentifier=keyid,issuer # Copy subject details # issuerAltName=issuer:copy -#nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem -#nsBaseUrl -#nsRevocationUrl -#nsRenewalUrl -#nsCaPolicyUrl -#nsSslServerName - # This is required for TSA certificates. # extendedKeyUsage = critical,timeStamping @@ -240,9 +254,6 @@ basicConstraints = critical,CA:true # left out by default. # keyUsage = cRLSign, keyCertSign -# Some might want this also -# nsCertType = sslCA, emailCA - # Include email address in subject alt name: another PKIX recommendation # subjectAltName=email:copy # Copy issuer details @@ -270,27 +281,9 @@ authorityKeyIdentifier=keyid:always basicConstraints=CA:FALSE -# Here are some examples of the usage of nsCertType. If it is omitted -# the certificate can be used for anything *except* object signing. - -# This is OK for an SSL server. -# nsCertType = server - -# For an object signing certificate this would be used. -# nsCertType = objsign - -# For normal client use this is typical -# nsCertType = client, email - -# and for everything including object signing: -# nsCertType = client, email, objsign - # This is typical in keyUsage for a client certificate. # keyUsage = nonRepudiation, digitalSignature, keyEncipherment -# This will be displayed in Netscape's comment listbox. -nsComment = "OpenSSL Generated Certificate" - # PKIX recommendations harmless if included in all certificates. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer @@ -305,13 +298,6 @@ authorityKeyIdentifier=keyid,issuer # Copy subject details # issuerAltName=issuer:copy -#nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem -#nsBaseUrl -#nsRevocationUrl -#nsRenewalUrl -#nsCaPolicyUrl -#nsSslServerName - # This really needs to be in place for it to be a proxy certificate. proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo @@ -344,3 +330,61 @@ tsa_name = yes # Must the TSA name be included in the reply? # (optional, default: no) ess_cert_id_chain = no # Must the ESS cert id chain be included? # (optional, default: no) +ess_cert_id_alg = sha1 # algorithm to compute certificate + # identifier (optional, default: sha1) + +[insta] # CMP using Insta Demo CA +# Message transfer +server = pki.certificate.fi:8700 +# proxy = # set this as far as needed, e.g., http://192.168.1.1:8080 +# tls_use = 0 +path = pkix/ + +# Server authentication +recipient = "/C=FI/O=Insta Demo/CN=Insta Demo CA" # or set srvcert or issuer +ignore_keyusage = 1 # potentially needed quirk +unprotected_errors = 1 # potentially needed quirk +extracertsout = insta.extracerts.pem + +# Client authentication +ref = 3078 # user identification +secret = pass:insta # can be used for both client and server side + +# Generic message options +cmd = ir # default operation, can be overridden on cmd line with, e.g., kur + +# Certificate enrollment +subject = "/CN=openssl-cmp-test" +newkey = insta.priv.pem +out_trusted = insta.ca.crt +certout = insta.cert.pem + +[pbm] # Password-based protection for Insta CA +# Server and client authentication +ref = $insta::ref # 3078 +secret = $insta::secret # pass:insta + +[signature] # Signature-based protection for Insta CA +# Server authentication +trusted = insta.ca.crt # does not include keyUsage digitalSignature + +# Client authentication +secret = # disable PBM +key = $insta::newkey # insta.priv.pem +cert = $insta::certout # insta.cert.pem + +[ir] +cmd = ir + +[cr] +cmd = cr + +[kur] +# Certificate update +cmd = kur +oldcert = $insta::certout # insta.cert.pem + +[rr] +# Certificate revocation +cmd = rr +oldcert = $insta::certout # insta.cert.pem diff --git a/php/glib-2.dll b/php/glib-2.dll index 6e92f08..14fd703 100644 Binary files a/php/glib-2.dll and b/php/glib-2.dll differ diff --git a/php/gmodule-2.dll b/php/gmodule-2.dll index 21cf2ca..f004bbc 100644 Binary files a/php/gmodule-2.dll and b/php/gmodule-2.dll differ diff --git a/php/icudt71.dll b/php/icudt71.dll new file mode 100644 index 0000000..ecf9dd1 Binary files /dev/null and b/php/icudt71.dll differ diff --git a/php/icuin60.dll b/php/icuin60.dll deleted file mode 100644 index 2b73c6b..0000000 Binary files a/php/icuin60.dll and /dev/null differ diff --git a/php/icuin71.dll b/php/icuin71.dll new file mode 100644 index 0000000..35906a7 Binary files /dev/null and b/php/icuin71.dll differ diff --git a/php/icuio60.dll b/php/icuio60.dll deleted file mode 100644 index 3091013..0000000 Binary files a/php/icuio60.dll and /dev/null differ diff --git a/php/icuio71.dll b/php/icuio71.dll new file mode 100644 index 0000000..de9b937 Binary files /dev/null and b/php/icuio71.dll differ diff --git a/php/icutu60.dll b/php/icutu60.dll deleted file mode 100644 index e7c7168..0000000 Binary files a/php/icutu60.dll and /dev/null differ diff --git a/php/icuuc60.dll b/php/icuuc60.dll deleted file mode 100644 index dbb29cd..0000000 Binary files a/php/icuuc60.dll and /dev/null differ diff --git a/php/icuuc71.dll b/php/icuuc71.dll new file mode 100644 index 0000000..f789acc Binary files /dev/null and b/php/icuuc71.dll differ diff --git a/php/install.txt b/php/install.txt deleted file mode 100644 index 620e3bf..0000000 --- a/php/install.txt +++ /dev/null @@ -1,1797 +0,0 @@ -Installing PHP - __________________________________________________________________ - - Table of Contents - Preface - 1. General Installation Considerations - 2. Installation on Windows systems - - Manual Installation Steps - ActiveScript - Microsoft IIS - Apache 1.3.x on Microsoft Windows - Apache 2.0.x on Microsoft Windows - Sun, iPlanet and Netscape servers on Microsoft Windows - OmniHTTPd Server - Sambar Server on Microsoft Windows - Xitami on Microsoft Windows - Installation of extensions on Windows - - 3. Installation of PECL extensions - - Introduction to PECL Installations - Downloading PECL extensions - PECL for Windows users - Compiling shared PECL extensions with the pecl command - Compiling shared PECL extensions with phpize - Compiling PECL extensions statically into PHP - - 4. Problems? - - Read the FAQ - Other problems - Bug reports - - 5. Runtime Configuration - - The configuration file - How to change configuration settings - - 6. Installation FAQ - __________________________________________________________________ - -Preface - - These installation instructions were generated from the HTML version of - the PHP Manual so formatting and linking have been altered. See the - online and updated version at: http://php.net/install.windows - __________________________________________________________________ - -Chapter 1. General Installation Considerations - - Before starting the installation, first you need to know what do you - want to use PHP for. There are three main fields you can use PHP, as - described in the What can PHP do? section: - - * Websites and web applications (server-side scripting) - * Command line scripting - * Desktop (GUI) applications - - For the first and most common form, you need three things: PHP itself, - a web server and a web browser. You probably already have a web - browser, and depending on your operating system setup, you may also - have a web server (e.g. Apache on Linux and MacOS X; IIS on Windows). - You may also rent webspace at a company. This way, you don't need to - set up anything on your own, only write your PHP scripts, upload it to - the server you rent, and see the results in your browser. - - In case of setting up the server and PHP on your own, you have two - choices for the method of connecting PHP to the server. For many - servers PHP has a direct module interface (also called SAPI). These - servers include Apache, Microsoft Internet Information Server, Netscape - and iPlanet servers. Many other servers have support for ISAPI, the - Microsoft module interface (OmniHTTPd for example). If PHP has no - module support for your web server, you can always use it as a CGI or - FastCGI processor. This means you set up your server to use the CGI - executable of PHP to process all PHP file requests on the server. - - If you are also interested to use PHP for command line scripting (e.g. - write scripts autogenerating some images for you offline, or processing - text files depending on some arguments you pass to them), you always - need the command line executable. For more information, read the - section about writing command line PHP applications. In this case, you - need no server and no browser. - - With PHP you can also write desktop GUI applications using the PHP-GTK - extension. This is a completely different approach than writing web - pages, as you do not output any HTML, but manage Windows and objects - within them. For more information about PHP-GTK, please visit the site - dedicated to this extension. PHP-GTK is not included in the official - PHP distribution. - - From now on, this section deals with setting up PHP for web servers on - Unix and Windows with server module interfaces and CGI executables. You - will also find information on the command line executable in the - following sections. - - PHP source code and binary distributions for Windows can be found at - http://www.php.net/downloads.php. We recommend you to choose a mirror - nearest to you for downloading the distributions. - __________________________________________________________________ - -Chapter 2. Installation on Windows systems - - This section applies to Windows 98/Me and Windows NT/2000/XP/2003. PHP - will not work on 16 bit platforms such as Windows 3.1 and sometimes we - refer to the supported Windows platforms as Win32. Windows 95 is no - longer supported as of PHP 4.3.0. - - If you have Microsoft Visual Studio, you can also build PHP from the - original source code. - - Once you have PHP installed on your Windows system, you may also want - to load various extensions for added functionality. - - Warning - - There are several all-in-one installers over the Internet, but none of - those are endorsed by PHP.net, as we believe that the manual - installation is the best choice to have your system secure and - optimised. - __________________________________________________________________ - -Manual Installation Steps - - This install guide will help you manually install and configure PHP - with a web server on Microsoft Windows. To get started you'll need to - download the zip binary distribution from the downloads page at - http://www.php.net/downloads.php. - - Although there are many all-in-one installation kits, we recommend you - take the time to setup PHP yourself as this will provide you with a - better understanding of the system, and enables you to install PHP - extensions easily when needed. - - Upgrading from a previous PHP version: Previous editions of the - manual suggest moving various ini and DLL files into your SYSTEM - (i.e. C:\WINDOWS) folder and while this simplifies the installation - procedure it makes upgrading difficult. We advise you remove all of - these files (like php.ini and PHP related DLLs from the Windows - SYSTEM folder) before moving on with a new PHP installation. Be sure - to backup these files as you might break the entire system. The old - php.ini might be useful in setting up the new PHP as well. And as - you'll soon learn, the preferred method for installing PHP is to - keep all PHP related files in one directory and have this directory - available to your systems PATH. - - MDAC requirements: If you use Microsoft Windows 98/NT4 download the - latest version of the Microsoft Data Access Components (MDAC) for - your platform. MDAC is available at http://msdn.microsoft.com/data/. - This requirement exists because ODBC is built into the distributed - Windows binaries. - - The following steps should be completed on all installations before any - server specific instructions are performed: - - Extract the distribution file into a directory of your choice. If you - are installing PHP 4, extract to C:\, as the zip file expands to a - foldername like php-4.3.7-Win32. If you are installing PHP 7, extract - to C:\php as the zip file doesn't expand as in PHP 4. You may choose a - different location but do not have spaces in the path (like C:\Program - Files\PHP) as some web servers will crash if you do. - - The directory structure extracted from the zip is different for PHP - versions 4 and 5 and look like as follows: - - Example 2-2. PHP 7 package structure -c:\php - | - +--dev - | | - | |-php7ts.lib - | - +--ext -- extension DLLs for PHP - | | - | |-php_bz2.dll - | | - | |-php_cpdf.dll - | | - | |-.. - | - +--extras - | | - | +--mibs -- support files for SNMP - | | - | +--openssl -- support files for Openssl - | | - | +--pdf-related -- support files for PDF - | | - | |-mime.magic - | - +--pear -- initial copy of PEAR - | - | - |-go-pear.bat -- PEAR setup script - | - |-fdftk.dll - | - |-.. - | - |-php-cgi.exe -- CGI executable - | - |-php-win.exe -- executes scripts without an opened command prompt - | - |-php.exe -- CLI executable - ONLY for command line scripting - | - |-.. - | - |-php.ini-development -- development php.ini settings - | - |-php.ini-production -- recommended php.ini settings for production - | - |-php5activescript.dll - | - |-php7apache2_4.dll - | - |-.. - | - |-php5ts.dll -- core PHP DLL - | - |-... - - Notice the differences and similarities. Both PHP 4 and PHP 5 have a - CGI executable, a CLI executable, and server modules, but they are - located in different folders and/or have different names. While PHP 4 - packages have the server modules in the sapi folder, PHP 5 - distributions have no such directory and instead they're in the PHP - folder root. The supporting DLLs for the PHP 5 extensions are also not - in a separate directory. - - Note: In PHP 4, you should move all files located in the dll and - sapi folders to the main folder (e.g. C:\php). - - Here is a list of server modules shipped with PHP 5: - - * php7apache2_4.dll - Apache 2.4.x module. - - Server modules provide significantly better performance and additional - functionality compared to the CGI binary. The FastCGI is significantly - more stable and can be faster than the ISAPI module with IIS. - The CLI version is designed to let you use PHP for command line - scripting. More information about CLI is available in the chapter - about using PHP from the command line. - - Warning - - The SAPI modules have been significantly improved as of the 4.1 - release, however, in older systems you may encounter server errors or - other server modules failing, such as ASP. - - The CGI and CLI binaries, and the web server modules all require the - php7ts.dll file to be available to them. You have to make - sure that this file can be found by your PHP installation. The search - order for this DLL is as follows: - - * The same directory from where php.exe is called, or in case you use - a SAPI module, the web server's directory (e.g. C:\Program - Files\Apache Group\Apache2\bin). - * Any directory in your Windows PATH environment variable. - - To make php7ts.dll available you have three options: copy - the file to the Windows system directory, copy the file to the web - server's directory, or add your PHP directory, C:\php to the PATH. For - better maintenance, we advise you to follow the last option, add C:\php - to the PATH, because it will be simpler to upgrade PHP in the future. - Read more about how to add your PHP directory to PATH in the - corresponding FAQ entry (and then don't forget to restart the computer - - logoff isn't enough). - - The next step is to set up a valid configuration file for PHP, php.ini. - There are two ini files distributed in the zip file, php.ini-development - and php.ini-production. We advise you to use php.ini-production, - because we optimized the default settings in this file for performance, - and security. Read this well documented file carefully because it has - changes from php.ini-production that will drastically affect your setup. - Some examples are display_errors being off and magic_quotes_gpc being off. - In addition to reading these, study the ini settings and set every - element manually yourself. If you would like to achieve the best - security, then this is the way for you, although PHP works fine with - these default ini files. Copy your chosen ini-file to a directory that - PHP is able to find and rename it to php.ini. PHP searches for php.ini - in the locations described in the Section called The configuration file - in Chapter 5 section. - - If you are running Apache 2, the simpler option is to use the PHPIniDir - directive (read the installation on Apache 2 page), otherwise your best - option is to set the PHPRC environment variable. This process is - explained in the following FAQ entry. - - Note: If you're using NTFS on Windows NT, 2000, XP or 2003, make - sure that the user running the web server has read permissions to - your php.ini (e.g. make it readable by Everyone). - - The following steps are optional: - - * Edit your new php.ini file. If you plan to use OmniHTTPd, do not - follow the next step. Set the doc_root to point to your web servers - document_root. For example: - -doc_root = c:\inetpub\wwwroot // for IIS - -doc_root = c:\apache\htdocs // for Apache - - * Choose the extensions you would like to load when PHP starts. See - the section about Windows extensions, about how to set up one, and - what is already built in. Note that on a new installation it is - advisable to first get PHP working and tested without any - extensions before enabling them in php.ini. - - PHP is now setup on your system. The next step is to choose a web - server, and enable it to run PHP. Choose a web server from the table of - contents. - __________________________________________________________________ - -ActiveScript - - This section contains notes specific to the ActiveScript installation. - - ActiveScript is a Windows only SAPI that enables you to use PHP script - in any ActiveScript compliant host, like Windows Script Host, - ASP/ASP.NET, Windows Script Components or Microsoft Scriptlet control. - - As of PHP 5.0.1, ActiveScript has been moved to the PECL repository. - The DLL for this PECL extension may be downloaded from either the PHP - Downloads page or from http://pecl4win.php.net/ - - Note: You should read the manual installation steps first! - - After installing PHP, you should download the ActiveScript DLL - (php7activescript.dll) and place it in the main PHP folder (e.g. - C:\php). - - After having all the files needed, you must register the DLL on your - system. To achieve this, open a Command Prompt window (located in the - Start Menu). Then go to your PHP directory by typing something like cd - C:\php. To register the DLL just type regsvr32 php7activescript.dll. - - To test if ActiveScript is working, create a new file, named test.wsf - (the extension is very important) and type: - - - - - - - Save and double-click on the file. If you receive a little window - saying "Hello World!" you're done. - - Note: In PHP 4, the engine was named 'ActivePHP', so if you are - using PHP 4, you should replace 'PHPScript' with 'ActivePHP' in the - above example. - - Note: ActiveScript doesn't use the default php.ini file. Instead, it - will look only in the same directory as the .exe that caused it to - load. You should create php-activescript.ini and place it in that - folder, if you wish to load extensions, etc. - __________________________________________________________________ - -Microsoft IIS - - This section contains notes and hints specific to IIS (Microsoft - Internet Information Server). - - Warning - - By using the CGI setup, your server is open to several possible - attacks. Please read our CGI security section to learn how to defend - yourself from those attacks. - __________________________________________________________________ - -General considerations for all installations of PHP with IIS - - * First, read the Manual Installation Instructions. Do not skip this - step as it provides crucial information for installing PHP on - Windows. - * CGI users must set the cgi.force_redirect PHP directive to 0 inside - php.ini. Read the faq on cgi.force_redirect for important details. - Also, CGI users may want to set the cgi.redirect_status_env - directive. When using directives, be sure these directives aren't - commented out inside php.ini. - * The PHP 4 CGI is named php.exe while in PHP 7 it's php-cgi.exe. In - PHP 7, php.exe is the CLI, and not the CGI. - * Modify the Windows PATH environment variable to include the PHP - directory. This way the PHP DLL files and PHP executables can all - remain in the PHP directory without cluttering up the Windows - system directory. For more details, see the FAQ on Setting the - PATH. - * The IIS user (usually IUSR_MACHINENAME) needs permission to read - various files and directories, such as php.ini, docroot, and the - session tmp directory. - * Be sure the extension_dir and doc_root PHP directives are - appropriately set in php.ini. These directives depend on the system - that PHP is being installed on. In PHP 4, the extension_dir is - extensions while with PHP 7 it's ext. So, an example PHP 7 - extensions_dir value is "c:\php\ext" and an example IIS doc_root - value is "c:\Inetpub\wwwroot". - * PHP extension DLL files, such as php_mysql.dll and php_curl.dll, - are found in the zip package of the PHP download. In PHP 7, many - extensions are part of PECL and can be downloaded in the - "Collection of PECL modules" package. Files such as php_zip.dll and - php_ssh2.dll. Download PHP files here. - * When defining the executable, the 'check that file exists' box may - also be checked. For a small performance penalty, the IIS - will check that the script file exists and sort out authentication - before firing up PHP. This means that the web server will provide - sensible 404 style error messages instead of CGI errors complaining - that PHP did not output any data. - __________________________________________________________________ - -Windows NT/200x/XP and IIS 4 or newer - - PHP may be installed as a CGI binary, or with the ISAPI module. In - either case, you need to start the Microsoft Management Console (may - appear as 'Internet Services Manager', either in your Windows NT 4.0 - Option Pack branch or the Control Panel=>Administrative Tools under - Windows 2000/XP). Then right click on your Web server node (this will - most probably appear as 'Default Web Server'), and select 'Properties'. - - If you want to use the CGI binary, do the following: - - * Under 'Home Directory', 'Virtual Directory', or 'Directory', do the - following: - * Change the Execute Permissions to 'Scripts only' - * Click on the 'Configuration' button, and choose the Application - Mappings tab. Click Add and set the Executable path to the - appropriate CGI file. An example PHP 7 value is: C:\php\php-cgi.exe - Supply .php as the extension. Leave 'Method exclusions' blank, and - check the 'Script engine' checkbox. Now, click OK a few times. - * Set up the appropriate security. (This is done in Internet Service - Manager), and if your NT Server uses NTFS file system, add execute - rights for I_USR_ to the directory that contains php.exe / - php-cgi.exe. - - To use the ISAPI module, do the following: - - * If you don't want to perform HTTP Authentication using PHP, you can - (and should) skip this step. Under ISAPI Filters, add a new ISAPI - filter. Use PHP as the filter name, and supply a path to the - php7isapi.dll. - * Under 'Home Directory', 'Virtual Directory', or 'Directory', do the - following: - * Change the Execute Permissions to 'Scripts only' - * Click on the 'Configuration' button, and choose the Application - Mappings tab. Click Add and set the Executable path to the - appropriate ISAPI DLL. An example PHP 7 value is: - C:\php\php7isapi.dll Supply .php as the extension. Leave 'Method - exclusions' blank, and check the 'Script engine' checkbox. Now, - click OK a few times. - * Stop IIS completely (NET STOP iisadmin) - * Start IIS again (NET START w3svc) - - With IIS 6 (2003 Server), open up the IIS Manager, go to Web Service - Extensions, choose "Add a new Web service extension", enter in a name - such as PHP, choose the Add button and for the value browse to either - the ISAPI file (php7isapi.dll) or CGI (php.exe or - php-cgi.exe) then check "Set extension status to Allowed" and click OK. - - In order to use index.php as a default content page, do the following: - From within the Documents tab, choose Add. Type in index.php and click - OK. Adjust the order by choosing Move Up or Move Down. This is similar - to setting DirectoryIndex with Apache. - - The steps above must be repeated for each extension that is to be - associated with PHP scripts. .php is the most common although .php3 may - be required for legacy applications. - - If you experience 100% CPU usage after some time, turn off the IIS - setting Cache ISAPI Application. - __________________________________________________________________ - -Windows and IIS - -See http://www.php.net/install.windows - __________________________________________________________________ - -Apache 1.3.x on Microsoft Windows - - This section contains notes and hints specific to Apache 1.3.x installs - of PHP on Microsoft Windows systems. There are also instructions and - notes for Apache 2 on a separate page. - - Note: Please read the manual installation steps first! - - There are two ways to set up PHP to work with Apache 1.3.x on Windows. - One is to use the CGI binary (php.exe for PHP 4 and php-cgi.exe for PHP - 5), the other is to use the Apache Module DLL. In either case you need - to edit your httpd.conf to configure Apache to work with PHP, and then - restart the server. - - It is worth noting here that now the SAPI module has been made more - stable under Windows, we recommend it's use above the CGI binary, since - it is more transparent and secure. - - Although there can be a few variations of configuring PHP under Apache, - these are simple enough to be used by the newcomer. Please consult the - Apache Documentation for further configuration directives. - - After changing the configuration file, remember to restart the server, - for example, NET STOP APACHE followed by NET START APACHE, if you run - Apache as a Windows Service, or use your regular shortcuts. - - Note: Remember that when adding path values in the Apache - configuration files on Windows, all backslashes such as - c:\directory\file.ext must be converted to forward slashes, as - c:/directory/file.ext. A trailing slash may also be necessary for - directories. - __________________________________________________________________ - -Installing as an Apache module - - You should add the following lines to your Apache httpd.conf file: - - Example 2-3. PHP as an Apache 1.3.x module - - This assumes PHP is installed to c:\php. Adjust the path if this is not - the case. - - For PHP 7: -# Add to the end of the LoadModule section -LoadModule php7_module "C:/php/php7apache.dll" - -# Add to the end of the AddModule section -AddModule mod_php7.c - - For both: -# Add this line inside the conditional brace -AddType application/x-httpd-php .php - -# For syntax highlighted .phps files, also add -AddType application/x-httpd-php-source .phps - __________________________________________________________________ - -Installing as a CGI binary - - If you unzipped the PHP package to C:\php\ as described in the Manual - Installation Steps section, you need to insert these lines to your - Apache configuration file to set up the CGI binary: - - Example 2-4. PHP and Apache 1.3.x as CGI -ScriptAlias /php/ "c:/php/" -AddType application/x-httpd-php .php - -# For PHP 4 -Action application/x-httpd-php "/php/php.exe" - -# For PHP 7 -Action application/x-httpd-php "/php/php-cgi.exe" - -# specify the directory where php.ini is -SetEnv PHPRC C:/php - - Note that the second line in the list above can be found in the actual - versions of httpd.conf, but it is commented out. Remember also to - substitute the c:/php/ for your actual path to PHP. - - Warning - - By using the CGI setup, your server is open to several possible - attacks. Please read our CGI security section to learn how to defend - yourself from those attacks. - - If you would like to present PHP source files syntax highlighted, there - is no such convenient option as with the module version of PHP. If you - chose to configure Apache to use PHP as a CGI binary, you will need to - use the highlight_file() function. To do this simply create a PHP - script file and add this code: . - __________________________________________________________________ - -Apache 2.0.x on Microsoft Windows - - This section contains notes and hints specific to Apache 2.0.x installs - of PHP on Microsoft Windows systems. We also have instructions and - notes for Apache 1.3.x users on a separate page. - - Note: You should read the manual installation steps first! - - Apache 2.2.x Support: Users of Apache 2.2.x may use the - documentation below except the appropriate DLL file is named - php7apache2_2.dll and it only exists as of PHP 7.2.0. See also - http://snaps.php.net/ - - Warning - - We do not recommend using a threaded MPM in production with Apache2. - Use the prefork MPM instead, or use Apache1. For information on why, - read the related FAQ entry on using Apache2 with a threaded MPM - - You are highly encouraged to take a look at the Apache Documentation to - get a basic understanding of the Apache 2.0.x Server. Also consider to - read the Windows specific notes for Apache 2.0.x before reading on - here. - - PHP and Apache 2.0.x compatibility notes: The following versions of - PHP are known to work with the most recent version of Apache 2.0.x: - - * PHP 4.3.0 or later available at http://www.php.net/downloads.php. - * the latest stable development version. Get the source code - http://snaps.php.net/php7-latest.tar.gz or download binaries for - Windows http://snaps.php.net/win32/php7-win32-latest.zip. - * a prerelease version downloadable from http://qa.php.net/. - * you have always the option to obtain PHP through SVN. - - These versions of PHP are compatible to Apache 2.0.40 and later. - - Apache 2.0 SAPI-support started with PHP 4.2.0. PHP 4.2.3 works with - Apache 2.0.39, don't use any other version of Apache with PHP 4.2.3. - However, the recommended setup is to use PHP 4.3.0 or later with the - most recent version of Apache2. - - All mentioned versions of PHP will work still with Apache 1.3.x. - - Warning - - Apache 2.0.x is designed to run on Windows NT 4.0, Windows 2000 or - Windows XP. At this time, support for Windows 9x is incomplete. Apache - 2.0.x is not expected to work on those platforms at this time. - - Download the most recent version of Apache 2.0.x and a fitting PHP - version. Follow the Manual Installation Steps and come back to go on - with the integration of PHP and Apache. - - There are two ways to set up PHP to work with Apache 2.0.x on Windows. - One is to use the CGI binary the other is to use the Apache module DLL. - In either case you need to edit your httpd.conf to configure Apache to - work with PHP and then restart the server. - - Note: Remember that when adding path values in the Apache - configuration files on Windows, all backslashes such as - c:\directory\file.ext must be converted to forward slashes, as - c:/directory/file.ext. A trailing slash may also be necessary for - directories. - __________________________________________________________________ - -Installing as a CGI binary - - You need to insert these three lines to your Apache httpd.conf - configuration file to set up the CGI binary: - - Example 2-5. PHP and Apache 2.0 as CGI -ScriptAlias /php/ "c:/php/" -AddType application/x-httpd-php .php - -# For PHP 4 -Action application/x-httpd-php "/php/php.exe" - -# For PHP 7 -Action application/x-httpd-php "/php/php-cgi.exe" - - Warning - - By using the CGI setup, your server is open to several possible - attacks. Please read our CGI security section to learn how to defend - yourself from those attacks. - __________________________________________________________________ - -Installing as an Apache module - - You need to insert these two lines to your Apache httpd.conf - configuration file to set up the PHP module for Apache 2.0: - - Example 2-6. PHP and Apache 2.0 as Module - -# For PHP 7 do something like this: -LoadModule php7_module "c:/php/php7apache2.dll" -AddType application/x-httpd-php .php - -# configure the path to php.ini -PHPIniDir "C:/php" - - Note: Remember to substitute your actual path to PHP for the c:/php/ - in the above examples. Take care to use either - php5apache2.dll in your LoadModule directive and not php5apache.dll - as the latter ones are designed to run with Apache 1.3.x. - - Note: If you want to use content negotiation, read related FAQ. - - Warning - - Don't mix up your installation with DLL files from different PHP - versions. You have the only choice to use the DLL's and extensions that - ship with your downloaded PHP version. - __________________________________________________________________ - -Sun, iPlanet and Netscape servers on Microsoft Windows - - This section contains notes and hints specific to Sun Java System Web - Server, Sun ONE Web Server, iPlanet and Netscape server installs of PHP - on Windows. - - From PHP 4.3.3 on you can use PHP scripts with the NSAPI module to - generate custom directory listings and error pages. Additional - functions for Apache compatibility are also available. For support in - current web servers read the note about subrequests. - __________________________________________________________________ - -CGI setup on Sun, iPlanet and Netscape servers - - To install PHP as a CGI handler, do the following: - - * Copy php7ts.dll to your systemroot (the directory where you - installed Windows) - * Make a file association from the command line. Type the following - two lines: - -assoc .php=PHPScript -ftype PHPScript=c:\php\php.exe %1 %* - - * In the Netscape Enterprise Administration Server create a dummy - shellcgi directory and remove it just after (this step creates 5 - important lines in obj.conf and allow the web server to handle - shellcgi scripts). - * In the Netscape Enterprise Administration Server create a new mime - type (Category: type, Content-Type: magnus-internal/shellcgi, File - Suffix:php). - * Do it for each web server instance you want PHP to run - - More details about setting up PHP as a CGI executable can be found - here: http://benoit.noss.free.fr/php/install-php.html - __________________________________________________________________ - -NSAPI setup on Sun, iPlanet and Netscape servers - - To install PHP with NSAPI, do the following: - - * Copy php7ts.dll to your systemroot (the directory where you - installed Windows) - * Make a file association from the command line. Type the following - two lines: - -assoc .php=PHPScript -ftype PHPScript=c:\php\php.exe %1 %* - - * In the Netscape Enterprise Administration Server create a new mime - type (Category: type, Content-Type: magnus-internal/x-httpd-php, - File Suffix: php). - * Edit magnus.conf (for servers >= 6) or obj.conf (for servers < 6) - and add the following: You should place the lines after mime types - init. - -Init fn="load-modules" funcs="php7_init,php7_execute,php7_auth_trans" shlib="c:/ -php/sapi/php7nsapi.dll" -Init fn="php7_init" LateInit="yes" errorString="Failed to initialise PHP!" [php_ -ini="c:/path/to/php.ini"] - - The php_ini parameter is optional but with it you - can place your php.ini in your web server configuration directory. - * Configure the default object in obj.conf (for virtual server - classes [Sun Web Server 6.0+] in their vserver.obj.conf): In the - section, place this line necessarily after - all 'ObjectType' and before all 'AddLog' lines: - -Service fn="php7_execute" type="magnus-internal/x-httpd-php" [inikey=value inike -y=value ...] - - As additional parameters you can add some special - php.ini-values, for example you can set a - docroot="/path/to/docroot" specific to the context php7_execute is - called. For boolean ini-keys please use 0/1 as value, not - "On","Off",... (this will not work correctly), e.g. - zlib.output_compression=1 instead of zlib.output_compression="On" - * This is only needed if you want to configure a directory that only - consists of PHP scripts (same like a cgi-bin directory): - - -ObjectType fn="force-type" type="magnus-internal/x-httpd-php" -Service fn=php7_execute [inikey=value inikey=value ...] - - - After that you can configure a directory in the Administration - server and assign it the style x-httpd-php. All files in it will - get executed as PHP. This is nice to hide PHP usage by renaming - files to .html. - * Restart your web service and apply changes - * Do it for each web server instance you want PHP to run - - Note: More details about setting up PHP as an NSAPI filter can be - found here: http://benoit.noss.free.fr/php/install-php4.html - - Note: The stacksize that PHP uses depends on the configuration of - the web server. If you get crashes with very large PHP scripts, it - is recommended to raise it with the Admin Server (in the section - "MAGNUS EDITOR"). - __________________________________________________________________ - -CGI environment and recommended modifications in php.ini - - Important when writing PHP scripts is the fact that Sun JSWS/Sun ONE - WS/iPlanet/Netscape is a multithreaded web server. Because of that all - requests are running in the same process space (the space of the web - server itself) and this space has only one environment. If you want to - get CGI variables like PATH_INFO, HTTP_HOST etc. it is not the correct - way to try this in the old PHP 3.x way with getenv() or a similar way - (register globals to environment, $_ENV). You would only get the - environment of the running web server without any valid CGI variables! - - Note: Why are there (invalid) CGI variables in the environment? - - Answer: This is because you started the web server process from the - admin server which runs the startup script of the web server, you - wanted to start, as a CGI script (a CGI script inside of the admin - server!). This is why the environment of the started web server has - some CGI environment variables in it. You can test this by starting - the web server not from the administration server. Use the command - line as root user and start it manually - you will see there are no - CGI-like environment variables. - __________________________________________________________________ - -Special use for error pages or self-made directory listings (PHP >= 4.3.3) - - You can use PHP to generate the error pages for "404 Not Found" or - similar. Add the following line to the object in obj.conf for every - error page you want to overwrite: -Error fn="php7_execute" code=XXX script="/path/to/script.php" [inikey=value inik -ey=value...] - - where XXX is the HTTP error code. Please delete any other Error - directives which could interfere with yours. If you want to place a - page for all errors that could exist, leave the code parameter out. - Your script can get the HTTP status code with $_SERVER['ERROR_TYPE']. - - Another possibility is to generate self-made directory listings. Just - create a PHP script which displays a directory listing and replace the - corresponding default Service line for type="magnus-internal/directory" - in obj.conf with the following: -Service fn="php7_execute" type="magnus-internal/directory" script="/path/to/scri -pt.php" [inikey=value inikey=value...] - - For both error and directory listing pages the original URI and - translated URI are in the variables $_SERVER['PATH_INFO'] and - $_SERVER['PATH_TRANSLATED']. - __________________________________________________________________ - -Note about nsapi_virtual() and subrequests (PHP >= 4.3.3) - - The NSAPI module now supports the nsapi_virtual() function (alias: - virtual()) to make subrequests on the web server and insert the result - in the web page. The problem is, that this function uses some - undocumented features from the NSAPI library. - - Under Unix this is not a problem, because the module automatically - looks for the needed functions and uses them if available. If not, - nsapi_virtual() is disabled. - - Under Windows limitations in the DLL handling need the use of a - automatic detection of the most recent ns-httpdXX.dll file. This is - tested for servers till version 6.1. If a newer version of the Sun - server is used, the detection fails and nsapi_virtual() is disabled. - - If this is the case, try the following: Add the following parameter to - php7_init in magnus.conf/obj.conf: - Init fn=php7_init ... server_lib="ns-httpdXX.dll" - - where XX is the correct DLL version number. To get it, look in the - server-root for the correct DLL name. The DLL with the biggest filesize - is the right one. - - You can check the status by using the phpinfo() function. - - Note: But be warned: Support for nsapi_virtual() is EXPERIMENTAL!!! - __________________________________________________________________ - -OmniHTTPd Server - - This section contains notes and hints specific to OmniHTTPd on Windows. - - Note: You should read the manual installation steps first! - - Warning - - By using the CGI setup, your server is open to several possible - attacks. Please read our CGI security section to learn how to defend - yourself from those attacks. - - You need to complete the following steps to make PHP work with - OmniHTTPd. This is a CGI executable setup. SAPI is supported by - OmniHTTPd, but some tests have shown that it is not so stable to use - PHP as an ISAPI module. - - Important for CGI users: Read the faq on cgi.force_redirect for - important details. This directive needs to be set to 0. - - 1. Install OmniHTTPd server. - 2. Right click on the blue OmniHTTPd icon in the system tray and - select Properties - 3. Click on Web Server Global Settings - 4. On the 'External' tab, enter: virtual = .php | actual = - c:\php\php.exe (use php-cgi.exe if installing PHP 7), and use the - Add button. - 5. On the Mime tab, enter: virtual = wwwserver/stdcgi | actual = .php, - and use the Add button. - 6. Click OK - - Repeat steps 2 - 6 for each extension you want to associate with PHP. - - __________________________________________________________________ - -Xitami on Microsoft Windows - - This section contains notes and hints specific to Xitami on Windows. - - Note: You should read the manual installation steps first! - - This list describes how to set up the PHP CGI binary to work with - Xitami on Windows. - - Important for CGI users: Read the faq on cgi.force_redirect for - important details. This directive needs to be set to 0. If you want - to use $_SERVER['PHP_SELF'] you have to enable the cgi.fix_pathinfo - directive. - - Warning - - By using the CGI setup, your server is open to several possible - attacks. Please read our CGI security section to learn how to defend - yourself from those attacks. - - * Make sure the web server is running, and point your browser to - xitamis admin console (usually http://127.0.0.1/admin), and click - on Configuration. - * Navigate to the Filters, and put the extension which PHP should - parse (i.e. .php) into the field File extensions (.xxx). - * In Filter command or script put the path and name of your PHP CGI - executable i.e. C:\php\php-cgi.exe. - * Press the 'Save' icon. - * Restart the server to reflect changes. - __________________________________________________________________ - -Installation of extensions on Windows - - After installing PHP and a web server on Windows, you will probably - want to install some extensions for added functionality. You can choose - which extensions you would like to load when PHP starts by modifying - your php.ini. You can also load a module dynamically in your script - using dl(). - - The DLLs for PHP extensions are prefixed with php_. - - Many extensions are built into the Windows version of PHP. This means - additional DLL files, and the extension directive, are not used to load - these extensions. The Windows PHP Extensions table lists extensions - that require, or used to require, additional PHP DLL files. Here's a - list of built in extensions: - - In PHP 7 (updated PHP 5.0.4), the following changes exist. Built in: - DOM, LibXML, Iconv, SimpleXML, SPL and SQLite. And the following are no - longer built in: MySQL and Overload. - - The default location PHP searches for extensions is C:\php7 in PHP 7. - To change this setting to reflect your setup of PHP edit your php.ini - file: - - * You will need to change the extension_dir setting to point to the - directory where your extensions lives, or where you have placed - your php_*.dll files. For example: - -extension_dir = C:\php\extensions - - * Enable the extension(s) in php.ini you want to use by uncommenting - the extension=php_*.dll lines in php.ini. This is done by deleting - the leading ; from the extension you want to load. - - Example 2-8. Enable Bzip2 extension for PHP-Windows -// change the following line from ... -;extension=php_bz2.dll - -// ... to -extension=php_bz2.dll - - * Some of the extensions need extra DLLs to work. Couple of them can - be found in the distribution package, in in the main folder in PHP 5, - but some, for example Oracle (php_oci8.dll) require DLLs which are - not bundled with the distribution package. - * Some of these DLLs are not bundled with the PHP distribution. See - each extensions documentation page for details. Also, read the - manual section titled Installation of PECL extensions for details - on PECL. An increasingly large number of PHP extensions are found - in PECL, and these extensions require a separate download. - - Note: If you are running a server module version of PHP remember to - restart your web server to reflect your changes to php.ini. - - The following table describes some of the extensions available and - required additional dlls. - - Table 2-1. PHP Extensions - Extension Description Notes - php_bz2.dll bzip2 compression functions None - php_calendar.dll Calendar conversion functions - php_cpdf.dll ClibPDF functions None - php_crack.dll Crack functions None - php_ctype.dll ctype family functions - php_curl.dll CURL, Client URL library functions Requires: libeay32.dll, - ssleay32.dll (bundled) - php_db.dll DBM functions Deprecated. Use DBA instead (php_dba.dll) - php_dba.dll DBA: DataBase (dbm-style) Abstraction layer functions None - php_dbase.dll dBase functions None - php_dbx.dll dbx functions - php_exif.dll EXIF functions php_mbstring.dll. And, php_exif.dll must be - loaded after php_mbstring.dll in php.ini. - php_fdf.dll FDF: Forms Data Format functions. Requires: fdftk.dll - (bundled) - php_filepro.dll filePro functions Read-only access - php_ftp.dll FTP functions - php_gd2.dll GD library image functions GD2 - php_gettext.dll Gettext functions, requires libintl-1.dll, - iconv.dll (bundled). - php_iconv.dll ICONV characterset conversion Requires: iconv.dll - php_imap.dll IMAP POP3 and NNTP functions None - php_interbase.dll InterBase functions Requires: gds32.dll (bundled) - php_ldap.dll LDAP functions requires libeay32.dll, ssleay32.dll (bundled) - php_mbstring.dll Multi-Byte String functions None - php_mime_magic.dll Mimetype functions Requires: magic.mime (bundled) - php_ming.dll Ming functions for Flash None - php_msql.dll mSQL functions Requires: msql.dll (bundled) - php_mssql.dll MSSQL functions Requires: ntwdblib.dll (bundled) - php_mysql.dll MySQL functions PHP >= 5.0.0, requires libmysql.dll - (bundled) - php_mysqli.dll MySQLi functions PHP >= 5.0.0, requires libmysql.dll - (libmysqli.dll in PHP <= 5.0.2) (bundled) - php_oci8.dll Oracle 8 functions Requires: Oracle 8.1+ client libraries - php_openssl.dll OpenSSL functions Requires: libeay32.dll (bundled) - php_oracle.dll Oracle functions Requires: Oracle 7 client libraries - php_pgsql.dll PostgreSQL functions None - php_printer.dll Printer functions None - php_shmop.dll Shared Memory functions None - php_snmp.dll SNMP get and walk functions NT only! - php_soap.dll SOAP functions PHP >= 5.0.0 - php_sockets.dll Socket functions None - php_sodium.dll Sodium cryptography library PHP >= 7.2.0 - php_sybase_ct.dll Sybase functions Requires: Sybase client libraries - php_tidy.dll Tidy functions PHP >= 5.0.0 - php_tokenizer.dll Tokenizer functions Built in since PHP 4.3.0 - php_xmlrpc.dll XML-RPC functions PHP >= 4.2.1 requires: iconv.dll - (bundled) - php_xslt.dll XSLT requires libxslt.dll, iconv.dll (bundled). - php_zip.dll Zip File functions - php_zlib.dll ZLib compression functions - __________________________________________________________________ - -Chapter 3. Installation of PECL extensions - -Introduction to PECL Installations - - PECL is a repository of PHP extensions that are made available to you - via the PEAR packaging system. This section of the manual is intended - to demonstrate how to obtain and install PECL extensions. - - These instructions assume /your/phpsrcdir/ is the path to the PHP - source distribution, and that extname is the name of the PECL - extension. Adjust accordingly. These instructions also assume a - familiarity with the pear command. The information in the PEAR manual - for the pear command also applies to the pecl command. - - To be useful, a shared extension must be built, installed, and loaded. - The methods described below provide you with various instructions on - how to build and install the extensions, but they do not automatically - load them. Extensions can be loaded by adding an extension directive. - To this php.ini file, or through the use of the dl() function. - - When building PHP modules, it's important to have known-good versions - of the required tools (autoconf, automake, libtool, etc.) See the - SVN Instructions for details on the required tools, and required - versions. - __________________________________________________________________ - -Downloading PECL extensions - - There are several options for downloading PECL extensions, such as: - - * http://pecl.php.net - The PECL web site contains information about the different - extensions that are offered by the PHP Development Team. The - information available here includes: ChangeLog, release notes, - requirements and other similar details. - * pecl download extname - PECL extensions that have releases listed on the PECL web site are - available for download and installation using the pecl command. - Specific revisions may also be specified. - * SVN - Most PECL extensions also reside in SVN. A web-based view may be - seen at http://svn.php.net/pecl/. To download straight from SVN, - the following sequence of commands may be used. - -$ svn co http://svn.php.net/repository/pecl//trunk - - * Windows downloads - Windows users may find compiled PECL binaries by downloading the - Collection of PECL modules from the PHP Downloads page, or by - retrieving a PECL Snapshot or an extension DLL on PECL4WIN. To - compile PHP under Windows, read the appropriate chapter. - __________________________________________________________________ - -PECL for Windows users - - As with any other PHP extension DLL, installation is as simple as - copying the PECL extension DLLs into the extension_dir folder and - loading them from php.ini. For example, add the following line to your - php.ini: - - extension=php_extname.dll - - After doing this, restart the web server. - __________________________________________________________________ - -Compiling shared PECL extensions with the pecl command - - PECL makes it easy to create shared PHP extensions. Using the pecl - command, do the following: - - $ pecl install extname - - This will download the source for extname, compile, and install - extname.so into your extension_dir. extname.so may then be loaded via - php.ini - - By default, the pecl command will not install packages that are marked - with the alpha or beta state. If no stable packages are available, you - may install a beta package using the following command: - - $ pecl install extname-beta - - You may also install a specific version using this variant: - - $ pecl install extname-0.1 - __________________________________________________________________ - -Compiling shared PECL extensions with phpize - - Sometimes, using the pecl installer is not an option. This could be - because you're behind a firewall, or it could be because the extension - you want to install is not available as a PECL compatible package, such - as unreleased extensions from SVN. If you need to build such an - extension, you can use the lower-level build tools to perform the build - manually. - - The phpize command is used to prepare the build environment for a PHP - extension. In the following sample, the sources for an extension are in - a directory named extname: - -$ cd extname -$ phpize -$ ./configure -$ make -# make install - - A successful install will have created extname.so and put it into the - PHP extensions directory. You'll need to and adjust php.ini and add an - extension=extname.so line before you can use the extension. - - If the system is missing the phpize command, and precompiled packages - (like RPM's) are used, be sure to also install the appropriate devel - version of the PHP package as they often include the phpize command - along with the appropriate header files to build PHP and its - extensions. - - Execute phpize --help to display additional usage information. - __________________________________________________________________ - -Compiling PECL extensions statically into PHP - - You might find that you need to build a PECL extension statically into - your PHP binary. To do this, you'll need to place the extension source - under the php-src/ext/ directory and tell the PHP build system to - regenerate its configure script. - -$ cd /your/phpsrcdir/ext -$ pecl download extname -$ gzip -d < extname.tgz | tar -xvf - -$ mv extname-x.x.x extname - - This will result in the following directory: - - /your/phpsrcdir/ext/extname - - From here, force PHP to rebuild the configure script, and then build - PHP as normal: - -$ cd /your/phpsrcdir -$ rm configure -$ ./buildconf --force -$ ./configure --help -$ ./configure --with-extname --enable-someotherext --with-foobar -$ make -$ make install - - Note: To run the 'buildconf' script you need autoconf 2.13 and - automake 1.4+ (newer versions of autoconf may work, but are not - supported). - - Whether --enable-extname or --with-extname is used depends on the - extension. Typically an extension that does not require external - libraries uses --enable. To be sure, run the following after buildconf: - - $ ./configure --help | grep extname - __________________________________________________________________ - -Chapter 4. Problems? - -Read the FAQ - - Some problems are more common than others. The most common ones are - listed in the PHP FAQ, part of this manual. - __________________________________________________________________ - -Other problems - - If you are still stuck, someone on the PHP installation mailing list - may be able to help you. You should check out the archive first, in - case someone already answered someone else who had the same problem as - you. The archives are available from the support page on - http://www.php.net/support.php. To subscribe to the PHP installation - mailing list, send an empty mail to - php-install-subscribe@lists.php.net. The mailing list address is - php-install@lists.php.net. - - If you want to get help on the mailing list, please try to be precise - and give the necessary details about your environment (which operating - system, what PHP version, what web server, if you are running PHP as - CGI or a server module, safe mode, etc...), and preferably enough code - to make others able to reproduce and test your problem. - __________________________________________________________________ - -Bug reports - - If you think you have found a bug in PHP, please report it. The PHP - developers probably don't know about it, and unless you report it, - chances are it won't be fixed. You can report bugs using the - bug-tracking system at http://bugs.php.net/. Please do not send bug - reports in mailing list or personal letters. The bug system is also - suitable to submit feature requests. - - Read the How to report a bug document before submitting any bug - reports! - __________________________________________________________________ - -Chapter 5. Runtime Configuration - -The configuration file - - The configuration file (called php3.ini in PHP 3, and simply php.ini as - of PHP 4) is read when PHP starts up. For the server module versions of - PHP, this happens only once when the web server is started. For the CGI - and CLI version, it happens on every invocation. - - php.ini is searched in these locations (in order): - - * SAPI module specific location (PHPIniDir directive in Apache 2, -c - command line option in CGI and CLI, php_ini parameter in NSAPI, - PHP_INI_PATH environment variable in THTTPD) - * The PHPRC environment variable. Before PHP 5.2.0 this was checked - after the registry key mentioned below. - * As of PHP 5.2.0, the following registry locations are searched in - order: HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z\IniFilePath, - HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y\IniFilePath and - HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x\IniFilePath, where x, y and z - mean the PHP major, minor and release versions. - * HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath (Windows Registry - location) - * Current working directory (except CLI) - * The web server's directory (for SAPI modules), or directory of PHP - (otherwise in Windows) - * Windows directory (C:\windows or C:\winnt) (for Windows), or - --with-config-file-path compile time option - - If php-SAPI.ini exists (where SAPI is used SAPI, so the filename is - e.g. php-cli.ini or php-apache.ini), it's used instead of php.ini. SAPI - name can be determined by php_sapi_name(). - - Note: The Apache web server changes the directory to root at startup - causing PHP to attempt to read php.ini from the root filesystem if - it exists. - - The php.ini directives handled by extensions are documented - respectively on the pages of the extensions themselves. The list of the - core directives is available in the appendix. Probably not all PHP - directives are documented in the manual though. For a complete list of - directives available in your PHP version, please read your well - commented php.ini file. Alternatively, you may find the latest - php.ini from SVN helpful too. - - Example 5-1. php.ini example -; any text on a line after an unquoted semicolon (;) is ignored -[php] ; section markers (text within square brackets) are also ignored -; Boolean values can be set to either: -; true, on, yes -; or false, off, no, none -html_errors = off -track_errors = yes - -; you can enclose strings in double-quotes -include_path = ".:/usr/local/lib/php" - -; backslashes are treated the same as any other character -include_path = ".;c:\php\lib" - - Since PHP 5.1.0, it is possible to refer to existing .ini variables - from within .ini files. Example: open_basedir = ${open_basedir} - ":/new/dir". - __________________________________________________________________ - -How to change configuration settings - -Running PHP as an Apache module - - When using PHP as an Apache module, you can also change the - configuration settings using directives in Apache configuration files - (e.g. httpd.conf) and .htaccess files. You will need "AllowOverride - Options" or "AllowOverride All" privileges to do so. - - With PHP 4 and PHP 7, there are several Apache directives that allow - you to change the PHP configuration from within the Apache - configuration files. For a listing of which directives are PHP_INI_ALL, - PHP_INI_PERDIR, or PHP_INI_SYSTEM, have a look at the List of php.ini - directives appendix. - - Note: With PHP 3, there are Apache directives that correspond to - each configuration setting in the php3.ini name, except the name is - prefixed by "php3_". - - php_value name value - Sets the value of the specified directive. Can be used only with - PHP_INI_ALL and PHP_INI_PERDIR type directives. To clear a - previously set value use none as the value. - - Note: Don't use php_value to set boolean values. php_flag (see - below) should be used instead. - - php_flag name on|off - Used to set a boolean configuration directive. Can be used only - with PHP_INI_ALL and PHP_INI_PERDIR type directives. - - php_admin_value name value - Sets the value of the specified directive. This can not be used - in .htaccess files. Any directive type set with php_admin_value - can not be overridden by .htaccess or virtualhost directives. To - clear a previously set value use none as the value. - - php_admin_flag name on|off - Used to set a boolean configuration directive. This can not be - used in .htaccess files. Any directive type set with - php_admin_flag can not be overridden by .htaccess or virtualhost - directives. - - Example 5-2. Apache configuration example - - php_value include_path ".:/usr/local/lib/php" - php_admin_flag engine on - - - Caution - - PHP constants do not exist outside of PHP. For example, in httpd.conf - you can not use PHP constants such as E_ALL or E_NOTICE to set the - error_reporting directive as they will have no meaning and will - evaluate to 0. Use the associated bitmask values instead. These - constants can be used in php.ini - __________________________________________________________________ - -Changing PHP configuration via the Windows registry - - When running PHP on Windows, the configuration values can be modified - on a per-directory basis using the Windows registry. The configuration - values are stored in the registry key HKLM\SOFTWARE\PHP\Per Directory - Values, in the sub-keys corresponding to the path names. For example, - configuration values for the directory c:\inetpub\wwwroot would be - stored in the key HKLM\SOFTWARE\PHP\Per Directory - Values\c\inetpub\wwwroot. The settings for the directory would be - active for any script running from this directory or any subdirectory - of it. The values under the key should have the name of the PHP - configuration directive and the string value. PHP constants in the - values are not parsed. However, only configuration values changeable in - PHP_INI_USER can be set this way, PHP_INI_PERDIR values can not. - __________________________________________________________________ - -Other interfaces to PHP - - Regardless of how you run PHP, you can change certain values at runtime - of your scripts through ini_set(). See the documentation on the - ini_set() page for more information. - - If you are interested in a complete list of configuration settings on - your system with their current values, you can execute the phpinfo() - function, and review the resulting page. You can also access the values - of individual configuration directives at runtime using ini_get() or - get_cfg_var(). - __________________________________________________________________ - -Chapter 6. Installation FAQ - - This section holds common questions about the way to install PHP. PHP - is available for almost any OS (except maybe for MacOS before OSX), and - almost any web server. - - To install PHP, follow the instructions in Installing PHP. - - 1. Why shouldn't I use Apache2 with a threaded MPM in a production - environment? - - 2. Unix/Windows: Where should my php.ini file be located? - 3. Unix: I installed PHP, but every time I load a document, I get the - message 'Document Contains No Data'! What's going on here? - - 4. Unix: I installed PHP using RPMS, but Apache isn't processing the - PHP pages! What's going on here? - - 5. Unix: I installed PHP 3 using RPMS, but it doesn't compile with the - database support I need! What's going on here? - - 6. Unix: I patched Apache with the FrontPage extensions patch, and - suddenly PHP stopped working. Is PHP incompatible with the - Apache FrontPage extensions? - - 7. Unix/Windows: I have installed PHP, but when I try to access a PHP - script file via my browser, I get a blank screen. - - 8. Unix/Windows: I have installed PHP, but when try to access a PHP - script file via my browser, I get a server 500 error. - - 9. Some operating systems: I have installed PHP without errors, but - when I try to start apache I get undefined symbol errors: - -[mybox:user /src/php7] root# apachectl configtest - apachectl: /usr/local/apache/bin/httpd Undefined symbols: - _compress - _uncompress - - 10. Windows: I have installed PHP, but when I to access a PHP script - file via my browser, I get the error: - -cgi error: - The specified CGI application misbehaved by not - returning a complete set of HTTP headers. - The headers it did return are: - - 11. Windows: I've followed all the instructions, but still can't get - PHP and IIS to work together! - - 12. When running PHP as CGI with IIS, OmniHTTPD or Xitami, I get - the following error: Security Alert! PHP CGI cannot be accessed - directly.. - - 13. How do I know if my php.ini is being found and read? It seems like - it isn't as my changes aren't being implemented. - - 14. How do I add my PHP directory to the PATH on Windows? - 15. How do I make the php.ini file available to PHP on windows? - 16. Is it possible to use Apache content negotiation (MultiViews - option) with PHP? - - 17. Is PHP limited to process GET and POST request methods only? - - 1. Why shouldn't I use Apache2 with a threaded MPM in a production - environment? - - PHP is glue. It is the glue used to build cool web applications by - sticking dozens of 3rd-party libraries together and making it all - appear as one coherent entity through an intuitive and easy to learn - language interface. The flexibility and power of PHP relies on the - stability and robustness of the underlying platform. It needs a working - OS, a working web server and working 3rd-party libraries to glue - together. When any of these stop working PHP needs ways to identify the - problems and fix them quickly. When you make the underlying framework - more complex by not having completely separate execution threads, - completely separate memory segments and a strong sandbox for each - request to play in, feet of clay are introduced into PHP's system. - - If you feel you have to use a threaded MPM, look at a FastCGI - configuration where PHP is running in its own memory space. - - And finally, this warning against using a threaded MPM is not as strong - for Windows systems because most libraries on that platform tend to be - threadsafe. - - 2. Unix/Windows: Where should my php.ini file be located? - - By default on Unix it should be in /usr/local/lib which is - /lib. Most people will want to change this at - compile-time with the --with-config-file-path flag. You would, for - example, set it with something like: - --with-config-file-path=/etc - - And then you would copy php.ini-production from the distribution to - /etc/php.ini and edit it to make any local changes you want. - --with-config-file-scan-dir=PATH - - On Windows the default path for the php.ini file is the Windows - directory. If you're using the Apache webserver, php.ini is first - searched in the Apaches install directory, e.g. c:\program files\apache - group\apache. This way you can have different php.ini files for - different versions of Apache on the same machine. - - See also the chapter about the configuration file. - - 3. Unix: I installed PHP, but every time I load a document, I get the - message 'Document Contains No Data'! What's going on here? - - This probably means that PHP is having some sort of problem and is - core-dumping. Look in your server error log to see if this is the case, - and then try to reproduce the problem with a small test case. If you - know how to use 'gdb', it is very helpful when you can provide a - backtrace with your bug report to help the developers pinpoint the - problem. If you are using PHP as an Apache module try something like: - - * Stop your httpd processes - * gdb httpd - * Stop your httpd processes - * > run -X -f /path/to/httpd.conf - * Then fetch the URL causing the problem with your browser - * > run -X -f /path/to/httpd.conf - * If you are getting a core dump, gdb should inform you of this now - * type: bt - * You should include your backtrace in your bug report. This should - be submitted to http://bugs.php.net/ - - If your script uses the regular expression functions (ereg() and - friends), you should make sure that you compiled PHP and Apache with - the same regular expression package. This should happen automatically - with PHP and Apache 1.3.x - - 4. Unix: I installed PHP using RPMS, but Apache isn't processing the - PHP pages! What's going on here? - - Assuming you installed both Apache and PHP from RPM packages, you need - to uncomment or add some or all of the following lines in your - httpd.conf file: -# Extra Modules -AddModule mod_php.c -AddModule mod_php3.c -AddModule mod_perl.c - -# Extra Modules -LoadModule php_module modules/mod_php.so -LoadModule perl_module modules/libperl.so - - And add: -AddType application/x-httpd-php3 .php3 # for PHP 3 -AddType application/x-httpd-php .php # for PHP 4 - - ... to the global properties, or to the properties of the VirtualDomain - you want to have PHP support added to. - - 5. Unix: I installed PHP 3 using RPMS, but it doesn't compile with the - database support I need! What's going on here? - - Due to the way PHP 3 built, it is not easy to build a complete flexible - PHP RPM. This issue is addressed in PHP 4. For PHP 3, we currently - suggest you use the mechanism described in the INSTALL.REDHAT file in - the PHP distribution. If you insist on using an RPM version of PHP 3, - read on... - - The RPM packagers are setting up the RPMS to install without database - support to simplify installations and because RPMS use /usr/ instead of - the standard /usr/local/ directory for files. You need to tell the RPM - spec file which databases to support and the location of the top-level - of your database server. - - This example will explain the process of adding support for the popular - MySQL database server, using the mod installation for Apache. - - Of course all of this information can be adjusted for any database - server that PHP supports. We will assume you installed MySQL and Apache - completely with RPMS for this example as well. - - * First remove mod_php3 : - -rpm -e mod_php3 - - * Then get the source rpm and INSTALL it, NOT --rebuild - -rpm -Uvh mod_php3-3.0.5-2.src.rpm - - * Then edit the /usr/src/redhat/SPECS/mod_php3.spec file - In the %build section add the database support you want, and the - path. - For MySQL you would add --with-mysql=/usr The %build section will - look something like this: - -./configure --prefix=/usr \ ---with-apxs=/usr/sbin/apxs \ ---with-config-file-path=/usr/lib \ ---enable-debug=no \ ---enable-safe-mode \ ---with-exec-dir=/usr/bin \ ---with-mysql=/usr \ ---with-system-regex - - * Once this modification is made then build the binary rpm as - follows: - -rpm -bb /usr/src/redhat/SPECS/mod_php3.spec - - * Then install the rpm - -rpm -ivh /usr/src/redhat/RPMS/i386/mod_php3-3.0.5-2.i386.rpm - - Make sure you restart Apache, and you now have PHP 3 with MySQL support - using RPM's. Note that it is probably much easier to just build from - the distribution tarball of PHP 3 and follow the instructions in - INSTALL.REDHAT found in that distribution. - - 6. Unix: I patched Apache with the FrontPage extensions patch, and - suddenly PHP stopped working. Is PHP incompatible with the Apache - FrontPage extensions? - - No, PHP works fine with the FrontPage extensions. The problem is that - the FrontPage patch modifies several Apache structures, that PHP relies - on. Recompiling PHP (using 'make clean ; make') after the FP patch is - applied would solve the problem. - - 7. Unix/Windows: I have installed PHP, but when I try to access a PHP - script file via my browser, I get a blank screen. - - Do a 'view source' in the web browser and you will probably find that - you can see the source code of your PHP script. This means that the web - server did not send the script to PHP for interpretation. Something is - wrong with the server configuration - double check the server - configuration against the PHP installation instructions. - - 8. Unix/Windows: I have installed PHP, but when try to access a PHP - script file via my browser, I get a server 500 error. - - Something went wrong when the server tried to run PHP. To get to see a - sensible error message, from the command line, change to the directory - containing the PHP executable (php.exe on Windows) and run php -i. If - PHP has any problems running, then a suitable error message will be - displayed which will give you a clue as to what needs to be done next. - If you get a screen full of HTML codes (the output of the phpinfo() - function) then PHP is working, and your problem may be related to your - server configuration which you should double check. - - 9. Some operating systems: I have installed PHP without errors, but - when I try to start apache I get undefined symbol errors: -[mybox:user /src/php7] root# apachectl configtest - apachectl: /usr/local/apache/bin/httpd Undefined symbols: - _compress - _uncompress - - This has actually nothing to do with PHP, but with the MySQL client - libraries. Some need --with-zlib, others do not. This is also covered - in the MySQL FAQ. - - 10. Windows: I have installed PHP, but when I to access a PHP script - file via my browser, I get the error: -cgi error: - The specified CGI application misbehaved by not - returning a complete set of HTTP headers. - The headers it did return are: - - This error message means that PHP failed to output anything at all. To - get to see a sensible error message, from the command line, change to - the directory containing the PHP executable (php.exe on Windows) and - run php -i. If PHP has any problems running, then a suitable error - message will be displayed which will give you a clue as to what needs - to be done next. If you get a screen full of HTML codes (the output of - the phpinfo() function) then PHP is working. - - Once PHP is working at the command line, try accessing the script via - the browser again. If it still fails then it could be one of the - following: - - * File permissions on your PHP script, php.exe, php7ts.dll, php.ini - or any PHP extensions you are trying to load are such that the - anonymous internet user ISUR_ cannot access them. - * The script file does not exist (or possibly isn't where you think - it is relative to your web root directory). Note that for IIS you - can trap this error by ticking the 'check file exists' box when - setting up the script mappings in the Internet Services Manager. If - a script file does not exist then the server will return a 404 - error instead. There is also the additional benefit that IIS will - do any authentication required for you based on the NTLanMan - permissions on your script file. - - 11. Windows: I've followed all the instructions, but still can't get - PHP and IIS to work together! - - Make sure any user who needs to run a PHP script has the rights to run - php.exe! IIS uses an anonymous user which is added at the time IIS is - installed. This user needs rights to php.exe. Also, any authenticated - user will also need rights to execute php.exe. And for IIS4 you need to - tell it that PHP is a script engine. Also, you will want to read this - faq. - - 12. When running PHP as CGI with IIS, OmniHTTPD or Xitami, I get - the following error: Security Alert! PHP CGI cannot be accessed - directly.. - - You must set the cgi.force_redirect directive to 0. It defaults to 1 so - be sure the directive isn't commented out (with a ;). Like all - directives, this is set in php.ini - - Because the default is 1, it's critical that you're 100% sure that the - correct php.ini file is being read. Read this faq for details. - - 13. How do I know if my php.ini is being found and read? It seems like - it isn't as my changes aren't being implemented. - - To be sure your php.ini is being read by PHP, make a call to phpinfo() - and near the top will be a listing called Configuration File (php.ini). - This will tell you where PHP is looking for php.ini and whether or not - it's being read. If just a directory PATH exists than it's not being - read and you should put your php.ini in that directory. If php.ini is - included within the PATH than it is being read. - - If php.ini is being read and you're running PHP as a module, then be - sure to restart your web server after making changes to php.ini - - 14. How do I add my PHP directory to the PATH on Windows? - - On Windows NT, 2000, XP and 2003: - - * Go to Control Panel and open the System icon (Start -> Settings -> - Control Panel -> System, or just Start -> Control Panel -> System - for Windows XP/2003) - * Go to the Advanced tab - * Click on the 'Environment Variables' button - * Look into the 'System Variables' pane - * Find the Path entry (you may need to scroll to find it) - * Double click on the Path entry - * Enter your PHP directory at the end, including ';' before (e.g. - ;C:\php) - * Press OK and restart your computer - - On Windows 98/Me you need to edit the autoexec.bat file: - - * Open the Notepad (Start -> Run and enter notepad) - * Open the C:\autoexec.bat file - * Locate the line with PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;..... and - add: ;C:\php to the end of the line - * Save the file and restart your computer - - Note: Be sure to reboot after following the steps above to ensure - that the PATH changes are applied. - - The PHP manual used to promote the copying of files into the Windows - system directory, this is because this directory (C:\Windows, C:\WINNT, - etc.) is by default in the systems PATH. Copying files into the Windows - system directory has long since been deprecated and may cause problems. - - 15. How do I make the php.ini file available to PHP on windows? - - There are several ways of doing this. If you are using Apache, read - their installation specific instructions (Apache 1, Apache 2), - otherwise you must set the PHPRC environment variable: - - On Windows NT, 2000, XP and 2003: - - * Go to Control Panel and open the System icon (Start -> Settings -> - Control Panel -> System, or just Start -> Control Panel -> System - for Windows XP/2003) - * Go to the Advanced tab - * Click on the 'Environment Variables' button - * Look into the 'System variables' pane - * Click on 'New' and enter 'PHPRC' as the variable name and the - directory where php.ini is located as the variable value (e.g. - C:\php) - * Press OK and restart your computer - - On Windows 98/Me you need to edit the autoexec.bat file: - - * Open the Notepad (Start -> Run and enter notepad) - * Open the C:\autoexec.bat file - * Add a new line to the end of the file: set PHPRC=C:\php (replace - C:\php with the directory where php.ini is located). Please note - that the path cannot contain spaces. For instance, if you have - installed PHP in C:\Program Files\PHP, you would enter - C:\PROGRA~1\PHP instead. - * Save the file and restart your computer - - 16. Is it possible to use Apache content negotiation (MultiViews - option) with PHP? - - If links to PHP files include extension, everything works perfect. This - FAQ is only for the case when links to PHP files don't include - extension and you want to use content negotiation to choose PHP files - from URL with no extension. In this case, replace the line AddType - application/x-httpd-php .php with: -# PHP 4 -AddHandler php-script php -AddType text/html php - -# PHP 7 -AddHandler php7-script php -AddType text/html php - - This solution doesn't work for Apache 1 as PHP module doesn't catch - php-script. - - 17. Is PHP limited to process GET and POST request methods only? - - No, it is possible to handle any request method, e.g. CONNECT. Proper - response status can be sent with header(). If only GET and POST methods - should be handled, it can be achieved with this Apache configuration: - -Deny from all - diff --git a/php/lib/enchant/libenchant2_hunspell.dll b/php/lib/enchant/libenchant2_hunspell.dll new file mode 100644 index 0000000..a1e7672 Binary files /dev/null and b/php/lib/enchant/libenchant2_hunspell.dll differ diff --git a/php/lib/enchant/libenchant_ispell.dll b/php/lib/enchant/libenchant_ispell.dll deleted file mode 100644 index d00cda3..0000000 Binary files a/php/lib/enchant/libenchant_ispell.dll and /dev/null differ diff --git a/php/lib/enchant/libenchant_myspell.dll b/php/lib/enchant/libenchant_myspell.dll deleted file mode 100644 index 76d3668..0000000 Binary files a/php/lib/enchant/libenchant_myspell.dll and /dev/null differ diff --git a/php/libcrypto-1_1-x64.dll b/php/libcrypto-1_1-x64.dll deleted file mode 100644 index 9e503c0..0000000 Binary files a/php/libcrypto-1_1-x64.dll and /dev/null differ diff --git a/php/libcrypto-3-x64.dll b/php/libcrypto-3-x64.dll new file mode 100644 index 0000000..b0fba10 Binary files /dev/null and b/php/libcrypto-3-x64.dll differ diff --git a/php/libenchant.dll b/php/libenchant.dll deleted file mode 100644 index 1d75d7b..0000000 Binary files a/php/libenchant.dll and /dev/null differ diff --git a/php/libenchant2.dll b/php/libenchant2.dll new file mode 100644 index 0000000..9f3e511 Binary files /dev/null and b/php/libenchant2.dll differ diff --git a/php/libpq.dll b/php/libpq.dll index cdb5681..22682a8 100644 Binary files a/php/libpq.dll and b/php/libpq.dll differ diff --git a/php/libsasl.dll b/php/libsasl.dll index 6632344..6a5adf8 100644 Binary files a/php/libsasl.dll and b/php/libsasl.dll differ diff --git a/php/libsodium.dll b/php/libsodium.dll index 24d9e35..7021f1b 100644 Binary files a/php/libsodium.dll and b/php/libsodium.dll differ diff --git a/php/libsqlite3.dll b/php/libsqlite3.dll new file mode 100644 index 0000000..aa08543 Binary files /dev/null and b/php/libsqlite3.dll differ diff --git a/php/libssh2.dll b/php/libssh2.dll index 41b276a..c15596d 100644 Binary files a/php/libssh2.dll and b/php/libssh2.dll differ diff --git a/php/libssl-1_1-x64.dll b/php/libssl-1_1-x64.dll deleted file mode 100644 index 3aaf3d4..0000000 Binary files a/php/libssl-1_1-x64.dll and /dev/null differ diff --git a/php/libssl-3-x64.dll b/php/libssl-3-x64.dll new file mode 100644 index 0000000..bb4d879 Binary files /dev/null and b/php/libssl-3-x64.dll differ diff --git a/php/license.txt b/php/license.txt index 8fb10fa..c39493d 100644 --- a/php/license.txt +++ b/php/license.txt @@ -1,7 +1,7 @@ --------------------------------------------------------------------- +-------------------------------------------------------------------- The PHP License, version 3.01 -Copyright (c) 1999 - 2018 The PHP Group. All rights reserved. --------------------------------------------------------------------- +Copyright (c) 1999 - 2022 The PHP Group. All rights reserved. +-------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without modification, is permitted provided that the following conditions @@ -9,22 +9,22 @@ are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - + 3. The name "PHP" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact group@php.net. - + 4. Products derived from this software may not be called "PHP", nor may "PHP" appear in their name, without prior written permission from group@php.net. You may indicate that your software works in conjunction with PHP by saying "Foo for PHP" instead of calling it "PHP Foo" or "phpfoo" - + 5. The PHP Group may publish revised and/or new versions of the license from time to time. Each version will be given a distinguishing version number. @@ -41,27 +41,27 @@ are met: "This product includes PHP software, freely available from ". -THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND +THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP -DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------- +-------------------------------------------------------------------- This software consists of voluntary contributions made by many individuals on behalf of the PHP Group. The PHP Group can be contacted via Email at group@php.net. -For more information on the PHP Group and the PHP project, +For more information on the PHP Group and the PHP project, please see . PHP includes the Zend Engine, freely available at diff --git a/php/news.txt b/php/news.txt index 5aab6e0..8cafddf 100644 --- a/php/news.txt +++ b/php/news.txt @@ -1,1973 +1,398 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -01 Feb 2018, PHP 7.2.2 - -- Core: - . Fixed bug #75742 (potential memleak in internal classes's static members). - (Laruence) - . Fixed bug #75679 (Path 260 character problem). (Anatol) - . Fixed bug #75614 (Some non-portable == in shell scripts). (jdolecek) - . Fixed bug #75786 (segfault when using spread operator on generator passed - by reference). (Nikita) - . Fixed bug #75799 (arg of get_defined_functions is optional). (carusogabriel) - . Fixed bug #75396 (Exit inside generator finally results in fatal error). - (Nikita) - -- FCGI: - . Fixed bug #75794 (getenv() crashes on Windows 7.2.1 when second parameter is - false). (Anatol) - -- IMAP: - . Fixed bug #75774 (imap_append HeapCorruction). (Anatol) - -- Opcache: - . Fixed bug #75720 (File cache not populated after SHM runs full). (Dmitry) - . Fixed bug #75687 (var 8 (TMP) has array key type but not value type). - (Nikita, Laruence) - . Fixed bug #75698 (Using @ crashes php7.2-fpm). (Nikita) - . Fixed bug #75579 (Interned strings buffer overflow may cause crash). - (Dmitry) - -- PDO: - . Fixed bug #75616 (PDO extension doesn't allow to be built shared on Darwin). - (jdolecek) - -- PDO MySQL: - . Fixed bug #75615 (PDO Mysql module can't be built as module). (jdolecek) - -- PGSQL: - . Fixed bug #75671 (pg_version() crashes when called on a connection to - cockroach). (magicaltux at gmail dot com) - -- Readline: - . Fixed bug #75775 (readline_read_history segfaults with empty file). - (Anatol) - -- SAPI: - . Fixed bug #75735 ([embed SAPI] Segmentation fault in - sapi_register_post_entry). (Laruence) - -- SOAP: - . Fixed bug #70469 (SoapClient generates E_ERROR even if exceptions=1 is - used). (Anton Artamonov) - . Fixed bug #75502 (Segmentation fault in zend_string_release). (Nikita) - -- SPL: - . Fixed bug #75717 (RecursiveArrayIterator does not traverse arrays by - reference). (Nikita) - . Fixed bug #75242 (RecursiveArrayIterator doesn't have constants from parent - class). (Nikita) - . Fixed bug #73209 (RecursiveArrayIterator does not iterate object - properties). (Nikita) - -- Standard: - . Fixed bug #75781 (substr_count incorrect result). (Laruence) - . Fixed bug #75653 (array_values don't work on empty array). (Nikita) - -- Zip: - . Display headers (buildtime) and library (runtime) versions in phpinfo - (with libzip >= 1.3.1). (Remi) - -04 Jan 2018, PHP 7.2.1 - -- Core: - . Fixed bug #75573 (Segmentation fault in 7.1.12 and 7.0.26). (Laruence) - . Fixed bug #75384 (PHP seems incompatible with OneDrive files on demand). - (Anatol) - . Fixed bug #75525 (Access Violation in vcruntime140.dll). (Anatol) - . Fixed bug #74862 (Unable to clone instance when private __clone defined). - (Daniel Ciochiu) - . Fixed bug #75074 (php-process crash when is_file() is used with strings - longer 260 chars). (Anatol) - . Fixed bug #69727 (Remove timestamps from build to make it reproducible). - (jelle van der Waa) - -- CLI server: - . Fixed bug #73830 (Directory does not exist). (Anatol) - -- FPM: - . Fixed bug #64938 (libxml_disable_entity_loader setting is shared between - requests). (Remi) - -- GD: - . Fixed bug #75571 (Potential infinite loop in gdImageCreateFromGifCtx). - (Christoph) - -- Opcache: - . Fixed bug #75608 ("Narrowing occurred during type inference" error). - (Laruence, Dmitry) - . Fixed bug #75579 (Interned strings buffer overflow may cause crash). - (Dmitry) - . Fixed bug #75570 ("Narrowing occurred during type inference" error). - (Dmitry) - . Fixed bug #75681 (Warning: Narrowing occurred during type inference, - specific case). (Nikita) - . Fixed bug #75556 (Invalid opcode 138/1/1). (Laruence) - -- PCRE: - . Fixed bug #74183 (preg_last_error not returning error code after error). - (Andrew Nester) - -- Phar: - . Fixed bug #74782 (remove file name from output to avoid XSS). (stas) - -- Standard: - . Fixed bug #75511 (fread not free unused buffer). (Laruence) - . Fixed bug #75514 (mt_rand returns value outside [$min,$max]+ on 32-bit) - (Remi) - . Fixed bug #75535 (Inappropriately parsing HTTP response leads to PHP - segment fault). (Nikita) - . Fixed bug #75409 (accept EFAULT in addition to ENOSYS as indicator - that getrandom() is missing). (sarciszewski) - . Fixed bug #73124 (php_ini_scanned_files() not reporting correctly). - (John Stevenson) - . Fixed bug #75574 (putenv does not work properly if parameter contains - non-ASCII unicode character). (Anatol) - -- Zip: - . Fixed bug #75540 (Segfault with libzip 1.3.1). (Remi) - -30 Nov 2017, PHP 7.2.0 - -- BCMath: - . Fixed bug #46564 (bcmod truncates fractionals). (liborm85) - -- CLI: - . Fixed bug #74849 (Process is started as interactive shell in PhpStorm). - (Anatol) - . Fixed bug #74979 (Interactive shell opening instead of script execution - with -f flag). (Anatol) - -- CLI server: - . Fixed bug #60471 (Random "Invalid request (unexpected EOF)" using a router - script). (SammyK) - -- Core: - . Added ZEND_COUNT, ZEND_GET_CLASS, ZEND_GET_CALLED_CLASS, ZEND_GET_TYPE, - ZEND_FUNC_NUM_ARGS, ZEND_FUNC_GET_ARGS instructions, to implement - corresponding builtin functions. (Dmitry) - . "Countable" interface is moved from SPL to Core. (Dmitry) - . Added ZEND_IN_ARRAY instruction, implementing optimized in_array() builtin - function, through hash lookup in flipped array. (Dmitry) - . Removed IS_TYPE_IMMUTABLE (it's the same as COPYABLE & !REFCOUNTED). (Dmitry) - . Removed the sql.safe_mode directive. (Kalle) - . Removed support for Netware. (Kalle) - . Renamed ReflectionClass::isIterateable() to ReflectionClass::isIterable() - (alias original name for BC). (Sara) - . Fixed bug #54535 (WSA cleanup executes before MSHUTDOWN). (Kalle) - . Implemented FR #69791 (Disallow mail header injections by extra headers) - (Yasuo) - . Implemented FR #49806 (proc_nice() for Windows). (Kalle) - . Fix pthreads detection when cross-compiling (ffontaine) - . Fixed memory leaks caused by exceptions thrown from destructors. (Bob, - Dmitry). - . Fixed bug #73215 (uniqid() should use better random source). (Yasuo) - . Implemented FR #72768 (Add ENABLE_VIRTUAL_TERMINAL_PROCESSING flag for - php.exe). (Michele Locati) - . Implemented "Convert numeric keys in object/array casts" RFC, fixes - bugs #53838, #61655, #66173, #70925, #72254, etc. (Andrea) - . Implemented "Deprecate and Remove Bareword (Unquoted) Strings" RFC. - (Rowan Collins) - . Raised minimum supported Windows versions to Windows 7/Server 2008 R2. - (Anatol) - . Implemented minor optimization in array_keys/array_values(). (Sara) - . Added PHP_OS_FAMILY constant to determine on which OS we are. (Jan Altensen) - . Fixed bug #73987 (Method compatibility check looks to original - definition and not parent). (pmmaga) - . Fixed bug #73991 (JSON_OBJECT_AS_ARRAY not respected). (Sara) - . Fixed bug #74053 (Corrupted class entries on shutdown when a destructor - spawns another object). (jim at commercebyte dot com) - . Fixed bug #73971 (Filename got limited to MAX_PATH on Win32 when scan - directory). (Anatol) - . Fixed bug #72359, bug #72451, bug #73706, bug #71115 and others related - to interned strings handling in TS builds. (Anatol, Dmitry) - . Implemented "Trailing Commas In List Syntax" RFC for group use lists only. - (Sammy Kaye Powers) - . Fixed bug #74269 (It's possible to override trait property with different - loosely-equal value). (pmmaga) - . Fixed bug #61970 (Restraining __construct() access level in subclass gives - a fatal error). (pmmaga) - . Fixed bug #63384 (Cannot override an abstract method with an abstract - method). (pmmaga, wes) - . Fixed bug #74607 (Traits enforce different inheritance rules). (pmmaga) - . Fixed misparsing of abstract unix domain socket names. (Sara) - . Change PHP_OS_FAMILY value from "OSX" to "Darwin". (Sebastian, Kalle) - . Allow loading PHP/Zend extensions by name in ini files (extension=). - (francois at tekwire dot net) - . Added object type annotation. (brzuchal) - . Fixed bug #74815 (crash with a combination of INI entries at startup). - (Anatol) - . Fixed bug #74836 (isset on zero-prefixed numeric indexes in array broken). - (Dmitry) - . Added new VM instuctions ISSET_ISEMPTY_CV and UNSET_CV. Previously they - were implemented as ISSET_ISEMPTY_VAR and UNSET_VAR variants with - ZEND_QUICK_SET flag. (Nikita, Dmitry) - . Fixed bug #49649 (unserialize() doesn't handle changes in property - visibility). (pmmaga) - . Fixed #74866 (extension_dir = "./ext" now use current directory for base). - (Francois Laupretre) - . Implemented FR #74963 (Improved error message on fetching property of - non-object). (Laruence) - . Fixed Bug #75142 (buildcheck.sh check for autoconf version needs to be updated - for v2.64). (zizzy at zizzy dot net, Remi) - . Fixed bug #74878 (Data race in ZTS builds). (Nikita, Dmitry) - . Fixed bug #75515 ("stream_copy_to_stream" doesn't stream anymore). (Sara) - -- cURL: - . Fixed bug #75093 (OpenSSL support not detected). (Remi) - . Better fix for #74125 (use pkg-config instead of curl-config). (Remi) - -- Date: - . Fixed bug #55407 (Impossible to prototype DateTime::createFromFormat). - (kelunik) - . Implemented FR #71520 (Adding the DateTime constants to the - DateTimeInterface interface). (Majkl578) - . Fixed bug #75149 (redefinition of typedefs ttinfo and t1info). (Remi) - . Fixed bug #75222 (DateInterval microseconds property always 0). (jhdxr) - -- Dba: - . Fixed bug #72885 (flatfile: dba_fetch() fails to read replaced entry). - (Anatol) - -- DOM: - . Implement #74837 (Implement Countable for DomNodeList and DOMNamedNodeMap). - (Andreas Treichel) - -- EXIF: - . Added support for vendor specific tags for the following formats: - Samsung, DJI, Panasonic, Sony, Pentax, Minolta, Sigma/Foveon, AGFA, - Kyocera, Ricoh & Epson. (Kalle) - . Fixed bug #72682 (exif_read_data() fails to read all data for some - images). (Kalle) - . Fixed bug #71534 (Type confusion in exif_read_data() leading to heap - overflow in debug mode). (hlt99 at blinkenshell dot org, Kalle) - . Fixed bug #68547 (Exif Header component value check error). - (sjh21a at gmail dot com, Kalle) - . Fixed bug #66443 (Corrupt EXIF header: maximum directory nesting level - reached for some cameras). (Kalle) - . Fixed Redhat bug #1362571 (PHP not returning full results for - exif_read_data function). (Kalle) - . Implemented #65187 (exif_read_data/thumbnail: add support for stream - resource). (Kalle) - . Deprecated the read_exif_data() alias. (Kalle) - . Fixed bug #74428 (exif_read_data(): "Illegal IFD size" warning occurs with - correct exif format). (bradpiccho at gmail dot com, Kalle) - . Fixed bug #72819 (EXIF thumbnails not read anymore). (Kalle) - . Fixed bug #62523 (php crashes with segfault when exif_read_data called). - (Kalle) - . Fixed bug #50660 (exif_read_data(): Illegal IFD offset (works fine with - other exif readers). (skinny dot bravo at gmail dot com, Kalle) - -- Fileinfo: - . Upgrade bundled libmagic to 5.31. (Anatol) - -- FPM: - . Configuration to limit fpm slow log trace callers. (Sannis) - . Fixed bug #75212 (php_value acts like php_admin_value). (Remi) - -- FTP: - . Implement MLSD for structured listing of directories. (blar) - . Added ftp_append() function. (blar) - -- GD: - . Implemented imageresolution as getter and setter (Christoph) - . Fixed bug #74744 (gd.h: stdarg.h include missing for va_list use in - gdErrorMethod). (rainer dot jung at kippdata dot de, cmb) - . Fixed bug #75111 (Memory disclosure or DoS via crafted .bmp image). (cmb) - -- GMP: - . Fixed bug #70896 (gmp_fact() silently ignores non-integer input). (Sara) - -- Hash: - . Changed HashContext from resource to object. (Rouven Weßling, Sara) - . Disallowed usage of non-cryptographic hash functions with HMAC and PBKDF2. - (Andrey Andreev, Nikita) - . Fixed Bug #75284 (sha3 is not supported on bigendian machine). (Remi) - -- IMAP: - . Fixed bug #72324 (imap_mailboxmsginfo() return wrong size). - (ronaldpoon at udomain dot com dot hk, Kalle) - -- Intl: - . Fixed bug #63790 (test using Spoofchecker which may be unavailable). (Sara) - . Fixed bug #75378 ([REGRESSION] IntlDateFormatter::parse() does not change - $position argument). (Laruence) - -- JSON: - . Add JSON_INVALID_UTF8_IGNORE and JSON_INVALID_UTF8_SUBSTITUTE options for - json_encode and json_decode to ignore or replace invalid UTF-8 byte - sequences - it addresses request #65082. (Jakub Zelenka) - . Fixed bug #75185 (Buffer overflow in json_decode() with - JSON_INVALID_UTF8_IGNORE or JSON_INVALID). (Jakub Zelenka) - . Fixed bug #68567 (JSON_PARTIAL_OUTPUT_ON_ERROR can result in JSON with null - key). (Jakub Zelenka) - -- LDAP: - . Implemented FR #69445 (Support for LDAP EXOP operations) - . Fixed support for LDAP_OPT_SERVER_CONTROLS and LDAP_OPT_CLIENT_CONTROLS in ldap_get_option - . Fixed passing an empty array to ldap_set_option for client or server controls. - -- Mbstring: - . Implemented request #66024 (mb_chr() and mb_ord()). (Masakielastic, Yasuo) - . Implemented request #65081 (mb_scrub()). (Masakielastic, Yasuo) - . Implemented request #69086 (enhancement for mb_convert_encoding() that - handles multibyte replacement char nicely). (Masakielastic, Yasuo) - . Added array input support to mb_convert_encoding(). (Yasuo) - . Added array input support to mb_check_encoding(). (Yasuo) - . Fixed bug #69079 (enhancement for mb_substitute_character). (masakielastic) - . Update to oniguruma version 6.3.0. (Remi) - . Fixed bug #69267 (mb_strtolower fails on titlecase characters). (Nikita) - -- Mcrypt: - . The deprecated mcrypt extension has been moved to PECL. (leigh) - -- Opcache: - . Added global optimisation passes based on data flow analysis using Single - Static Assignment (SSA) form: Sparse Conditional Constant Propagation (SCCP), - Dead Code Elimination (DCE), and removal of unused local variables - (Nikita, Dmitry) - . Fixed incorect constant conditional jump elimination. (Dmitry) - . Fixed bug #75230 (Invalid opcode 49/1/8 using opcache). (Laruence) - . Fixed bug (assertion fails with extended info generated). (Laruence) - . Fixed bug (Phi sources removel). (Laruence) - . Fixed bug #75370 (Webserver hangs on valid PHP text). (Laruence) - . Fixed bug #75357 (segfault loading WordPress wp-admin). (Laruence) - -- OpenSSL: - . Use TLS_ANY for default ssl:// and tls:// negotiation. (kelunik) - . Fix leak in openssl_spki_new(). (jelle at vdwaa dot nl) - . Added openssl_pkcs7_read() and pk7 parameter to openssl_pkcs7_verify(). - (jelle at vdwaa dot nl) - . Add ssl security_level stream option to support OpenSSL security levels. - (Jakub Zelenka). - . Allow setting SNI cert and private key in separate files. (Jakub Zelenka) - . Fixed bug #74903 (openssl_pkcs7_encrypt() uses different EOL than before). - (Anatol) - . Automatically load OpenSSL configuration file. (Jakub Zelenka) - -- PCRE: - . Added support for PCRE JIT fast path API. (dmitry) - . Fixed bug #61780 (Inconsistent PCRE captures in match results). (cmb) - . Fixed bug #74873 (Minor BC break: PCRE_JIT changes output of preg_match()). - (Dmitry) - . Fixed bug #75089 (preg_grep() is not reporting PREG_BAD_UTF8_ERROR after - first input string). (Dmitry) - . Fixed bug #75223 (PCRE JIT broken in 7.2). (Dmitry) - . Fixed bug #75285 (Broken build when system libpcre don't have jit support). - (Remi) - -- phar: - . Fixed bug #74196 (phar does not correctly handle names containing dots). - (mhagstrand) - -- PDO: - . Add "Sent SQL" to debug dump for emulated prepares. (Adam Baratz) - . Add parameter types for national character set strings. (Adam Baratz) - -- PDO_DBlib: - . Fixed bug #73234 (Emulated statements let value dictate parameter type). - (Adam Baratz) - . Fixed bug #73396 (bigint columns are returned as strings). (Adam Baratz) - . Expose DB-Library version as \PDO::DBLIB_ATTR_VERSION attribute on \PDO - instance. (Adam Baratz) - . Add test coverage for bug #72969. (Jeff Farr) - -- PDO_OCI: - . Fixed Bug #74537 (Align --with-pdo-oci configure option with --with-oci8 syntax). - (Tianfang Yang) - -- PDO_Sqlite - . Switch to sqlite3_prepare_v2() and sqlite3_close_v2() functions (rasmus) - -- PHPDBG - . Added extended_value to opcode dump output. (Sara) - -- Session: - . Fixed bug #73461 (Prohibit session save handler recursion). (Yasuo) - . PR #2233 Removed register_globals related code and "!" can be used as $_SESSION key name. (Yasuo) - . Improved bug #73100 fix. 'user' save handler can only be set by session_set_save_handler() - . Fixed bug #74514 (5 session functions incorrectly warn when calling in - read-only/getter mode). (Yasuo) - . Fixed bug #74936 (session_cache_expire/cache_limiter/save_path() trigger a - warning in read mode). (morozov) - . Fixed bug #74941 (session fails to start after having headers sent). - (morozov) - -- Sodium: - . New cryptographic extension - . Added missing bindings for libsodium > 1.0.13. (Frank) - -- SPL: - . Fixed bug #71412 (Incorrect arginfo for ArrayIterator::__construct). - (tysonandre775 at hotmail dot com) - . Added spl_object_id(). (Tyson Andre) - -- SQLite3: - . Implement writing to blobs. (bohwaz at github dot com) - . Update to Sqlite 3.20.1. (cmb) - -- Standard: - . Fixed bug #69442 (closing of fd incorrect when PTS enabled). (jaytaph) - . Fixed bug #74300 (unserialize accepts two plus/minus signs for float number exponent part). - (xKerman) - . Compatibility with libargon2 versions 20161029 and 20160821. - (charlesportwoodii at erianna dot com) - . Fixed Bug #74737 (mysqli_get_client_info reflection info). - (mhagstrand at gmail dot com) - . Add support for extension name as argument to dl(). - (francois at tekwire dot net) - . Fixed bug #74851 (uniqid() without more_entropy performs badly). - (Emmanuel Dreyfus) - . Fixed bug #74103 (heap-use-after-free when unserializing invalid array - size). (Nikita) - . Fixed bug #75054 (A Denial of Service Vulnerability was found when - performing deserialization). (Nikita) - . Fixed bug #75170 (mt_rand() bias on 64-bit machines). (Nikita) - . Fixed bug #75221 (Argon2i always throws NUL at the end). (cmb) - -- Streams: - . Default ssl/single_dh_use and ssl/honor_cipher_order to true. (kelunik) - -- XML: - . Moved utf8_encode() and utf8_decode() to the Standard extension. (Andrea) - -- XMLRPC: - . Use Zend MM for allocation in bundled libxmlrpc (Joe) - -- ZIP: - . Add support for encrypted archives. (Remi) - . Use of bundled libzip is deprecated, --with-libzip option is recommended. (Remi) - . Fixed Bug #73803 (Reflection of ZipArchive does not show public properties). (Remi) - . ZipArchive implements countable, added ZipArchive::count() method. (Remi) - . Fix segfault in php_stream_context_get_option call. (Remi) - . Fixed bug #75143 (new method setEncryptionName() seems not to exist - in ZipArchive). (Anatol) - -- zlib: - . Expose inflate_get_status() and inflate_get_read_len() functions. - (Matthew Trescott) - -23 Nov 2017, PHP 7.1.12 - -- Core: - . Fixed bug #75420 (Crash when modifing property name in __isset for - BP_VAR_IS). (Laruence) - . Fixed bug #75368 (mmap/munmap trashing on unlucky allocations). (Nikita, - Dmitry) - -- CLI: - . Fixed bug #75287 (Builtin webserver crash after chdir in a shutdown - function). (Laruence) - -- Enchant: - . Fixed bug #53070 (enchant_broker_get_path crashes if no path is set). (jelle - van der Waa, cmb) - . Fixed bug #75365 (Enchant still reports version 1.1.0). (cmb) - -- Exif: - . Fixed bug #75301 (Exif extension has built in revision version). (Peter - Kokot) - -- GD: - . Fixed bug #65148 (imagerotate may alter image dimensions). (cmb) - . Fixed bug #75437 (Wrong reflection on imagewebp). (Fabien Villepinte) - -- intl: - . Fixed bug #75317 (UConverter::setDestinationEncoding changes source instead - of destination). (andrewnester) - -- interbase: - . Fixed bug #75453 (Incorrect reflection for ibase_[p]connect). (villfa) - -- Mysqli: - . Fixed bug #75434 (Wrong reflection for mysqli_fetch_all function). (Fabien - Villepinte) - -- OCI8: - . Fixed valgrind issue. (Tianfang Yang) - -- OpenSSL: - . Fixed bug #75363 (openssl_x509_parse leaks memory). (Bob, Jakub Zelenka) - . Fixed bug #75307 (Wrong reflection for openssl_open function). (villfa) - -- Opcache: - . Fixed bug #75373 (Warning Internal error: wrong size calculation). (Laruence, Dmitry) - -- PGSQL: - . Fixed bug #75419 (Default link incorrectly cleared/linked by pg_close()). (Sara) - -- SOAP: - . Fixed bug #75464 (Wrong reflection on SoapClient::__setSoapHeaders). (villfa) - -- Zlib: - . Fixed bug #75299 (Wrong reflection on inflate_init and inflate_add). (Fabien - Villepinte) - -26 Oct 2017, PHP 7.1.11 - -- Core: - . Fixed bug #75241 (Null pointer dereference in zend_mm_alloc_small()). - (Laruence) - . Fixed bug #75236 (infinite loop when printing an error-message). (Andrea) - . Fixed bug #75252 (Incorrect token formatting on two parse errors in one - request). (Nikita) - . Fixed bug #75220 (Segfault when calling is_callable on parent). - (andrewnester) - . Fixed bug #75290 (debug info of Closures of internal functions contain - garbage argument names). (Andrea) - -- Apache2Handler: - . Fixed bug #75311 (error: 'zend_hash_key' has no member named 'arKey' in - apache2handler). (mcarbonneaux) - -- Date: - . Fixed bug #75055 (Out-Of-Bounds Read in timelib_meridian()). (Derick) - -- Hash: - . Fixed bug #75303 (sha3 hangs on bigendian). (Remi) - -- Intl: - . Fixed bug #75318 (The parameter of UConverter::getAliases() is not - optional). (cmb) - -- litespeed: - . Fixed bug #75248 (Binary directory doesn't get created when building - only litespeed SAPI). (petk) - . Fixed bug #75251 (Missing program prefix and suffix). (petk) - -- mcrypt: - . Fixed bug #72535 (arcfour encryption stream filter crashes php). (Leigh) - -- MySQLi: - . Fixed bug #75018 (Data corruption when reading fields of bit type). (Anatol) - -- OCI8: - . Fixed incorrect reference counting. (Dmitry, Tianfang Yang) - -- Opcache - . Fixed bug #75255 (Request hangs and not finish). (Dmitry) - -- PCRE: - . Fixed bug #75207 (applied upstream patch for CVE-2016-1283). (Anatol) - -- PDO_mysql: - . Fixed bug #75177 (Type 'bit' is fetched as unexpected string). (Anatol) - -- SPL: - . Fixed bug #73629 (SplDoublyLinkedList::setIteratorMode masks intern flags). - (J. Jeising, cmb) - -28 Sep 2017, PHP 7.1.10 - -- Core: - . Fixed bug #75042 (run-tests.php issues with EXTENSION block). (John Boehr) - -- BCMath: - . Fixed bug #44995 (bcpowmod() fails if scale != 0). (cmb) - . Fixed bug #46781 (BC math handles minus zero incorrectly). (cmb) - . Fixed bug #54598 (bcpowmod() may return 1 if modulus is 1). (okano1220, cmb) - . Fixed bug #75178 (bcpowmod() misbehaves for non-integer base or modulus). (cmb) - -- CLI server: - . Fixed bug #70470 (Built-in server truncates headers spanning over TCP - packets). (bouk) - -- CURL: - . Fixed bug #75093 (OpenSSL support not detected). (Remi) - -- GD: - . Fixed bug #75124 (gdImageGrayScale() may produce colors). (cmb) - . Fixed bug #75139 (libgd/gd_interpolation.c:1786: suspicious if ?). (cmb) - -- Gettext: - . Fixed bug #73730 (textdomain(null) throws in strict mode). (cmb) - -- Intl: - . Fixed bug #75090 (IntlGregorianCalendar doesn't have constants from parent - class). (tpunt) - . Fixed bug #75193 (segfault in collator_convert_object_to_string). (Remi) - -- PDO_OCI: - . Fixed bug #74631 (PDO_PCO with PHP-FPM: OCI environment initialized - before PHP-FPM sets it up). (Ingmar Runge) - -- SPL: - . Fixed bug #75155 (AppendIterator::append() is broken when appending another - AppendIterator). (Nikita) - . Fixed bug #75173 (incorrect behavior of AppendIterator::append in foreach loop). - (jhdxr) - -- Standard: - . Fixed bug #75152 (signed integer overflow in parse_iv). (Laruence) - . Fixed bug #75097 (gethostname fails if your host name is 64 chars long). (Andrea) - -31 Aug 2017, PHP 7.1.9 - -- Core: - . Fixed bug #74947 (Segfault in scanner on INF number). (Laruence) - . Fixed bug #74954 (null deref and segfault in zend_generator_resume()). (Bob) - . Fixed bug #74725 (html_errors=1 breaks unhandled exceptions). (Andrea) - . Fixed bug #75063 (Main CWD initialized with wrong codepage). (Anatol) - . Fixed bug #75349 (NAN comparison). (Sara) - -- cURL: - . Fixed bug #74125 (Fixed finding CURL on systems with multiarch support). - (cebe) - -- Date: - . Fixed bug #75002 (Null Pointer Dereference in timelib_time_clone). (Derick) - -- Intl: - . Fixed bug #74993 (Wrong reflection on some locale_* functions). (Sara) - -- Mbstring: - . Fixed bug #71606 (Segmentation fault mb_strcut with HTML-ENTITIES encoding). - (cmb) - . Fixed bug #62934 (mb_convert_kana() does not convert iteration marks). - (Nikita) - . Fixed bug #75001 (Wrong reflection on mb_eregi_replace). (Fabien - Villepinte) - -- MySQLi: - . Fixed bug #74968 (PHP crashes when calling mysqli_result::fetch_object with - an abstract class). (Anatol) - -- OCI8: - . Expose oci_unregister_taf_callback() (Tianfang Yang) - -- Opcache: - . Fixed bug #74980 (Narrowing occurred during type inference). (Laruence) - -- phar: - . Fixed bug #74991 (include_path has a 4096 char limit in some cases). - (bwbroersma) - -- Reflection: - . Fixed bug #74949 (null pointer dereference in _function_string). (Laruence) - -- Session: - . Fixed bug #74892 (Url Rewriting (trans_sid) not working on urls that start - with "#"). (Andrew Nester) - . Fixed bug #74833 (SID constant created with wrong module number). (Anatol) - -- SimpleXML: - . Fixed bug #74950 (nullpointer deref in simplexml_element_getDocNamespaces). - (Laruence) - -- SPL: - . Fixed bug #75049 (spl_autoload_unregister can't handle - spl_autoload_functions results). (Laruence) - . Fixed bug #74669 (Unserialize ArrayIterator broken). (Andrew Nester) - . Fixed bug #74977 (Appending AppendIterator leads to segfault). - (Andrew Nester) - . Fixed bug #75015 (Crash in recursive iterator destructors). (Julien) - -- Standard: - . Fixed bug #75075 (unpack with X* causes infinity loop). (Laruence) - . Fixed bug #74103 (heap-use-after-free when unserializing invalid array - size). (Nikita) - . Fixed bug #75054 (A Denial of Service Vulnerability was found when - performing deserialization). (Nikita) - -- WDDX: - . Fixed bug #73793 (WDDX uses wrong decimal seperator). (cmb) - -- XMLRPC: - . Fixed bug #74975 (Incorrect xmlrpc serialization for classes with declared - properties). (blar) - -03 Aug 2017, PHP 7.1.8 - -- Core: - . Fixed bug #74832 (Loading PHP extension with already registered function - name leads to a crash). (jpauli) - . Fixed bug #74780 (parse_url() broken when query string contains colon). - (jhdxr) - . Fixed bug #74761 (Unary operator expected error on some systems). (petk) - . Fixed bug #73900 (Use After Free in unserialize() SplFixedArray). (nikic) - . Fixed bug #74923 (Crash when crawling through network share). (Anatol) - . Fixed bug #74913 (fixed incorrect poll.h include). (petk) - . Fixed bug #74906 (fixed incorrect errno.h include). (petk) - -- Date: - . Fixed bug #74852 (property_exists returns true on unknown DateInterval - property). (jhdxr) - -- OCI8: - . Fixed bug #74625 (Integer overflow in oci_bind_array_by_name). (Ingmar Runge) - -- Opcache: - . Fixed bug #74623 (Infinite loop in type inference when using HTMLPurifier). - (nikic) - -- OpenSSL: - . Fixed bug #74798 (pkcs7_en/decrypt does not work if \x0a is used in content). - (Anatol) - . Added OPENSSL_DONT_ZERO_PAD_KEY constant to prevent key padding and fix bug - #71917 (openssl_open() returns junk on envelope < 16 bytes) and bug #72362 - (OpenSSL Blowfish encryption is incorrect for short keys). (Jakub Zelenka) - -- PDO: - . Fixed bug #69356 (PDOStatement::debugDumpParams() truncates query). (Adam - Baratz) - -- SPL: - . Fixed bug #73471 (PHP freezes with AppendIterator). (jhdxr) - -- SQLite3: - . Fixed bug #74883 (SQLite3::__construct() produces "out of memory" exception - with invalid flags). (Anatol) - -- Wddx: - . Fixed bug #73173 (huge memleak when wddx_unserialize). - (tloi at fortinet dot com) - -- zlib: - . Fixed bug #73944 (dictionary option of inflate_init() does not work). - (wapmorgan) - -06 Jul 2017, PHP 7.1.7 - -- Core: - . Fixed bug #74738 (Multiple [PATH=] and [HOST=] sections not properly - parsed). (Manuel Mausz) - . Fixed bug #74658 (Undefined constants in array properties result in broken - properties). (Laruence) - . Fixed misparsing of abstract unix domain socket names. (Sara) - . Fixed bug #74603 (PHP INI Parsing Stack Buffer Overflow Vulnerability). - (Stas) - . Fixed bug #74101, bug #74614 (Unserialize Heap Use-After-Free (READ: 1) in - zval_get_type). (Nikita) - . Fixed bug #74111 (Heap buffer overread (READ: 1) finish_nested_data from - unserialize). (Nikita) - . Fixed bug #74819 (wddx_deserialize() heap out-of-bound read via - php_parse_date()). (Derick) - -- Date: - . Fixed bug #74639 (implement clone for DatePeriod and DateInterval). - (andrewnester) - -- DOM: - . Fixed bug #69373 (References to deleted XPath query results). (ttoohey) - -- GD: - . Fixed bug #74435 (Buffer over-read into uninitialized memory). (cmb) - -- Intl: - . Fixed bug #73473 (Stack Buffer Overflow in msgfmt_parse_message). (libnex) - . Fixed bug #74705 (Wrong reflection on Collator::getSortKey and - collator_get_sort_key). (Tyson Andre, Remi) - -- Mbstring: - . Add oniguruma upstream fix (CVE-2017-9224, CVE-2017-9226, CVE-2017-9227, - CVE-2017-9228, CVE-2017-9229) (Remi, Mamoru TASAKA) - -- OCI8: - . Add TAF callback (PR #2459). (KoenigsKind) - -- Opcache: - . Fixed bug #74663 (Segfault with opcache.memory_protect and - validate_timestamp). (Laruence) - . Revert opcache.enable_cli to default disabled. (Nikita) - -- OpenSSL: - . Fixed bug #74720 (pkcs7_en/decrypt does not work if \x1a is used in - content). (Anatol) - . Fixed bug #74651 (negative-size-param (-1) in memcpy in zif_openssl_seal()). - (Stas) - -- PDO_OCI: - . Support Instant Client 12.2 in --with-pdo-oci configure option. - (Tianfang Yang) - -- Reflection: - . Fixed bug #74673 (Segfault when cast Reflection object to string with - undefined constant). (Laruence) - -- SPL: - . Fixed bug #74478 (null coalescing operator failing with SplFixedArray). - (jhdxr) - -- FTP: - . Fixed bug #74598 (ftp:// wrapper ignores context arg). (Sara) - -- PHAR: - . Fixed bug #74386 (Phar::__construct reflection incorrect). (villfa) - -- SOAP - . Fixed bug #74679 (Incorrect conversion array with WSDL_CACHE_MEMORY). - (Dmitry) - -- Streams: - . Fixed bug #74556 (stream_socket_get_name() returns '\0'). (Sara) - -8 Jun 2017, PHP 7.1.6 - -- Core: - . Fixed bug #74600 (crash (SIGSEGV) in _zend_hash_add_or_update_i). - (Laruence) - . Fixed bug #74546 (SIGILL in ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST). - (Laruence) - . Fixed bug #74589 (__DIR__ wrong for unicode character). (Anatol) - -- intl: - . Fixed bug #74468 (wrong reflection on Collator::sortWithSortKeys). (villfa) - -- MySQLi: - . Fixed bug #74547 (mysqli::change_user() doesn't accept null as $database - argument w/strict_types). (Anatol) - -- Opcache: - . Fixed bug #74596 (SIGSEGV with opcache.revalidate_path enabled). (Laruence) - -- phar: - . Fixed bug #51918 (Phar::webPhar() does not handle requests sent through PUT - and DELETE method). (Christian Weiske) - -- Readline: - . Fixed bug #74490 (readline() moves the cursor to the beginning of the line). - (Anatol) - -- Standard: - . Fixed bug #74510 (win32/sendmail.c anchors CC header but not BCC). - (Damian Wadley, Anatol) - -- xmlreader: - . Fixed bug #74457 (Wrong reflection on XMLReader::expand). (villfa) - -11 May 2017, PHP 7.1.5 - -- Core: - . Fixed bug #74408 (Endless loop bypassing execution time limit). (Laruence) - . Fixed bug #74353 (Segfault when killing within bash script trap code). - (Laruence) - . Fixed bug #74340 (Magic function __get has different behavior in php 7.1.x). - (Nikita) - . Fixed bug #74188 (Null coalescing operator fails for undeclared static - class properties). (tpunt) - . Fixed bug #74444 (multiple catch freezes in some cases). (David Matějka) - . Fixed bug #74410 (stream_select() is broken on Windows Nanoserver). - (Matt Ficken) - . Fixed bug #74337 (php-cgi.exe crash on facebook callback). - (Anton Serbulov) - . Patch for bug #74216 was reverted. (Anatol) - -- Date: - . Fixed bug #74404 (Wrong reflection on DateTimeZone::getTransitions). - (krakjoe) - . Fixed bug #74080 (add constant for RFC7231 format datetime). (duncan3dc) - -- DOM: - . Fixed bug #74416 (Wrong reflection on DOMNode::cloneNode). - (Remi, Fabien Villepinte) - -- Fileinfo: - . Fixed bug #74379 (syntax error compile error in libmagic/apprentice.c). - (Laruence) - -- GD: - . Fixed bug #74343 (compile fails on solaris 11 with system gd2 library). - (krakjoe) - -- MySQLi: - . Fixed bug #74432 (mysqli_connect adding ":3306" to $host if $port parameter - not given). (Anatol) - -- MySQLnd: - . Fixed bug #74376 (Invalid free of persistent results on error/connection - loss). (Yussuf Khalil) - -- Intl: - . Fixed bug #65683 (Intl does not support DateTimeImmutable). (Ben Scholzen) - . Fixed bug #74298 (IntlDateFormatter->format() doesn't return - microseconds/fractions). (Andrew Nester) - . Fixed bug #74433 (wrong reflection for Normalizer methods). (villfa) - . Fixed bug #74439 (wrong reflection for Locale methods). (villfa) - -- Opcache: - . Fixed bug #74456 (Segmentation error while running a script in CLI mode). - (Laruence) - . Fixed bug #74431 (foreach infinite loop). (Nikita) - . Fixed bug #74442 (Opcached version produces a nested array). (Nikita) - -- OpenSSL: - . Fixed bug #73833 (null character not allowed in openssl_pkey_get_private). - (Jakub Zelenka) - . Fixed bug #73711 (Segfault in openssl_pkey_new when generating DSA or DH - key). (Jakub Zelenka) - . Fixed bug #74341 (openssl_x509_parse fails to parse ASN.1 UTCTime without - seconds). (Moritz Fain) - . Fixed bug #73808 (iv length warning too restrictive for aes-128-ccm). - (Jakub Zelenka) - -- phar: - . Fixed bug #74383 (phar method parameters reflection correction). - (mhagstrand) - -- Readline: - . Fixed bug #74489 (readline() immediately returns false in interactive - console mode). (Anatol) - -- Standard: - . Fixed bug #72071 (setcookie allows max-age to be negative). (Craig Duncan) - . Fixed bug #74361 (Compaction in array_rand() violates COW). (Nikita) - -- Streams: - . Fixed bug #74429 (Remote socket URI with unique persistence identifier - broken). (Sara) - -13 Apr 2017, PHP 7.1.4 - -- Core: - . Fixed bug #74149 (static embed SAPI linkage error). (krakjoe) - . Fixed bug #73370 (falsely exits with "Out of Memory" when using - USE_ZEND_ALLOC=0). (Nikita) - . Fixed bug #73960 (Leak with instance method calling static method with - referenced return). (Nikita) - . Fixed bug #69676 (Resolution of self::FOO in class constants not correct). - (Nikita) - . Fixed bug #74265 (Build problems after 7.0.17 release: undefined reference - to `isfinite'). (Nikita) - . Fixed bug #74302 (yield fromLABEL is over-greedy). (Sara) - -- Apache: - . Reverted patch for bug #61471, fixes bug #74318. (Anatol) - -- Date: - . Fixed bug #72096 (Swatch time value incorrect for dates before 1970). (mcq8) - -- DOM: - . Fixed bug #74004 (LIBXML_NOWARNING flag ingnored on loadHTML*). - (somedaysummer) - -- iconv: - . Fixed bug #74230 (iconv fails to fail on surrogates). (Anatol) - -- OCI8: - . Fixed uninitialized data causing random crash. (Dmitry) - -- Opcache: - . Fixed bug #74250 (OPcache compilation performance regression in PHP 5.6/7 - with huge classes). (Nikita) - -- OpenSSL: - . Fixed bug #72333 (fwrite() on non-blocking SSL sockets doesn't work). - (Jakub Zelenka) - -- PDO MySQL: - . Fixed bug #71003 (Expose MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT to PDO - interface). (Thomas Orozco) - -- SPL: - . Fixed bug #74058 (ArrayObject can not notice changes). (Andrew Nester) - -- Sqlite: - . Implemented FR #74217 (Allow creation of deterministic sqlite functions). - (Andrew Nester) - -- Streams: - . Fixed bug #74216 (Correctly fail on invalid IP address ports). (Sara) - -- Zlib: - . Fixed bug #74240 (deflate_add can allocate too much memory). (Matt Bonneau) - -16 Mar 2017, PHP 7.1.3 - -- Core: - . Fixed bug #74157 (Segfault with nested generators). (Laruence) - . Fixed bug #74164 (PHP hangs when an invalid value is dynamically passed to - typehinted by-ref arg). (Laruence) - . Fixed bug #74093 (Maximum execution time of n+2 seconds exceed not written - in error_log). (Laruence) - . Fixed bug #73989 (PHP 7.1 Segfaults within Symfony test suite). - (Dmitry, Laruence) - . Fixed bug #74084 (Out of bound read - zend_mm_alloc_small). (Laruence) - . Fixed bug #73807 (Performance problem with processing large post request). - (Nikita) - . Fixed bug #73998 (array_key_exists fails on arrays created by - get_object_vars). (mhagstrand) - . Fixed bug #73954 (NAN check fails on Alpine Linux with musl). (Andrea) - . Fixed bug #73677 (Generating phar.phar core dump with gcc ASAN enabled - build). (ondrej) - -- Apache: - . Fixed bug #61471 (Incomplete POST does not timeout but is passed to PHP). - (Zheng Shao) - -- Date: - . Fixed bug #73837 ("new DateTime()" sometimes returns 1 second ago value). - (Derick) - -- FPM: - . Fixed bug #69860 (php-fpm process accounting is broken with keepalive). - (Denis Yeldandi) - -- Hash: - . Fixed bug #73127 (gost-crypto hash incorrect if input data contains long - 0xFF sequence). (Grundik) - -- GD: - . Fixed bug #74031 (ReflectionFunction for imagepng is missing last two - parameters). (finwe) - -- Mysqlnd: - . Fixed bug #74021 (fetch_array broken data. Data more then MEDIUMBLOB). - (Andrew Nester, Nikita) - -- Opcache: - . Fixed bug #74152 (if statement says true to a null variable). (Laruence) - . Fixed bug #74019 (Segfault with list). (Laruence) - -- OpenSSL: - . Fixed bug #74022 (PHP Fast CGI crashes when reading from a pfx file). - (Anatol) - . Fixed bug #74099 (Memory leak with openssl_encrypt()). (Andrew Nester) - . Fixed bug #74159 (Writing a large buffer to a non-blocking encrypted stream - fails with "bad write retry"). (trowski) - -- PDO_OCI: - . Fixed bug #54379 (PDO_OCI: UTF-8 output gets truncated). (gureedo / Oracle) - -- SQLite3: - . Fixed bug #74413 (incorrect reflection for SQLite3::enableExceptions). - (krakjoe) - -- Standard: - . Fixed bug #74005 (mail.add_x_header causes RFC-breaking lone line feed). - (Anatol) - . Fixed bug #74041 (substr_count with length=0 broken). (Nikita) - . Fixed bug #73118 (is_callable callable name reports misleading value for - anonymous classes). (Adam Saponara) - . Fixed bug #74105 (PHP on Linux should use /dev/urandom when getrandom is - not available). (Benjamin Robin) - . Fixed bug #74708 (Invalid Reflection signatures for random_bytes and - random_int). (Tyson Andre, Remi) - -- Streams: - . Fixed bug #73496 (Invalid memory access in zend_inline_hash_func). - (Laruence) - . Fixed bug #74090 (stream_get_contents maxlength>-1 returns empty string). - (Anatol) - -16 Feb 2017, PHP 7.1.2 - -- Core: - . Improved GENERATOR_CREATE opcode handler. (Bob, Dmitry) - . Fixed bug #73877 (readlink() returns garbage for UTF-8 paths). (Anatol) - . Fixed bug #73876 (Crash when exporting **= in expansion of assign op). - (Sara) - . Fixed bug #73962 (bug with symlink related to cyrillic directory). (Anatol) - . Fixed bug #73969 (segfault in debug_print_backtrace). (andrewnester) - . Fixed bug #73994 (arginfo incorrect for unpack). (krakjoe) - . Fixed bug #73973 (assertion error in debug_zval_dump). (andrewnester) - -- DOM: - . Fixed bug #54382 (getAttributeNodeNS doesn't get xmlns* attributes). - (aboks) - -- DTrace: - . Fixed bug #73965 (DTrace reported as enabled when disabled). (Remi) - -- FCGI: - . Fixed bug #73904 (php-cgi fails to load -c specified php.ini file). (Anatol) - . Fixed bug #72898 (PHP_FCGI_CHILDREN is not included in phpinfo()). (Anatol) - -- FPM: - . Fixed bug #69865 (php-fpm does not close stderr when using syslog). - (m6w6) - -- GD: - . Fixed bug #73968 (Premature failing of XBM reading). (cmb) - -- GMP: - . Fixed bug #69993 (test for gmp.h needs to test machine includes). - (Jordan Gigov) - -- Hash: - . Added hash_hkdf() function. (Andrey Andreev) - . Fixed bug #73961 (environmental build dependency in hash sha3 source). - (krakjoe) - -- Intl: - . Fix bug #73956 (Link use CC instead of CXX). (Remi) - -- LDAP: - . Fixed bug #73933 (error/segfault with ldap_mod_replace and opcache). - (Laruence) - -- MySQLi: - . Fixed bug #73949 (leak in mysqli_fetch_object). (krakjoe) - -- Mysqlnd: - . Fixed bug #69899 (segfault on close() after free_result() with mysqlnd). - (Richard Fussenegger) - -- Opcache: - . Fixed bug #73983 (crash on finish work with phar in cli + opcache). - (Anatol) - -- OpenSSL: - . Fixed bug #71519 (add serial hex to return value array). (xrobau) - . Fixed bug #73692 (Compile ext/openssl with openssl 1.1.0 on Win). (Anatol) - . Fixed bug #73978 (openssl_decrypt triggers bug in PDO). (Jakub Zelenka) - -- PDO_Firebird: - . Implemented FR #72583 (All data are fetched as strings). (Dorin Marcoci) - -- PDO_PgSQL: - . Fixed bug #73959 (lastInsertId fails to throw an exception for wrong - sequence name). (andrewnester) - -- Phar: - . Fixed bug #70417 (PharData::compress() doesn't close temp file). (cmb) - -- posix: - . Fixed bug #71219 (configure script incorrectly checks for ttyname_r). (atoh) - -- Session: - . Fixed bug #69582 (session not readable by root in CLI). (EvgeniySpinov) - -- SPL: - . Fixed bug #73896 (spl_autoload() crashes when calls magic _call()). (Dmitry) - -- Standard: - . Fixed bug #69442 (closing of fd incorrect when PTS enabled). (jaytaph) - . Fixed bug #47021 (SoapClient stumbles over WSDL delivered with - "Transfer-Encoding: chunked"). (Rowan Collins) - . Fixed bug #72974 (imap is undefined service on AIX). (matthieu.sarter) - . Fixed bug #72979 (money_format stores wrong length AIX). (matthieu.sarter) - . Fixed bug #73374 (intval() with base 0 should detect binary). (Leigh) - . Fixed bug #69061 (mail.log = syslog contains double information). - (Tom Sommer) - -- ZIP: - . Fixed bug #70103 (ZipArchive::addGlob ignores remove_all_path option). (cmb, - Mitch Hagstrand) - -19 Jan 2017, PHP 7.1.1 - -- Core: - . Fixed bug #73792 (invalid foreach loop hangs script). (Dmitry) - . Fixed bug #73686 (Adding settype()ed values to ArrayObject results in - references). (Nikita, Laruence) - . Fixed bug #73663 ("Invalid opcode 65/16/8" occurs with a variable created - with list()). (Laruence) - . Fixed bug #73727 (ZEND_MM_BITSET_LEN is "undefined symbol" in - zend_bitset.h). (Nikita) - . Fixed bug #73753 (unserialized array pointer not advancing). (David Walker) - . Fixed bug #73783 (SIG_IGN doesn't work when Zend Signals is enabled). - (David Walker) +08 Dec 2022, PHP 8.2.0 - CLI: - . Fixed bug #72555 (CLI output(japanese) on Windows). (Anatol) + . Fixed bug #81496 (Server logs incorrect request method). (lauri) + . Updated the mime-type table for the builtin-server. (Ayesh Karunaratne) + . Fixed potential overflow for the builtin server via the + PHP_CLI_SERVER_WORKERS environment variable. (yiyuaner) + . Fixed GH-8575 by changing STDOUT, STDERR and STDIN to not close on resource + destruction. (Jakub Zelenka) + . Implement built-in web server responding without body to HEAD request on + a static resource. (Vedran Miletic, Marin Martuslovic) + . Implement built-in web server responding with HTTP status 405 to + DELETE/PUT/PATCH request on a static resource. + (Vedran Miletic, Marin Martuslovic) + . Fixed bug GH-9709 (Null pointer dereference with -w/-s options). + (Adam Saponara) - COM: - . Fixed bug #73679 (DOTNET read access violation using invalid codepage). - (Anatol) - -- DOM: - . Fixed bug #67474 (getElementsByTagNameNS filter on default ns). (aboks) - -- Mbstring: - . Fixed bug #73646 (mb_ereg_search_init null pointer dereference). - (Laruence) - -- Mysqli: - . Fixed bug #73462 (Persistent connections don't set $connect_errno). - (darkain) - -- Mysqlnd: - . Optimized handling of BIT fields - less memory copies and lower memory - usage. (Andrey) - . Fixed bug #73800 (sporadic segfault with MYSQLI_OPT_INT_AND_FLOAT_NATIVE). - (vanviegen) - -- Opcache: - . Fixed bug #73789 (Strange behavior of class constants in switch/case block). - (Laruence) - . Fixed bug #73746 (Method that returns string returns UNKNOWN:0 instead). - (Laruence) - . Fixed bug #73654 (Segmentation fault in zend_call_function). (Nikita) - . Fixed bug #73668 ("SIGFPE Arithmetic exception" in opcache when divide by - minus 1). (Nikita) - . Fixed bug #73847 (Recursion when a variable is redefined as array). (Nikita) - -- PDO_Firebird: - . Fixed bug #72931 (PDO_FIREBIRD with Firebird 3.0 not work on returning - statement). (Dorin Marcoci) - -- phpdbg: - . Fixed bug #73794 (Crash (out of memory) when using run and # command - separator). (Bob) - . Fixed bug #73704 (phpdbg shows the wrong line in files with shebang). (Bob) - -- SQLite3: - . Reverted fix for bug #73530 (Unsetting result set may reset other result - set). (cmb) - -- Standard: - . Fixed bug #73594 (dns_get_record does not populate $additional out - parameter). (Bruce Weirdan) - . Fixed bug #70213 (Unserialize context shared on double class lookup). - (Taoguang Chen) - . Fixed bug #73154 (serialize object with __sleep function crash). (Nikita) - . Fixed bug #70490 (get_browser function is very slow). (Nikita) - . Fixed bug #73265 (Loading browscap.ini at startup causes high memory usage). - (Nikita) - . Add subject to mail log. (tomsommer) - . Fixed bug #31875 (get_defined_functions additional param to exclude - disabled functions). (willianveiga) - -- Zlib - . Fixed bug #73373 (deflate_add does not verify that output was not truncated). - (Matt Bonneau) - -01 Dec 2016, PHP 7.1.0 + . Fixed bug GH-8750 (Can not create VT_ERROR variant type). (cmb) - Core: - . Added nullable types. (Levi, Dmitry) - . Added DFA optimization framework based on e-SSA form. (Dmitry, Nikita) - . Added specialized opcode handlers (e.g. ZEND_ADD_LONG_NO_OVERFLOW). - (Dmitry) - . Added [] = as alternative construct to list() =. (Bob) - . Added void return type. (Andrea) - . Added support for negative string offsets in string offset syntax and - various string functions. (Francois) - . Added a form of the list() construct where keys can be specified. (Andrea) - . Implemented safe execution timeout handling, that prevents random crashes - after "Maximum execution time exceeded" error. (Dmitry) - . Implemented the RFC `Support Class Constant Visibility`. (Sean DuBois, - Reeze Xia, Dmitry) - . Implemented the RFC `Catching multiple exception types`. (Bronislaw Bialek, - Pierrick) - . Implemented logging to syslog with dynamic error levels. (Jani Ollikainen) - . Implemented FR #72614 (Support "nmake test" on building extensions by - phpize). (Yuji Uchiyama) - . Implemented RFC: Iterable. (Aaron Piotrowski) - . Implemented RFC: Closure::fromCallable (Danack) - . Implemented RFC: Replace "Missing argument" warning with "\ArgumentCountError" - exception. (Dmitry, Davey) - . Implemented RFC: Fix inconsistent behavior of $this variable. (Dmitry) - . Fixed bug #73585 (Logging of "Internal Zend error - Missing class - information" missing class name). (Laruence) - . Fixed memory leak(null coalescing operator with Spl hash). (Tyson Andre) - . Fixed bug #72736 (Slow performance when fetching large dataset with mysqli - / PDO). (Dmitry) - . Fixed bug #72482 (Ilegal write/read access caused by gdImageAALine - overflow). (cmb) - . Fixed bug #72696 (imagefilltoborder stackoverflow on truecolor images). + . Fixed bug #81380 (Observer may not be initialized properly). (krakjoe) + . Fixed bug GH-7771 (Fix filename/lineno of constant expressions). (ilutov) + . Fixed bug GH-7792 (Improve class type in error messages). (ilutov) + . Support huge pages on MacOS. (David CARLIER) + . Fixed bug GH-8655 (Casting an object to array does not unwrap refcount=1 + references). (Nicolas Grekas) + . Fixed bug GH-8661 (Nullsafe in coalesce triggers undefined variable + warning). (ilutov) + . Fixed bug GH-7821 and GH-8418 (Allow arbitrary const expressions in backed + enums). (ilutov) + . Fixed bug GH-8810 (Incorrect lineno in backtrace of multi-line function + calls). (ilutov) + . Optimised code path for newly created file with the stream plain wrapper. (Max Kellermann) + . Uses safe_perealloc instead of perealloc for the + ZEND_PTR_STACK_RESIZE_IF_NEEDED to avoid possible overflows. (David Carlier) + . Reduced the memory footprint of strings returned by var_export(), + json_encode(), serialize(), iconv_*(), mb_ereg*(), session_create_id(), + http_build_query(), strstr(), Reflection*::__toString(). (Arnaud) + . Fixed bug GH-8995 (WeakMap object reference offset causing TypeError). + (Tobias Bachert) + . Added error_log_mode ini setting. (Mikhail Galanin) + . Updated request startup messages. (Eric Norris) + . Fixed bug GH-7900 (Arrow function with never return type compile-time + errors). (ilutov) + . Fixed incorrect double to long casting in latest clang. (zeriyoshi) + . Added support for defining constants in traits. (sj-i) + . Stop incorrectly emitting false positive deprecation notice alongside + unsupported syntax fatal error for `"{$g{'h'}}"`. (TysonAndre) + . Fix unexpected deprecated dynamic property warning, which occurred when + exit() in finally block after an exception was thrown without catching. + (Twosee) + . Fixed bug GH-9323 (Crash in ZEND_RETURN/GC/zend_call_function) + (Tim Starling) + . Fixed bug GH-9227 (Trailing dots and spaces in filenames are ignored). (cmb) - . Fixed bug #73350 (Exception::__toString() cause circular references). - (Laruence) - . Fixed bug #73329 ((Float)"Nano" == NAN). (Anatol) - . Fixed bug #73288 (Segfault in __clone > Exception.toString > __get). - (Laruence) - . Fixed for #73240 (Write out of bounds at number_format). (Stas) - . Fix pthreads detection when cross-compiling (ffontaine) - . Fixed bug #73337 (try/catch not working with two exceptions inside a same - operation). (Dmitry) - . Fixed bug #73156 (segfault on undefined function). (Dmitry) - . Fixed bug #73163 (PHP hangs if error handler throws while accessing undef - const in default value). (Nikita) - . Fixed bug #73172 (parse error: Invalid numeric literal). (Nikita, Anatol) - . Fixed bug #73181 (parse_str() without a second argument leads to crash). - (Nikita) - . Fixed bug #73025 (Heap Buffer Overflow in virtual_popen of - zend_virtual_cwd.c). (cmb) - . Fixed bug #73058 (crypt broken when salt is 'too' long). (Anatol) - . Fixed bug #72944 (Null pointer deref in zval_delref_p). (Dmitry) - . Fixed bug #72943 (assign_dim on string doesn't reset hval). (Laruence) - . Fixed bug #72598 (Reference is lost after array_slice()) (Nikita) - . Fixed bug #72703 (Out of bounds global memory read in BF_crypt triggered by - password_verify). (Anatol) - . Fixed bug #72813 (Segfault with __get returned by ref). (Laruence) - . Fixed bug #72767 (PHP Segfaults when trying to expand an infinite operator). - (Nikita) - . TypeError messages for arg_info type checks will now say "must be ... - or null" where the parameter or return type accepts null. (Andrea) - . Fixed bug #72857 (stream_socket_recvfrom read access violation). (Anatol) - . Fixed bug #72663 (Create an Unexpected Object and Don't Invoke - __wakeup() in Deserialization). (Stas) - . Fixed bug #72681 (PHP Session Data Injection Vulnerability). (Stas) - . Fixed bug #72742 (memory allocator fails to realloc small block to large - one). (Stas) - . Fixed URL rewriter. It would not rewrite '//example.com/' URL - unconditionally. URL rewrite target hosts whitelist is implemented. (Yasuo) - . Fixed bug #72641 (phpize (on Windows) ignores PHP_PREFIX). - (Yuji Uchiyama) - . Fixed bug #72683 (getmxrr broken). (Anatol) - . Fixed bug #72629 (Caught exception assignment to variables ignores - references). (Laruence) - . Fixed bug #72594 (Calling an earlier instance of an included anonymous - class fatals). (Laruence) - . Fixed bug #72581 (previous property undefined in Exception after - deserialization). (Laruence) - . Fixed bug #72543 (Different references behavior comparing to PHP 5) - (Laruence, Dmitry, Nikita) - . Fixed bug #72347 (VERIFY_RETURN type casts visible in finally). (Dmitry) - . Fixed bug #72216 (Return by reference with finally is not memory safe). - (Dmitry) - . Fixed bug #72215 (Wrong return value if var modified in finally). (Dmitry) - . Fixed bug #71818 (Memory leak when array altered in destructor). (Dmitry) - . Fixed bug #71539 (Memory error on $arr[$a] =& $arr[$b] if RHS rehashes) - (Dmitry, Nikita) - . Added new constant PHP_FD_SETSIZE. (cmb) - . Added optind parameter to getopt(). (as) - . Added PHP to SAPI error severity mapping for logs. (Martin Vobruba) - . Fixed bug #71911 (Unable to set --enable-debug on building extensions by - phpize on Windows). (Yuji Uchiyama) - . Fixed bug #29368 (The destructor is called when an exception is thrown from - the constructor). (Dmitry) - . Implemented RFC: RNG Fixes. (Leigh) - . Implemented email validation as per RFC 6531. (Leo Feyer, Anatol) - . Fixed bug #72513 (Stack-based buffer overflow vulnerability in - virtual_file_ex). (Stas) - . Fixed bug #72573 (HTTP_PROXY is improperly trusted by some PHP libraries - and applications). (Stas) - . Fixed bug #72523 (dtrace issue with reflection (failed test)). (Laruence) - . Fixed bug #72508 (strange references after recursive function call and - "switch" statement). (Laruence) - . Fixed bug #72441 (Segmentation fault: RFC list_keys). (Laruence) - . Fixed bug #72395 (list() regression). (Laruence) - . Fixed bug #72373 (TypeError after Generator function w/declared return type - finishes). (Nikita) - . Fixed bug #69489 (tempnam() should raise notice if falling back to temp dir). - (Laruence, Anatol) - . Fixed UTF-8 and long path support on Windows. (Anatol) - . Fixed bug #53432 (Assignment via string index access on an empty string - converts to array). (Nikita) - . Fixed bug #62210 (Exceptions can leak temporary variables). (Dmitry, Bob) - . Fixed bug #62814 (It is possible to stiffen child class members visibility). - (Nikita) - . Fixed bug #69989 (Generators don't participate in cycle GC). (Nikita) - . Fixed bug #70228 (Memleak if return in finally block). (Dmitry) - . Fixed bug #71266 (Missing separation of properties HT in foreach etc). - (Dmitry) - . Fixed bug #71604 (Aborted Generators continue after nested finally). - (Nikita) - . Fixed bug #71572 (String offset assignment from an empty string inserts - null byte). (Francois) - . Fixed bug #71897 (ASCII 0x7F Delete control character permitted in - identifiers). (Andrea) - . Fixed bug #72188 (Nested try/finally blocks losing return value). (Dmitry) - . Fixed bug #72213 (Finally leaks on nested exceptions). (Dmitry, Nikita) - . Fixed bug #47517 (php-cgi.exe missing UAC manifest). - (maxdax15801 at users noreply github com) - . Change statement and fcall extension handlers to accept frame. (Joe) - . Number operators taking numeric strings now emit E_NOTICEs or E_WARNINGs - when given malformed numeric strings. (Andrea) - . (int), intval() where $base is 10 or unspecified, settype(), decbin(), - decoct(), dechex(), integer operators and other conversions now always - respect scientific notation in numeric strings. (Andrea) - . Raise a compile-time warning on octal escape sequence overflow. (Sara) - -- Apache2handler: - . Enable per-module logging in Apache 2.4+. (Martin Vobruba) - -- BCmath: - . Fix bug #73190 (memcpy negative parameter _bc_new_num_ex). (Stas) - -- Bz2: - . Fixed bug #72837 (integer overflow in bzdecompress caused heap - corruption). (Stas) - . Fixed bug #72613 (Inadequate error handling in bzread()). (Stas) - -- Calendar: - . Fix integer overflows (Joshua Rogers) - . Fixed bug #67976 (cal_days_month() fails for final month of the French - calendar). (cmb) - . Fixed bug #71894 (AddressSanitizer: global-buffer-overflow in - zif_cal_from_jd). (cmb) - -- CLI Server: - . Fixed bug #73360 (Unable to work in root with unicode chars). (Anatol) - . Fixed bug #71276 (Built-in webserver does not send Date header). - (see at seos fr) - -- COM: - . Fixed bug #73126 (Cannot pass parameter 1 by reference). (Anatol) - . Fixed bug #69579 (Invalid free in extension trait). (John Boehr) - . Fixed bug #72922 (COM called from PHP does not return out parameters). - (Anatol) - . Fixed bug #72569 (DOTNET/COM array parameters broke in PHP7). (Anatol) - . Fixed bug #72498 (variant_date_from_timestamp null dereference). (Anatol) - -- Curl - . Implement support for handling HTTP/2 Server Push. (Davey) - . Add curl_multi_errno(), curl_share_errno() and curl_share_strerror() - functions. (Pierrick) - . Fixed bug #72674 (Heap overflow in curl_escape). (Stas) - . Fixed bug #72541 (size_t overflow lead to heap corruption). (Stas). - . Fixed bug #71709 (curl_setopt segfault with empty CURLOPT_HTTPHEADER). - (Pierrick) - . Fixed bug #71929 (CURLINFO_CERTINFO data parsing error). (Pierrick) + . Fixed bug GH-9285 (Traits cannot be used in readonly classes). + (kocsismate) + . Fixed bug GH-9186 (@strict-properties can be bypassed using + unserialization). (kocsismate) + . Fixed bug GH-9500 (Using dnf type with parentheses after readonly keyword + results in a parse error). (ilutov) + . Fixed bug GH-9516 ((A&B)|D as a param should allow AB or D. Not just A). + (Girgias) + . Fixed observer class notify with Opcache file_cache_only=1. (ilutov) + . Fixes segfault with Fiber on FreeBSD i386 architecture. (David Carlier) + . Fixed bug GH-9655 (Pure intersection types cannot be implicitly nullable) + (Girgias) + . Fixed bug GH-9589 (dl() segfaults when module is already loaded). (cmb, + Arnaud) + . Fixed bug GH-9752 (Generator crashes when interrupted during argument + evaluation with extra named params). (Arnaud) + . Fixed bug GH-9801 (Generator crashes when memory limit is exceeded during + initialization). (Arnaud) + . Fixed a bug with preloaded enums possibly segfaulting. (Bob) + . Fixed bug GH-9823 (Don’t reset func in zend_closure_internal_handler). + (Florian Sowade) + . Fixed potential NULL pointer dereference Windows shm*() functions. (cmb) + . Fix target validation for internal attributes with constructor property + promotion. (kooldev) + . Fixed bug GH-9750 (Generator memory leak when interrupted during argument + evaluation. (Arnaud) + . Move observer_declared_function_notify until after pass_two(). (Bob) + . Do not report MINIT stage internal class aliases in extensions. (Bob) + +- Curl: + . Added support for CURLOPT_XFERINFOFUNCTION. (David Carlier) + . Added support for CURLOPT_MAXFILESIZE_LARGE. (David Carlier) + . Added new constants from cURL 7.62 to 7.80. (Pierrick) + . New function curl_upkeep(). (Pierrick) - Date: - . Fixed bug #69587 (DateInterval properties and isset). (jhdxr) - . Fixed bug #73426 (createFromFormat with 'z' format char results in - incorrect time). (Derick) - . Fixed bug #45554 (Inconsistent behavior of the u format char). (Derick) - . Fixed bug #48225 (DateTime parser doesn't set microseconds for "now"). - (Derick) - . Fixed bug #52514 (microseconds are missing in DateTime class). (Derick) - . Fixed bug #52519 (microseconds in DateInterval are missing). (Derick) - . Fixed bug #60089 (DateTime::createFromFormat() U after u nukes microtime). + . Fixed GH-8458 (DateInterval::createFromDateString does not throw if + non-relative items are present). (Derick) + . Fixed bug #52015 (Allow including end date in DatePeriod iterations) + (Daniel Egeberg, Derick) + . idate() now accepts format specifiers "N" (ISO Day-of-Week) and "o" (ISO + Year). (Pavel Djundik) + . Fixed bug GH-8730 (DateTime::diff miscalculation is same time zone of + different type). (Derick) + . Fixed bug GH-8964 (DateTime object comparison after applying delta less + than 1 second). (Derick) + . Fixed bug GH-9106: (DateInterval 1.5s added to DateTimeInterface is rounded + down since PHP 8.1.0). (Derick) + . Fixed bug #75035 (Datetime fails to unserialize "extreme" dates). (Derick) - . Fixed bug #64887 (Allow DateTime modification with subsecond items). + . Fixed bug #80483 (DateTime Object with 5-digit year can't unserialized). (Derick) - . Fixed bug #68506 (General DateTime improvments needed for microseconds to - become useful). (Derick) - . Fixed bug #73109 (timelib_meridian doesn't parse dots correctly). (Derick) - . Fixed bug #73247 (DateTime constructor does not initialise microseconds - property). (Derick) - . Fixed bug #73147 (Use After Free in PHP7 unserialize()). (Stas) - . Fixed bug #73189 (Memcpy negative size parameter php_resolve_path). (Stas) - . Fixed bug #66836 (DateTime::createFromFormat 'U' with pre 1970 dates fails - parsing). (derick) - . Invalid serialization data for a DateTime or DatePeriod object will now - throw an instance of Error from __wakeup() or __set_state() instead of - resulting in a fatal error. (Aaron Piotrowski) - . Timezone initialization failure from serialized data will now throw an - instance of Error from __wakeup() or __set_state() instead of resulting in - a fatal error. (Aaron Piotrowski) - . Export date_get_interface_ce() for extension use. (Jeremy Mikola) - . Fixed bug #63740 (strtotime seems to use both sunday and monday as start of - week). (Derick) + . Fixed bug #81263 (Wrong result from DateTimeImmutable::diff). (Derick) + . Fixed bug GH-9431 (DateTime::getLastErrors() not returning false when no + errors/warnings). (Derick) + . Fixed bug with parsing large negative numbers with the @ notation. (Derick) -- Dba: - . Fixed bug #70825 (Cannot fetch multiple values with group in ini file). - (cmb) - . Data modification functions (e.g.: dba_insert()) now throw an instance of - Error instead of triggering a catchable fatal error if the key is does not - contain exactly two elements. (Aaron Piotrowski) - -- DOM: - . Fixed bug #73150 (missing NULL check in dom_document_save_html). (Stas) - . Fixed bug #66502 (DOM document dangling reference). (Sean Heelan, cmb) - . Invalid schema or RelaxNG validation contexts will throw an instance of - Error instead of resulting in a fatal error. (Aaron Piotrowski) - . Attempting to register a node class that does not extend the appropriate - base class will now throw an instance of Error instead of resulting in a - fatal error. (Aaron Piotrowski) - . Attempting to read an invalid or write to a readonly property will throw - an instance of Error instead of resulting in a fatal error. (Aaron - Piotrowski) +- DBA: + . Fixed LMDB driver hanging when attempting to delete a non-existing key + (Girgias) + . Fixed LMDB driver memory leak on DB creation failure (Girgias) + . Fixed GH-8856 (dba: lmdb: allow to override the MDB_NOSUBDIR flag). (Girgias) -- DTrace: - . Disabled PHP call tracing by default (it makes significant overhead). - This may be enabled again using envirionment variable USE_ZEND_DTRACE=1. - (Dmitry) +- FFI: + . Fixed bug GH-9090 (Support assigning function pointers in FFI). (Adam + Saponara) -- EXIF: - . Fixed bug #72735 (Samsung picture thumb not read (zero size)). (Kalle, Remi) - . Fixed bug #72627 (Memory Leakage In exif_process_IFD_in_TIFF). (Stas) - . Fixed bug #72603 (Out of bound read in exif_process_IFD_in_MAKERNOTE). - (Stas) - . Fixed bug #72618 (NULL Pointer Dereference in exif_process_user_comment). - (Stas) +- Fileinfo: + . Fixed bug GH-8805 (finfo returns wrong mime type for woff/woff2 files). + (Anatol) - Filter: - . Fixed bug #72972 (Bad filter for the flags FILTER_FLAG_NO_RES_RANGE and - FILTER_FLAG_NO_PRIV_RANGE). (julien) - . Fixed bug #73054 (default option ignored when object passed to int filter). - (cmb) - . Fixed bug #71745 (FILTER_FLAG_NO_RES_RANGE does not cover whole 127.0.0.0/8 - range). (bugs dot php dot net at majkl578 dot cz) + . Added FILTER_FLAG_GLOBAL_RANGE to filter Global IPs. (vnsavage) - FPM: - . Fixed bug #72575 (using --allow-to-run-as-root should ignore missing user). - (gooh) + . Emit error for invalid port setting. (David Carlier) + . Added extra check for FPM proc dumpable on SELinux based systems. + (David Carlier) + . Added support for listening queue on macOS. (David Carlier) + . Changed default for listen.backlog on Linux to -1. (Cristian Rodríguez) + . Added listen.setfib pool option to set route FIB on FreeBSD. (David Carlier) + . Added access.suppress_path pool option to filter access log entries. + (Mark Gallagher) + . Fixed on fpm scoreboard occasional warning on acquisition failure. + (Felix Wiedemann) + . Fixed bug GH-9754 (SaltStack (using Python subprocess) hangs when running + php-fpm 8.1.11). (Jakub Zelenka) - FTP: - . Fixed bug #70195 (Cannot upload file using ftp_put to FTPES with - require_ssl_reuse). (Benedict Singer) - . Implemented FR #55651 (Option to ignore the returned FTP PASV address). - (abrender at elitehosts dot com) + . Fix datetime format string to follow POSIX spec in ftp_mdtm(). (Jihwan Kim) - GD: - . Fixed bug #73213 (Integer overflow in imageline() with antialiasing). (cmb) - . Fixed bug #73272 (imagescale() is not affected by, but affects - imagesetinterpolation()). (cmb) - . Fixed bug #73279 (Integer overflow in gdImageScaleBilinearPalette()). (cmb) - . Fixed bug #73280 (Stack Buffer Overflow in GD dynamicGetbuf). (cmb) - . Fixed bug #50194 (imagettftext broken on transparent background w/o - alphablending). (cmb) - . Fixed bug #73003 (Integer Overflow in gdImageWebpCtx of gd_webp.c). (trylab, - cmb) - . Fixed bug #53504 (imagettfbbox gives incorrect values for bounding box). - (Mark Plomer, cmb) - . Fixed bug #73157 (imagegd2() ignores 3rd param if 4 are given). (cmb) - . Fixed bug #73155 (imagegd2() writes wrong chunk sizes on boundaries). (cmb) - . Fixed bug #73159 (imagegd2(): unrecognized formats may result in corrupted - files). (cmb) - . Fixed bug #73161 (imagecreatefromgd2() may leak memory). (cmb) - . Fixed bug #67325 (imagetruecolortopalette: white is duplicated in palette). - (cmb) - . Fixed bug #66005 (imagecopy does not support 1bit transparency on truecolor - images). (cmb) - . Fixed bug #72913 (imagecopy() loses single-color transparency on palette - images). (cmb) - . Fixed bug #68716 (possible resource leaks in _php_image_convert()). (cmb) - . Fixed bug #72709 (imagesetstyle() causes OOB read for empty $styles). (cmb) - . Fixed bug #72697 (select_colors write out-of-bounds). (Stas) - . Fixed bug #72730 (imagegammacorrect allows arbitrary write access). (Stas) - . Fixed bug #72596 (imagetypes function won't advertise WEBP support). (cmb) - . Fixed bug #72604 (imagearc() ignores thickness for full arcs). (cmb) - . Fixed bug #70315 (500 Server Error but page is fully rendered). (cmb) - . Fixed bug #43828 (broken transparency of imagearc for truecolor in - blendingmode). (cmb) - . Fixed bug #72512 (gdImageTrueColorToPaletteBody allows arbitrary write/read - access). (Pierre) - . Fixed bug #72519 (imagegif/output out-of-bounds access). (Pierre) - . Fixed bug #72558 (Integer overflow error within _gdContributionsAlloc()). - (Pierre) - . Fixed bug #72482 (Ilegal write/read access caused by gdImageAALine - overflow). (Pierre) - . Fixed bug #72494 (imagecropauto out-of-bounds access). (Fernando, Pierre, - cmb) - . Fixed bug #72404 (imagecreatefromjpeg fails on selfie). (cmb) - . Fixed bug #43475 (Thick styled lines have scrambled patterns). (cmb) - . Fixed bug #53640 (XBM images require width to be multiple of 8). (cmb) - . Fixed bug #64641 (imagefilledpolygon doesn't draw horizontal line). (cmb) + . Fixed bug #81739: OOB read due to insufficient input validation in + imageloadfont(). (CVE-2022-31630) (cmb) -- Hash: - . Added SHA3 fixed mode algorithms (224, 256, 384, and 512 bit). (Sara) - . Added SHA512/256 and SHA512/224 algorithms. (Sara) - -- iconv: - . Fixed bug #72320 (iconv_substr returns false for empty strings). (cmb) - -- IMAP: - . Fixed bug #73418 (Integer Overflow in "_php_imap_mail" leads to crash). - (Anatol) - . An email address longer than 16385 bytes will throw an instance of Error - instead of resulting in a fatal error. (Aaron Piotrowski) +- GMP: + . Fixed bug GH-9308 (GMP throws the wrong error when a GMP object is passed + to gmp_init()). (Girgias) -- Interbase: - . Fixed bug #73512 (Fails to find firebird headers as don't use fb_config - output). (Remi) +- Hash: + . Fixed bug #81738: buffer overflow in hash_update() on long parameter. + (CVE-2022-37454) (nicky at mouha dot be) - Intl: - . Fixed bug #73007 (add locale length check). (Stas) - . Fixed bug #73218 (add mitigation for ICU int overflow). (Stas) - . Fixed bug #65732 (grapheme_*() is not Unicode compliant on CR LF - sequence). (cmb) - . Fixed bug #73007 (add locale length check). (Stas) - . Fixed bug #72639 (Segfault when instantiating class that extends - IntlCalendar and adds a property). (Laruence) - . Fixed bug #72658 (Locale::lookup() / locale_lookup() hangs if no match - found). (Anatol) - . Partially fixed #72506 (idn_to_ascii for UTS #46 incorrect for long domain - names). (cmb) - . Fixed bug #72533 (locale_accept_from_http out-of-bounds access). (Stas) - . Failure to call the parent constructor in a class extending Collator - before invoking the parent methods will throw an instance of Error - instead of resulting in a recoverable fatal error. (Aaron Piotrowski) - . Cloning a Transliterator object may will now throw an instance of Error - instead of resulting in a fatal error if cloning the internal - transliterator fails. (Aaron Piotrowski) - . Added IntlTimeZone::getWindowsID() and - IntlTimeZone::getIDForWindowsID(). (Sara) - . Fixed bug #69374 (IntlDateFormatter formatObject returns wrong utf8 value). - (lenhatanh86 at gmail com) - . Fixed bug #69398 (IntlDateFormatter formatObject returns wrong value when - time style is NONE). (lenhatanh86 at gmail com) - -- JSON: - . Introduced encoder struct instead of global which fixes bugs #66025 and - #73254 related to pretty print indentation. (Jakub Zelenka) - . Fixed bug #73113 (Segfault with throwing JsonSerializable). (julien) - . Implemented earlier return when json_encode fails, fixes bugs #68992 - (Stacking exceptions thrown by JsonSerializable) and #70275 (On recursion - error, json_encode can eat up all system memory). (Jakub Zelenka) - . Implemented FR #46600 ("_empty_" key in objects). (Jakub Zelenka) - . Exported JSON parser API including json_parser_method that can be used - for implementing custom logic when parsing JSON. (Jakub Zelenka) - . Escaped U+2028 and U+2029 when JSON_UNESCAPED_UNICODE is supplied as - json_encode options and added JSON_UNESCAPED_LINE_TERMINATORS to restore - the previous behaviour. (Eddie Kohler) + . Update all grandfathered language tags with preferred values + . Fixed GH-7939 (Cannot unserialize IntlTimeZone objects). (cmb) + . Fixed build for ICU 69.x and onwards. (David Carlier) + . Declared Transliterator::$id as readonly to unlock subclassing it. (Nicolas + Grekas) + . Fixed bug GH-9421 (Incorrect argument number for ValueError in NumberFormatter). + (Girgias) -- LDAP: - . Providing an unknown modification type to ldap_batch_modify() will now - throw an instance of Error instead of resulting in a fatal error. - (Aaron Piotrowski) +- MBString: + . Fixed bug GH-9248 (Segmentation fault in mb_strimwidth()). (cmb) -- Mbstring: - . Fixed bug #73532 (Null pointer dereference in mb_eregi). (Laruence) - . Fixed bug #66964 (mb_convert_variables() cannot detect recursion) (Yasuo) - . Fixed bug #72992 (mbstring.internal_encoding doesn't inherit default_charset). - (Yasuo) - . Fixed bug #66797 (mb_substr only takes 32-bit signed integer). (cmb) - . Fixed bug #72711 (`mb_ereg` does not clear the `$regs` parameter on - failure). (ju1ius) - . Fixed bug #72691 (mb_ereg_search raises a warning if a match zero-width). - (cmb) - . Fixed bug #72693 (mb_ereg_search increments search position when a match - zero-width). (cmb) - . Fixed bug #72694 (mb_ereg_search_setpos does not accept a string's last - position). (cmb) - . Fixed bug #72710 (`mb_ereg` causes buffer overflow on regexp compile error). - (ju1ius) - . Deprecated mb_ereg_replace() eval option. (Rouven Weßling, cmb) - . Fixed bug #69151 (mb_ereg should reject ill-formed byte sequence). - (Masaki Kagaya) - . Fixed bug #72405 (mb_ereg_replace - mbc_to_code (oniguruma) - - oob read access). (Laruence) - . Fixed bug #72399 (Use-After-Free in MBString (search_re)). (Laruence) - . mb_ereg() and mb_eregi() will now throw an instance of ParseError if an - invalid PHP expression is provided and the 'e' option is used. (Aaron - Piotrowski) - -- Mcrypt: - . Deprecated ext/mcrypt. (Scott Arciszewski, cmb) - . Fixed bug #72782 (Heap Overflow due to integer overflows). (Stas) - . Fixed bug #72551, bug #72552 (In correct casting from size_t to int lead to - heap overflow in mdecrypt_generic). (Stas) - . mcrypt_encrypt() and mcrypt_decrypt() will throw an instance of Error - instead of resulting in a fatal error if mcrypt cannot be initialized. - (Aaron Piotrowski) +- mysqli: + . Fixed bug GH-9841 (mysqli_query throws warning despite using + silenced error mode). (Kamil Tekiela) -- Mysqli: - . Attempting to read an invalid or write to a readonly property will throw - an instance of Error instead of resulting in a fatal error. (Aaron - Piotrowski) - -- Mysqlnd: - . Fixed bug #64526 (Add missing mysqlnd.* parameters to php.ini-*). (cmb) - . Fixed bug #71863 (Segfault when EXPLAIN with "Unknown column" error when - using MariaDB). (Andrey) - . Fixed bug #72701 (mysqli_get_host_info() wrong output). (Anatol) +- MySQLnd: + . Fixed potential heap corruption due to alignment mismatch. (cmb) -- OCI8 - . Fixed bug #71148 (Bind reference overwritten on PHP 7). (Oracle Corp.) - . Fixed invalid handle error with Implicit Result Sets. (Chris Jones) - . Fixed bug #72524 (Binding null values triggers ORA-24816 error). (Chris Jones) +- OCI8: + . Added oci8.prefetch_lob_size directive to tune LOB query performance + . Support for building against Oracle Client libraries 10.1 and 10.2 has been + dropped. Oracle Client libraries 11.2 or newer are now required. - ODBC: - . Fixed bug #73448 (odbc_errormsg returns trash, always 513 bytes). - (Anatol) + . Fixed bug GH-8300 (User input not escaped when building connection string). + (Calvin Buckley) + . Fixed bug GH-9347 (Current ODBC liveness checks may be inadequate). (Calvin + Buckley) - Opcache: - . Fixed bug #73583 (Segfaults when conditionally declared class and function - have the same name). (Laruence) - . Fixed bug #69090 (check cached files permissions) - . Fixed bug #72982 (Memory leak in zend_accel_blacklist_update_regexp() - function). (Laruence) - . Fixed bug #72949 (Typo in opcache error message). (cmb) - . Fixed bug #72762 (Infinite loop while parsing a file with opcache enabled). - (Nikita) - . Fixed bug #72590 (Opcache restart with kill_all_lockers does not work). - (Keyur) + . Allocate JIT buffer close to PHP .text segemnt to allow using direct + IP-relative calls and jumps. + (Su Tao, Wang Xue, Chen Hu, Lizhen Lizhen, Dmitry) + . Added initial support for JIT performance profiling generation + for macOs Instrument. (David Carlier) + . Fixed bug GH-8030 (Segfault with JIT and large match/switch statements). + (Arnaud) + . Added JIT support improvement for macOs for segments and executable permission + bit handling. (David Carlier) + . Added JIT buffer allocation near the .text section on FreeNSD. (David Carlier) + . Fixed bug GH-9371 (Crash with JIT on mac arm64) + (jdp1024/David Carlier) + . Fixed bug GH-9259 (opcache.interned_strings_buffer setting integer + overflow). (Arnaud) + . Added indirect call reduction for jit on x86 architectures. (wxue1) + . Fixed bug GH-9164 (Segfault in zend_accel_class_hash_copy). + (Arnaud, Sergei Turchanov) + . Fix opcache preload with observers enabled. (Bob) - OpenSSL: - . Fixed bug #73478 (openssl_pkey_new() generates wrong pub/priv keys with - Diffie Hellman). (Jakub Zelenka) - . Fixed bug #73276 (crash in openssl_random_pseudo_bytes function). (Stas) - . Fixed bug #73072 (Invalid path SNI_server_certs causes segfault). - (Jakub Zelenka) - . Fixed bug #72360 (ext/openssl build failure with OpenSSL 1.1.0). + . Discard poll calls on socket when no timeout/non blocking/MSG_DONTWAIT. (Max Kellermann) + . Fixed bug GH-9310 (SSL local_cert and local_pk do not respect + open_basedir). (Jakub Zelenka) + . Implement FR #76935 ("chacha20-poly1305" is an AEAD but does not work like + AEAD). (Jakub Zelenka) + . Added openssl_cipher_key_length function. (Jakub Zelenka) + . Fixed bug GH-9517 (Compilation error openssl extension related to PR + GH-9366). (Jakub Zelenka) + . Fixed missing clean up of OpenSSL engine list - attempt to fix GH-8620. (Jakub Zelenka) - . Bumped a minimal version to 1.0.1. (Jakub Zelenka) - . Dropped support for SSL2. (Remi) - . Implemented FR #61204 (Add elliptic curve support for OpenSSL). - (Dominic Luechinger) - . Implemented FR #67304 (Added AEAD support [CCM and GCM modes] to - openssl_encrypt and openssl_decrypt). (Jakub Zelenka) - . Implemented error storing to the global queue and cleaning up the OpenSSL - error queue (resolves bugs #68276 and #69882). (Jakub Zelenka) + . Fixed bug GH-8430 (OpenSSL compiled with no-md2, no-md4 or no-rmd160 does + not build). (Jakub Zelenka, fsbruva) -- Pcntl - . Implemented asynchronous signal handling without TICKS. (Dmitry) - . Added pcntl_signal_get_handler() that returns the current signal handler - for a particular signal. Addresses FR #72409. (David Walker) - . Add signinfo to pcntl_signal() handler args (Bishop Bettini, David Walker) +- PCNTL: + . Fixed pcntl_(get|set)priority error handling for MacOS. (Juan Morales) - PCRE: - . Fixed bug #73483 (Segmentation fault on pcre_replace_callback). (Laruence) - . Fixed bug #73612 (preg_*() may leak memory). (cmb) - . Fixed bug #73392 (A use-after-free in zend allocator management). - (Laruence) - . Fixed bug #73121 (Bundled PCRE doesn't compile because JIT isn't supported - on s390). (Anatol) - . Fixed bug #72688 (preg_match missing group names in matches). (cmb) - . Downgraded to PCRE 8.38. (Anatol) - . Fixed bug #72476 (Memleak in jit_stack). (Laruence) - . Fixed bug #72463 (mail fails with invalid argument). (Anatol) - . Upgraded to PCRE 8.39. (Anatol) + . Implemented FR #77726 (Allow null character in regex patterns). (tobil4sk) + . Updated bundled libpcre to 10.40. (cmb) - PDO: - . Fixed bug #72788 (Invalid memory access when using persistent PDO - connection). (Keyur) - . Fixed bug #72791 (Memory leak in PDO persistent connection handling). (Keyur) - . Fixed bug #60665 (call to empty() on NULL result using PDO::FETCH_LAZY - returns false). (cmb) - -- PDO_DBlib: - . Fixed bug #72414 (Never quote values as raw binary data). (Adam Baratz) - . Allow \PDO::setAttribute() to set query timeouts. (Adam Baratz) - . Handle SQLDECIMAL/SQLNUMERIC types, which are used by later TDS versions. - (Adam Baratz) - . Add common PDO test suite. (Adam Baratz) - . Free error and message strings when cleaning up PDO instances. - (Adam Baratz) - . Fixed bug #67130 (\PDOStatement::nextRowset() should succeed when all rows - in current rowset haven't been fetched). (Peter LeBrun) - . Ignore potentially misleading dberr values. (Chris Kings-Lynne) - . Implemented stringify 'uniqueidentifier' fields. - (Alexander Zhuravlev, Adam Baratz) + . Fixed bug GH-9818 (Initialize run time cache in PDO methods). + (Florian Sowade) - PDO_Firebird: - . Fixed bug #73087, #61183, #71494 (Memory corruption in bindParam). - (Dorin Marcoci) - . Fixed bug #60052 (Integer returned as a 64bit integer on X86_64). (Mariuz) - -- PDO_pgsql: - . Fixed bug #70313 (PDO statement fails to throw exception). (Matteo) - . Fixed bug #72570 (Segmentation fault when binding parameters on a query - without placeholders). (Matteo) - . Implemented FR #72633 (Postgres PDO lastInsertId() should work without - specifying a sequence). (Pablo Santiago Sánchez, Matteo) - -- Phar: - . Fixed bug #72928 (Out of bound when verify signature of zip phar in - phar_parse_zipfile). (Stas) - . Fixed bug #73035 (Out of bound when verify signature of tar phar in - phar_parse_tarfile). (Stas) - -- phpdbg: - . Added generator command for inspection of currently alive generators. (Bob) + . Fixed bug GH-8576 (Bad interpretation of length when char is UTF-8). (cmb) + +- PDO_ODBC: + . Fixed bug #80909 (crash with persistent connections in PDO_ODBC). (Calvin + Buckley) + . Fixed bug GH-8300 (User input not escaped when building connection string). + (Calvin Buckley) + . Fixed bug GH-9347 (Current ODBC liveness checks may be inadequate). (Calvin + Buckley) + . Fixed bug GH-9372 (HY010 when binding overlong parameter). (cmb) + +- PDO_PGSQL: + . Fixed bug GH-9411 (PgSQL large object resource is incorrectly closed). + (Yurunsoft) + +- Random: + . Added new random extension. (Go Kudo) + . Fixed bug GH-9067 (random extension is not thread safe). (cmb) + . Fixed bug GH-9055 (segmentation fault if user engine throws). (timwolla) + . Fixed bug GH-9066 (signed integer overflow). (zeriyoshi) + . Fixed bug GH-9083 (undefined behavior during shifting). (timwolla) + . Fixed bug GH-9088, GH-9056 (incorrect expansion of bytes when + generating uniform integers within a given range). (timwolla) + . Fixed bug GH-9089 (Fix memory leak on Randomizer::__construct() + call twice). (zeriyoshi) + . Fixed bug GH-9212 (PcgOneseq128XslRr64::jump() should not allow negative + $advance). (Anton Smirnov) + . Changed Mt19937 to throw a ValueError instead of InvalidArgumentException + for invalid $mode. (timwolla) + . Splitted Random\Randomizer::getInt() (without arguments) to + Random\Randomizer::nextInt(). (zeriyoshi) + . Fixed bug GH-9235 (non-existant $sequence parameter in stub for + PcgOneseq128XslRr64::__construct()). (timwolla) + . Fixed bug GH-9190, GH-9191 (undefined behavior for MT_RAND_PHP when + handling large ranges). (timwolla) + . Fixed bug GH-9249 (Xoshiro256StarStar does not reject the invalid + all-zero state). (timwolla) + . Removed redundant RuntimeExceptions from Randomizer methods. The + exceptions thrown by the engines will be exposed directly. (timwolla) + . Added extension specific Exceptions/Errors (RandomException, RandomError, + BrokenRandomEngineError). (timwolla) + . Fixed bug GH-9415 (Randomizer::getInt(0, 2**32 - 1) with Mt19937 + always returns 1). (timwolla) + . Fixed Randomizer::getInt() consistency for 32-bit engines. (timwolla) + . Fixed bug GH-9464 (build on older macOs releases). (David Bohman) + . Fixed bug GH-9839 (Pre-PHP 8.2 output compatibility for non-mt_rand() + functions for MT_RAND_PHP). (timwolla) -- Postgres: - . Fixed bug #73498 (Incorrect SQL generated for pg_copy_to()). (Craig Duncan) - . Implemented FR #31021 (pg_last_notice() is needed to get all notice - messages). (Yasuo) - . Implemented FR #48532 (Allow pg_fetch_all() to index numerically). (Yasuo) - -- Readline: - . Fixed bug #72538 (readline_redisplay crashes php). (Laruence) - -- Reflection - . Undo backwards compatiblity break in ReflectionType->__toString() and - deprecate via documentation instead. (Nikita) - . Reverted prepending \ for class names. (Trowski) - . Implemented request #38992 (invoke() and invokeArgs() static method calls - should match). (cmb). - . Add ReflectionNamedType::getName(). This method should be used instead of - ReflectionType::__toString() - . Prepend \ for class names and ? for nullable types returned from - ReflectionType::__toString(). (Trowski) - . Fixed bug #72661 (ReflectionType::__toString crashes with iterable). - (Laruence) - . Fixed bug #72222 (ReflectionClass::export doesn't handle array constants). - (Nikita Nefedov) - . Failure to retrieve a reflection object or retrieve an object property - will now throw an instance of Error instead of resulting in a fatal error. - (Aaron Piotrowski) - . Fix #72209 (ReflectionProperty::getValue() doesn't fail if object doesn't match type). (Joe) +- Reflection: + . Added ReflectionFunction::isAnonymous(). (Nicolas Grekas) + . Added ReflectionMethod::hasPrototype(). (Ollie Read) + . Narrow ReflectionEnum::getBackingType() return type to ReflectionNamedType. + (SamMousa) + . Fixed bug GH-8932 (ReflectionFunction provides no way to get the called + class of a Closure). (cmb, Nicolas Grekas) - Session: - . Fixed bug #73273 (session_unset() empties values from all variables in which - is $_session stored). (Nikita) - . Fixed bug #73100 (session_destroy null dereference in ps_files_path_create). - (cmb) - . Fixed bug #68015 (Session does not report invalid uid for files save handler). - (Yasuo) - . Fixed bug #72940 (SID always return "name=ID", even if session - cookie exist). (Yasuo) - . Implemented session_gc() (Yasuo) - https://wiki.php.net/rfc/session-create-id - . Implemented session_create_id() (Yasuo) - https://wiki.php.net/rfc/session-gc - . Implemented RFC: Session ID without hashing. (Yasuo) - https://wiki.php.net/rfc/session-id-without-hashing - . Fixed bug #72531 (ps_files_cleanup_dir Buffer overflow). (Laruence) - . Custom session handlers that do not return strings for session IDs will - now throw an instance of Error instead of resulting in a fatal error - when a function is called that must generate a session ID. - (Aaron Piotrowski) - . An invalid setting for session.hash_function will throw an instance of - Error instead of resulting in a fatal error when a session ID is created. - (Aaron Piotrowski) - . Fixed bug #72562 (Use After Free in unserialize() with Unexpected Session - Deserialization). (Stas) - . Improved fix for bug #68063 (Empty session IDs do still start sessions). - (Yasuo) - . Fixed bug #71038 (session_start() returns TRUE on failure). - Session save handlers must return 'string' always for successful read. - i.e. Non-existing session read must return empty string. PHP 7.0 is made - not to tolerate buggy return value. (Yasuo) - . Fixed bug #71394 (session_regenerate_id() must close opened session on - errors). (Yasuo) + . Fixed bug GH-7787 (Improve session write failure message for user error + handlers). (ilutov) + . Fixed GH-9200 (setcookie has an obsolete expires date format). (timwolla) + . Fixed GH-9584 (Avoid memory corruption when not unregistering custom session + handler). (ilutov) + . Fixed bug GH-9583 (session_create_id() fails with user defined save handler + that doesn't have a validateId() method). (Girgias) -- SimpleXML: - . Fixed bug #73293 (NULL pointer dereference in SimpleXMLElement::asXML()). - (Stas) - . Fixed bug #72971 (SimpleXML isset/unset do not respect namespace). (Nikita) - . Fixed bug #72957 (Null coalescing operator doesn't behave as expected with - SimpleXMLElement). (Nikita) - . Fixed bug #72588 (Using global var doesn't work while accessing SimpleXML - element). (Laruence) - . Creating an unnamed or duplicate attribute will throw an instance of Error - instead of resulting in a fatal error. (Aaron Piotrowski) +- SOAP: + . Fixed bug GH-9720 (Null pointer dereference while serializing the response). + (cmb) -- SNMP: - . Fixed bug #72708 (php_snmp_parse_oid integer overflow in memory - allocation). (djodjo at gmail dot com) - . Fixed bug #72479 (Use After Free Vulnerability in SNMP with GC and - unserialize()). (Stas) +- Sockets: + . Added TCP_NOTSENT_LOWAT socket option. (David Carlier) + . Added SO_MEMINFO socket option. (David Carlier) + . Added SO_RTABLE socket option (OpenBSD), equivalent of SO_MARK (Linux). + (David Carlier) + . Added TCP_KEEPALIVE, TCP_KEEPIDLE, TCP_KEEPINTVL, TCP_KEEPCNT socket + options. (David Carlier) + . Added ancillary data support for FreeBSD. (David Carlier) + . Added ancillary data support for NetBSD. (David Carlier) + . Added SO_BPF_EXTENSIONS socket option. (David Carlier) + . Added SO_SETFIB socket option. (David Carlier) + . Added TCP_CONGESTION socket option. (David Carlier) + . Added SO_ZEROCOPY/MSG_ZEROCOPY options. (David Carlier) + . Added SOL_FILTER socket option for Solaris. (David Carlier) + . Fixed socket constants regression as of PHP 8.2.0beta3. (Bruce Dou) -- Soap: - . Fixed bug #73538 (SoapClient::__setSoapHeaders doesn't overwrite SOAP - headers). (duncan3dc) - . Fixed bug #73452 (Segfault (Regression for #69152)). (Dmitry) - . Fixed bug #73037 (SoapServer reports Bad Request when gzipped). (Anatol) - . Fixed bug #73237 (Nested object in "any" element overwrites other fields). - (Keith Smiley) - . Fixed bug #69137 (Peer verification fails when using a proxy with SoapClient) - (Keith Smiley) - . Fixed bug #71711 (Soap Server Member variables reference bug). (Nikita) - . Fixed bug #71996 (Using references in arrays doesn't work like expected). - (Nikita) +- Sodium: + . Added sodium_crypto_stream_xchacha20_xor_ic(). (Scott) - SPL: - . Fixed bug #73423 (Reproducible crash with GDB backtrace). (Laruence) - . Fixed bug #72888 (Segfault on clone on splFileObject). (Laruence) - . Fixed bug #73029 (Missing type check when unserializing SplArray). (Stas) - . Fixed bug #72646 (SplFileObject::getCsvControl does not return the escape - character). (cmb) - . Fixed bug #72684 (AppendIterator segfault with closed generator). (Pierrick) - . Attempting to clone an SplDirectory object will throw an instance of Error - instead of resulting in a fatal error. (Aaron Piotrowski) - . Calling ArrayIterator::append() when iterating over an object will throw an - instance of Error instead of resulting in a fatal error. (Aaron Piotrowski) - . Fixed bug #55701 (GlobIterator throws LogicException). (Valentin VĂLCIU) + . Uses safe_erealloc instead of erealloc to handle heap growth + for the SplHeap::insert method to avoid possible overflows. (David Carlier) + . Widen iterator_to_array() and iterator_count()'s $iterator parameter to + iterable. (timwolla) + . Fixed bug #69181 (READ_CSV|DROP_NEW_LINE drops newlines within fields). + (cmb) + . Fixed bug #65069 (GlobIterator incorrect handling of open_basedir check). + (Jakub Zelenka) - SQLite3: - . Update to SQLite 3.15.1. (cmb) - . Fixed bug #73530 (Unsetting result set may reset other result set). (cmb) - . Fixed bug #73333 (2147483647 is fetched as string). (cmb) - . Fixed bug #72668 (Spurious warning when exception is thrown in user defined - function). (Laruence) - . Implemented FR #72653 (SQLite should allow opening with empty filename). - (cmb) - . Fixed bug #70628 (Clearing bindings on an SQLite3 statement doesn't work). - (cmb) - . Implemented FR #71159 (Upgraded bundled SQLite lib to 3.9.2). (Laruence) + . Changed sqlite3.defensive from PHP_INI_SYSTEM to PHP_INI_USER. (bohwaz) - Standard: - . Fixed bug #73297 (HTTP stream wrapper should ignore HTTP 100 Continue). - (rowan dot collins at gmail dot com) - . Fixed bug #73303 (Scope not inherited by eval in assert()). (nikic) - . Fixed bug #73192 (parse_url return wrong hostname). (Nikita) - . Fixed bug #73203 (passing additional_parameters causes mail to fail). (cmb) - . Fixed bug #73203 (passing additional_parameters causes mail to fail). (cmb) - . Fixed bug #72920 (Accessing a private constant using constant() creates - an exception AND warning). (Laruence) - . Fixed bug #65550 (get_browser() incorrectly parses entries with "+" sign). - (cmb) - . Fixed bug #71882 (Negative ftruncate() on php://memory exhausts memory). + . net_get_interfaces() also reports wireless network interfaces on Windows. + (Yurun) + . Finished AVIF support in getimagesize(). (Yannis Guyon) + . Fixed bug GH-7847 (stripos with large haystack has bad performance). + (ilutov) + . New function memory_reset_peak_usage(). (Patrick Allaert) + . Fixed parse_url(): can not recognize port without scheme. (pandaLIU) + . Deprecated utf8_encode() and utf8_decode(). (Rowan Tommins) + . Fixed the crypt_sha256/512 api build with clang > 12. (David Carlier) + . Uses safe_erealloc instead of erealloc to handle options in getopt + to avoid possible overflows. (David Carlier) + . Implemented FR GH-8924 (str_split should return empty array for empty + string). (Michael Vorisek) + . Added ini_parse_quantity function to convert ini quantities shorthand + notation to int. (Dennis Snell) + . Enable arc4random_buf for Linux glibc 2.36 and onwards + for the random_bytes. (Cristian Rodriguez) + . Uses CCRandomGenerateBytes instead of arc4random_buf on macOs. (David Carlier). + . Fixed bug #65489 (glob() basedir check is inconsistent). (Jakub Zelenka) + . Fixed GH-9200 (setcookie has an obsolete expires date format). (Derick) + . Fixed GH-9244 (Segfault with array_multisort + array_shift). (cmb) + . Fixed bug GH-9296 (`ksort` behaves incorrectly on arrays with mixed keys). + (Denis Vaksman) + . Marked crypt()'s $string parameter as #[\SensitiveParameter]. (timwolla) + . Fixed bug GH-9464 (build on older macOs releases). (David Bohman) + . Fixed bug GH-9518 (Disabling IPv6 support disables unrelated constants). (cmb) - . Fixed bug #55451 (substr_compare NULL length interpreted as 0). (Lauri - Kenttä) - . Fixed bug #72278 (getimagesize returning FALSE on valid jpg). (cmb) - . Fixed bug #61967 (unset array item in array_walk_recursive cause - inconsistent array). (Nikita) - . Fixed bug #62607 (array_walk_recursive move internal pointer). (Nikita) - . Fixed bug #69068 (Exchanging array during array_walk -> memory errors). - (Nikita) - . Fixed bug #70713 (Use After Free Vulnerability in array_walk()/ - array_walk_recursive()). (Nikita) - . Fixed bug #72622 (array_walk + array_replace_recursive create references - from nothing). (Laruence) - . Fixed bug #72330 (CSV fields incorrectly split if escape char followed by - UTF chars). (cmb) - . Implemented RFC: More precise float values. (Jakub Zelenka, Yasuo) - . array_multisort now uses zend_sort instead zend_qsort. (Laruence) - . Fixed bug #72505 (readfile() mangles files larger than 2G). (Cschneid) - . assert() will throw a ParseError when evaluating a string given as the first - argument if the PHP code is invalid instead of resulting in a catchable - fatal error. (Aaron Piotrowski) - . Calling forward_static_call() outside of a class scope will now throw an - instance of Error instead of resulting in a fatal error. (Aaron Piotrowski) - . Added is_iterable() function. (Aaron Piotrowski) - . Fixed bug #72306 (Heap overflow through proc_open and $env parameter). - (Laruence) - . Fixed bug #71100 (long2ip() doesn't accept integers in strict mode). - (Laruence) - . Implemented FR #55716 (Add an option to pass a custom stream context to - get_headers()). (Ferenc) - . Additional validation for parse_url() for login/pass components). - (Ilia) (Julien) - . Implemented FR #69359 (Provide a way to fetch the current environment - variables). (Ferenc) - . unpack() function accepts an additional optional argument $offset. (Dmitry) - . Implemented #51879 stream context socket option tcp_nodelay (Joe) + . Revert "Fixed parse_url(): can not recognize port without scheme." + (andypost) + . Fix crash reading module_entry after DL_UNLOAD() when module already + loaded. (Bob) - Streams: - . Fixed bug #73586 (php_user_filter::$stream is not set to the stream the - filter is working on). (Dmitry) - . Fixed bug #72853 (stream_set_blocking doesn't work). (Laruence) - . Fixed bug #72743 (Out-of-bound read in php_stream_filter_create). - (Loianhtuan) - . Implemented FR #27814 (Multiple small packets send for HTTP request). - (vhuk) - . Fixed bug #72764 (ftps:// opendir wrapper data channel encryption fails - with IIS FTP 7.5, 8.5). (vhuk) - . Fixed bug #72810 (Missing SKIP_ONLINE_TESTS checks). (vhuk) - . Fixed bug #41021 (Problems with the ftps wrapper). (vhuk) - . Fixed bug #54431 (opendir() does not work with ftps:// wrapper). (vhuk) - . Fixed bug #72667 (opendir() with ftp:// attempts to open data stream for - non-existent directories). (vhuk) - . Fixed bug #72771 (ftps:// wrapper is vulnerable to protocol downgrade - attack). (Stas) - . Fixed bug #72534 (stream_socket_get_name crashes). (Anatol) - . Fixed bug #72439 (Stream socket with remote address leads to a segmentation - fault). (Laruence) - -- sysvshm: - . Fixed bug #72858 (shm_attach null dereference). (Anatol) - -- Tidy: - . Implemented support for libtidy 5.0.0 and above. (Michael Orlitzky, Anatol) - . Creating a tidyNode manually will now throw an instance of Error instead of - resulting in a fatal error. (Aaron Piotrowski) + . Set IP_BIND_ADDRESS_NO_PORT if available when connecting to remote host. + (Cristian Rodríguez) + . Fixed bug GH-8548 (stream_wrapper_unregister() leaks memory). (ilutov) + . Discard poll calls on socket when no timeout/non blocking/MSG_DONTWAIT. (Max Kellermann) + . Fixed bug GH-9316 ($http_response_header is wrong for long status line). + (cmb, timwolla) + . Fixed bug GH-9590 (stream_select does not abort upon exception or empty + valid fd set). (Arnaud) + . Fixed bug GH-9653 (file copy between different filesystems). (David Carlier) + . Fixed bug GH-9779 (stream_copy_to_stream fails if dest in append mode). + (Jakub Zelenka) -- Wddx: - . Fixed bug #73331 (NULL Pointer Dereference in WDDX Packet Deserialization - with PDORow). (Stas) - . Fixed bug #72142 (WDDX Packet Injection Vulnerability in - wddx_serialize_value()). (Taoguang Chen) - . Fixed bug #72749 (wddx_deserialize allows illegal memory access) (Stas) - . Fixed bug #72750 (wddx_deserialize null dereference). (Stas) - . Fixed bug #72790 (wddx_deserialize null dereference with invalid xml). - (Stas) - . Fixed bug #72799 (wddx_deserialize null dereference in - php_wddx_pop_element). (Stas) - . Fixed bug #72860 (wddx_deserialize use-after-free). (Stas) - . Fixed bug #73065 (Out-Of-Bounds Read in php_wddx_push_element). (Stas) - . Fixed bug #72564 (boolean always deserialized as "true") (Remi) - . A circular reference when serializing will now throw an instance of Error - instead of resulting in a fatal error. (Aaron Piotrowski) +- Windows: + . Added preliminary support for (cross-)building for ARM64. (Yun Dou) - XML: - . Fixed bug #72135 (malformed XML causes fault) (edgarsandi) - . Fixed bug #72714 (_xml_startElementHandler() segmentation fault). (cmb) - . Fixed bug #72085 (SEGV on unknown address zif_xml_parse). (cmb) - -- XMLRPC: - . Fixed bug #72647 (xmlrpc_encode() unexpected output after referencing - array elements). (Laruence) - . Fixed bug #72606 (heap-buffer-overflow (write) simplestring_addn - simplestring.c). (Stas) - . A circular reference when serializing will now throw an instance of Error - instead of resulting in a fatal error. (Aaron Piotrowski) + . Added libxml_get_external_entity_loader() function. (Tim Starling) - Zip: - . Fixed bug #68302 (impossible to compile php with zip support). (cmb) - . Fixed bug #72660 (NULL Pointer dereference in zend_virtual_cwd). - (Laruence) - . Fixed bug #72520 (Stack-based buffer overflow vulnerability in - php_stream_zip_opener). (Stas) - . ZipArchive::addGlob() will throw an instance of Error instead of resulting - in a fatal error if glob support is not available. (Aaron Piotrowski) + . add ZipArchive::clearError() method + . add ZipArchive::getStreamName() method + . add ZipArchive::getStreamIndex() method + . On Windows, the Zip extension is now built as shared library (DLL) by + default. (cmb) + . Implement fseek for zip stream when possible with libzip 1.9.1. (Remi) diff --git a/php/nghttp2.dll b/php/nghttp2.dll index 493c309..ca0bce5 100644 Binary files a/php/nghttp2.dll and b/php/nghttp2.dll differ diff --git a/php/pharcommand.phar b/php/pharcommand.phar index caf4246..ee58a24 100644 Binary files a/php/pharcommand.phar and b/php/pharcommand.phar differ diff --git a/php/php-cgi.exe b/php/php-cgi.exe index 6095020..56e7bb0 100644 Binary files a/php/php-cgi.exe and b/php/php-cgi.exe differ diff --git a/php/php-win.exe b/php/php-win.exe index 880048f..abc9cb3 100644 Binary files a/php/php-win.exe and b/php/php-win.exe differ diff --git a/php/php.exe b/php/php.exe index 753a2a3..1e4f2cd 100644 Binary files a/php/php.exe and b/php/php.exe differ diff --git a/php/php.gif b/php/php.gif deleted file mode 100644 index f352c73..0000000 Binary files a/php/php.gif and /dev/null differ diff --git a/php/php.ini b/php/php.ini deleted file mode 100644 index 8fe3653..0000000 --- a/php/php.ini +++ /dev/null @@ -1,1914 +0,0 @@ -[PHP] - -;;;;;;;;;;;;;;;;;;; -; About php.ini ; -;;;;;;;;;;;;;;;;;;; -; PHP's initialization file, generally called php.ini, is responsible for -; configuring many of the aspects of PHP's behavior. - -; PHP attempts to find and load this configuration from a number of locations. -; The following is a summary of its search order: -; 1. SAPI module specific location. -; 2. The PHPRC environment variable. (As of PHP 5.2.0) -; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) -; 4. Current working directory (except CLI) -; 5. The web server's directory (for SAPI modules), or directory of PHP -; (otherwise in Windows) -; 6. The directory from the --with-config-file-path compile time option, or the -; Windows directory (C:\windows or C:\winnt) -; See the PHP docs for more specific information. -; http://php.net/configuration.file - -; The syntax of the file is extremely simple. Whitespace and lines -; beginning with a semicolon are silently ignored (as you probably guessed). -; Section headers (e.g. [Foo]) are also silently ignored, even though -; they might mean something in the future. - -; Directives following the section heading [PATH=/www/mysite] only -; apply to PHP files in the /www/mysite directory. Directives -; following the section heading [HOST=www.example.com] only apply to -; PHP files served from www.example.com. Directives set in these -; special sections cannot be overridden by user-defined INI files or -; at runtime. Currently, [PATH=] and [HOST=] sections only work under -; CGI/FastCGI. -; http://php.net/ini.sections - -; Directives are specified using the following syntax: -; directive = value -; Directive names are *case sensitive* - foo=bar is different from FOO=bar. -; Directives are variables used to configure PHP or PHP extensions. -; There is no name validation. If PHP can't find an expected -; directive because it is not set or is mistyped, a default value will be used. - -; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one -; of the INI constants (On, Off, True, False, Yes, No and None) or an expression -; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a -; previously set variable or directive (e.g. ${foo}) - -; Expressions in the INI file are limited to bitwise operators and parentheses: -; | bitwise OR -; ^ bitwise XOR -; & bitwise AND -; ~ bitwise NOT -; ! boolean NOT - -; Boolean flags can be turned on using the values 1, On, True or Yes. -; They can be turned off using the values 0, Off, False or No. - -; An empty string can be denoted by simply not writing anything after the equal -; sign, or by using the None keyword: - -; foo = ; sets foo to an empty string -; foo = None ; sets foo to an empty string -; foo = "None" ; sets foo to the string 'None' - -; If you use constants in your value, and these constants belong to a -; dynamically loaded extension (either a PHP extension or a Zend extension), -; you may only use these constants *after* the line that loads the extension. - -;;;;;;;;;;;;;;;;;;; -; About this file ; -;;;;;;;;;;;;;;;;;;; -; PHP comes packaged with two INI files. One that is recommended to be used -; in production environments and one that is recommended to be used in -; development environments. - -; php.ini-production contains settings which hold security, performance and -; best practices at its core. But please be aware, these settings may break -; compatibility with older or less security conscience applications. We -; recommending using the production ini in production and testing environments. - -; php.ini-development is very similar to its production variant, except it is -; much more verbose when it comes to errors. We recommend using the -; development version only in development environments, as errors shown to -; application users can inadvertently leak otherwise secure information. - -; This is php.ini-production INI file. - -;;;;;;;;;;;;;;;;;;; -; Quick Reference ; -;;;;;;;;;;;;;;;;;;; -; The following are all the settings which are different in either the production -; or development versions of the INIs with respect to PHP's default behavior. -; Please see the actual settings later in the document for more details as to why -; we recommend these changes in PHP's behavior. - -; display_errors -; Default Value: On -; Development Value: On -; Production Value: Off - -; display_startup_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; error_reporting -; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED -; Development Value: E_ALL -; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT - -; html_errors -; Default Value: On -; Development Value: On -; Production value: On - -; log_errors -; Default Value: Off -; Development Value: On -; Production Value: On - -; max_input_time -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) - -; output_buffering -; Default Value: Off -; Development Value: 4096 -; Production Value: 4096 - -; register_argc_argv -; Default Value: On -; Development Value: Off -; Production Value: Off - -; request_order -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" - -; session.gc_divisor -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 - -; session.sid_bits_per_character -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 - -; short_open_tag -; Default Value: On -; Development Value: Off -; Production Value: Off - -; track_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; variables_order -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS" - -;;;;;;;;;;;;;;;;;;;; -; php.ini Options ; -;;;;;;;;;;;;;;;;;;;; -; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" -;user_ini.filename = ".user.ini" - -; To disable this feature set this option to empty value -;user_ini.filename = - -; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) -;user_ini.cache_ttl = 300 - -;;;;;;;;;;;;;;;;;;;; -; Language Options ; -;;;;;;;;;;;;;;;;;;;; - -; Enable the PHP scripting language engine under Apache. -; http://php.net/engine -engine = On - -; This directive determines whether or not PHP will recognize code between -; tags as PHP source which should be processed as such. It is -; generally recommended that should be used and that this feature -; should be disabled, as enabling it may result in issues when generating XML -; documents, however this remains supported for backward compatibility reasons. -; Note that this directive does not control the would work. -; http://php.net/syntax-highlighting -;highlight.string = #DD0000 -;highlight.comment = #FF9900 -;highlight.keyword = #007700 -;highlight.default = #0000BB -;highlight.html = #000000 - -; If enabled, the request will be allowed to complete even if the user aborts -; the request. Consider enabling it if executing long requests, which may end up -; being interrupted by the user or a browser timing out. PHP's default behavior -; is to disable this feature. -; http://php.net/ignore-user-abort -;ignore_user_abort = On - -; Determines the size of the realpath cache to be used by PHP. This value should -; be increased on systems where PHP opens many files to reflect the quantity of -; the file operations performed. -; http://php.net/realpath-cache-size -;realpath_cache_size = 4096k - -; Duration of time, in seconds for which to cache realpath information for a given -; file or directory. For systems with rarely changing files, consider increasing this -; value. -; http://php.net/realpath-cache-ttl -;realpath_cache_ttl = 120 - -; Enables or disables the circular reference collector. -; http://php.net/zend.enable-gc -zend.enable_gc = On - -; If enabled, scripts may be written in encodings that are incompatible with -; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such -; encodings. To use this feature, mbstring extension must be enabled. -; Default: Off -;zend.multibyte = Off - -; Allows to set the default encoding for the scripts. This value will be used -; unless "declare(encoding=...)" directive appears at the top of the script. -; Only affects if zend.multibyte is set. -; Default: "" -;zend.script_encoding = - -;;;;;;;;;;;;;;;;; -; Miscellaneous ; -;;;;;;;;;;;;;;;;; - -; Decides whether PHP may expose the fact that it is installed on the server -; (e.g. by adding its signature to the Web server header). It is no security -; threat in any way, but it makes it possible to determine whether you use PHP -; on your server or not. -; http://php.net/expose-php -expose_php = On - -;;;;;;;;;;;;;;;;;;; -; Resource Limits ; -;;;;;;;;;;;;;;;;;;; - -; Maximum execution time of each script, in seconds -; http://php.net/max-execution-time -; Note: This directive is hardcoded to 0 for the CLI SAPI -max_execution_time = 30 - -; Maximum amount of time each script may spend parsing request data. It's a good -; idea to limit this time on productions servers in order to eliminate unexpectedly -; long running scripts. -; Note: This directive is hardcoded to -1 for the CLI SAPI -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) -; http://php.net/max-input-time -max_input_time = 60 - -; Maximum input variable nesting level -; http://php.net/max-input-nesting-level -;max_input_nesting_level = 64 - -; How many GET/POST/COOKIE input variables may be accepted -; max_input_vars = 1000 - -; Maximum amount of memory a script may consume (128MB) -; http://php.net/memory-limit -memory_limit = 128M - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Error handling and logging ; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -; This directive informs PHP of which errors, warnings and notices you would like -; it to take action for. The recommended way of setting values for this -; directive is through the use of the error level constants and bitwise -; operators. The error level constants are below here for convenience as well as -; some common settings and their meanings. -; By default, PHP is set to take action on all errors, notices and warnings EXCEPT -; those related to E_NOTICE and E_STRICT, which together cover best practices and -; recommended coding standards in PHP. For performance reasons, this is the -; recommend error reporting setting. Your production server shouldn't be wasting -; resources complaining about best practices and coding standards. That's what -; development servers and development settings are for. -; Note: The php.ini-development file has this setting as E_ALL. This -; means it pretty much reports everything which is exactly what you want during -; development and early testing. -; -; Error Level Constants: -; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) -; E_ERROR - fatal run-time errors -; E_RECOVERABLE_ERROR - almost fatal run-time errors -; E_WARNING - run-time warnings (non-fatal errors) -; E_PARSE - compile-time parse errors -; E_NOTICE - run-time notices (these are warnings which often result -; from a bug in your code, but it's possible that it was -; intentional (e.g., using an uninitialized variable and -; relying on the fact it is automatically initialized to an -; empty string) -; E_STRICT - run-time notices, enable to have PHP suggest changes -; to your code which will ensure the best interoperability -; and forward compatibility of your code -; E_CORE_ERROR - fatal errors that occur during PHP's initial startup -; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's -; initial startup -; E_COMPILE_ERROR - fatal compile-time errors -; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) -; E_USER_ERROR - user-generated error message -; E_USER_WARNING - user-generated warning message -; E_USER_NOTICE - user-generated notice message -; E_DEPRECATED - warn about code that will not work in future versions -; of PHP -; E_USER_DEPRECATED - user-generated deprecation warnings -; -; Common Values: -; E_ALL (Show all errors, warnings and notices including coding standards.) -; E_ALL & ~E_NOTICE (Show all errors, except for notices) -; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) -; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) -; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED -; Development Value: E_ALL -; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT -; http://php.net/error-reporting -error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT - -; This directive controls whether or not and where PHP will output errors, -; notices and warnings too. Error output is very useful during development, but -; it could be very dangerous in production environments. Depending on the code -; which is triggering the error, sensitive information could potentially leak -; out of your application such as database usernames and passwords or worse. -; For production environments, we recommend logging errors rather than -; sending them to STDOUT. -; Possible Values: -; Off = Do not display any errors -; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) -; On or stdout = Display errors to STDOUT -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/display-errors -display_errors = Off - -; The display of errors which occur during PHP's startup sequence are handled -; separately from display_errors. PHP's default behavior is to suppress those -; errors from clients. Turning the display of startup errors on can be useful in -; debugging configuration problems. We strongly recommend you -; set this to 'off' for production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/display-startup-errors -display_startup_errors = Off - -; Besides displaying errors, PHP can also log errors to locations such as a -; server-specific log, STDERR, or a location specified by the error_log -; directive found below. While errors should not be displayed on productions -; servers they should still be monitored and logging is a great way to do that. -; Default Value: Off -; Development Value: On -; Production Value: On -; http://php.net/log-errors -log_errors = On - -; Set maximum length of log_errors. In error_log information about the source is -; added. The default is 1024 and 0 allows to not apply any maximum length at all. -; http://php.net/log-errors-max-len -log_errors_max_len = 1024 - -; Do not log repeated messages. Repeated errors must occur in same file on same -; line unless ignore_repeated_source is set true. -; http://php.net/ignore-repeated-errors -ignore_repeated_errors = Off - -; Ignore source of message when ignoring repeated messages. When this setting -; is On you will not log errors with repeated messages from different files or -; source lines. -; http://php.net/ignore-repeated-source -ignore_repeated_source = Off - -; If this parameter is set to Off, then memory leaks will not be shown (on -; stdout or in the log). This has only effect in a debug compile, and if -; error reporting includes E_WARNING in the allowed list -; http://php.net/report-memleaks -report_memleaks = On - -; This setting is on by default. -;report_zend_debug = 0 - -; Store the last error/warning message in $php_errormsg (boolean). Setting this value -; to On can assist in debugging and is appropriate for development servers. It should -; however be disabled on production servers. -; This directive is DEPRECATED. -; Default Value: Off -; Development Value: Off -; Production Value: Off -; http://php.net/track-errors -;track_errors = Off - -; Turn off normal error reporting and emit XML-RPC error XML -; http://php.net/xmlrpc-errors -;xmlrpc_errors = 0 - -; An XML-RPC faultCode -;xmlrpc_error_number = 0 - -; When PHP displays or logs an error, it has the capability of formatting the -; error message as HTML for easier reading. This directive controls whether -; the error message is formatted as HTML or not. -; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: On -; Development Value: On -; Production value: On -; http://php.net/html-errors -html_errors = On - -; If html_errors is set to On *and* docref_root is not empty, then PHP -; produces clickable error messages that direct to a page describing the error -; or function causing the error in detail. -; You can download a copy of the PHP manual from http://php.net/docs -; and change docref_root to the base URL of your local copy including the -; leading '/'. You must also specify the file extension being used including -; the dot. PHP's default behavior is to leave these settings empty, in which -; case no links to documentation are generated. -; Note: Never use this feature for production boxes. -; http://php.net/docref-root -; Examples -;docref_root = "/phpmanual/" - -; http://php.net/docref-ext -;docref_ext = .html - -; String to output before an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-prepend-string -; Example: -;error_prepend_string = "" - -; String to output after an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-append-string -; Example: -;error_append_string = "" - -; Log errors to specified file. PHP's default behavior is to leave this value -; empty. -; http://php.net/error-log -; Example: -;error_log = php_errors.log -; Log errors to syslog (Event Log on Windows). -;error_log = syslog - -;windows.show_crt_warning -; Default value: 0 -; Development value: 0 -; Production value: 0 - -;;;;;;;;;;;;;;;;; -; Data Handling ; -;;;;;;;;;;;;;;;;; - -; The separator used in PHP generated URLs to separate arguments. -; PHP's default setting is "&". -; http://php.net/arg-separator.output -; Example: -;arg_separator.output = "&" - -; List of separator(s) used by PHP to parse input URLs into variables. -; PHP's default setting is "&". -; NOTE: Every character in this directive is considered as separator! -; http://php.net/arg-separator.input -; Example: -;arg_separator.input = ";&" - -; This directive determines which super global arrays are registered when PHP -; starts up. G,P,C,E & S are abbreviations for the following respective super -; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty -; paid for the registration of these arrays and because ENV is not as commonly -; used as the others, ENV is not recommended on productions servers. You -; can still get access to the environment variables through getenv() should you -; need to. -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS"; -; http://php.net/variables-order -variables_order = "GPCS" - -; This directive determines which super global data (G,P & C) should be -; registered into the super global array REQUEST. If so, it also determines -; the order in which that data is registered. The values for this directive -; are specified in the same manner as the variables_order directive, -; EXCEPT one. Leaving this value empty will cause PHP to use the value set -; in the variables_order directive. It does not mean it will leave the super -; globals array REQUEST empty. -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" -; http://php.net/request-order -request_order = "GP" - -; This directive determines whether PHP registers $argv & $argc each time it -; runs. $argv contains an array of all the arguments passed to PHP when a script -; is invoked. $argc contains an integer representing the number of arguments -; that were passed when the script was invoked. These arrays are extremely -; useful when running scripts from the command line. When this directive is -; enabled, registering these variables consumes CPU cycles and memory each time -; a script is executed. For performance reasons, this feature should be disabled -; on production servers. -; Note: This directive is hardcoded to On for the CLI SAPI -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/register-argc-argv -register_argc_argv = Off - -; When enabled, the ENV, REQUEST and SERVER variables are created when they're -; first used (Just In Time) instead of when the script starts. If these -; variables are not used within a script, having this directive on will result -; in a performance gain. The PHP directive register_argc_argv must be disabled -; for this directive to have any affect. -; http://php.net/auto-globals-jit -auto_globals_jit = On - -; Whether PHP will read the POST data. -; This option is enabled by default. -; Most likely, you won't want to disable this option globally. It causes $_POST -; and $_FILES to always be empty; the only way you will be able to read the -; POST data will be through the php://input stream wrapper. This can be useful -; to proxy requests or to process the POST data in a memory efficient fashion. -; http://php.net/enable-post-data-reading -;enable_post_data_reading = Off - -; Maximum size of POST data that PHP will accept. -; Its value may be 0 to disable the limit. It is ignored if POST data reading -; is disabled through enable_post_data_reading. -; http://php.net/post-max-size -post_max_size = 8M - -; Automatically add files before PHP document. -; http://php.net/auto-prepend-file -auto_prepend_file = - -; Automatically add files after PHP document. -; http://php.net/auto-append-file -auto_append_file = - -; By default, PHP will output a media type using the Content-Type header. To -; disable this, simply set it to be empty. -; -; PHP's built-in default media type is set to text/html. -; http://php.net/default-mimetype -default_mimetype = "text/html" - -; PHP's default character set is set to UTF-8. -; http://php.net/default-charset -default_charset = "UTF-8" - -; PHP internal character encoding is set to empty. -; If empty, default_charset is used. -; http://php.net/internal-encoding -;internal_encoding = - -; PHP input character encoding is set to empty. -; If empty, default_charset is used. -; http://php.net/input-encoding -;input_encoding = - -; PHP output character encoding is set to empty. -; If empty, default_charset is used. -; See also output_buffer. -; http://php.net/output-encoding -;output_encoding = - -;;;;;;;;;;;;;;;;;;;;;;;;; -; Paths and Directories ; -;;;;;;;;;;;;;;;;;;;;;;;;; - -; UNIX: "/path1:/path2" -;include_path = ".:/php/includes" -; -; Windows: "\path1;\path2" -;include_path = ".;c:\php\includes" -; -; PHP's default setting for include_path is ".;/path/to/php/pear" -; http://php.net/include-path - -; The root of the PHP pages, used only if nonempty. -; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root -; if you are running php as a CGI under any web server (other than IIS) -; see documentation for security issues. The alternate is to use the -; cgi.force_redirect configuration below -; http://php.net/doc-root -doc_root = - -; The directory under which PHP opens the script using /~username used only -; if nonempty. -; http://php.net/user-dir -user_dir = - -; Directory in which the loadable extensions (modules) reside. -; http://php.net/extension-dir - extension_dir = "./" -; On windows: - extension_dir = "ext" - -; Directory where the temporary files should be placed. -; Defaults to the system default (see sys_get_temp_dir) -; sys_temp_dir = "/tmp" - -; Whether or not to enable the dl() function. The dl() function does NOT work -; properly in multithreaded servers, such as IIS or Zeus, and is automatically -; disabled on them. -; http://php.net/enable-dl -enable_dl = Off - -; cgi.force_redirect is necessary to provide security running PHP as a CGI under -; most web servers. Left undefined, PHP turns this on by default. You can -; turn it off here AT YOUR OWN RISK -; **You CAN safely turn this off for IIS, in fact, you MUST.** -; http://php.net/cgi.force-redirect -;cgi.force_redirect = 1 - -; if cgi.nph is enabled it will force cgi to always sent Status: 200 with -; every request. PHP's default behavior is to disable this feature. -;cgi.nph = 1 - -; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape -; (iPlanet) web servers, you MAY need to set an environment variable name that PHP -; will look for to know it is OK to continue execution. Setting this variable MAY -; cause security issues, KNOW WHAT YOU ARE DOING FIRST. -; http://php.net/cgi.redirect-status-env -;cgi.redirect_status_env = - -; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's -; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok -; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting -; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting -; of zero causes PHP to behave as before. Default is 1. You should fix your scripts -; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. -; http://php.net/cgi.fix-pathinfo -;cgi.fix_pathinfo=1 - -; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside -; of the web tree and people will not be able to circumvent .htaccess security. -; http://php.net/cgi.dicard-path -;cgi.discard_path=1 - -; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate -; security tokens of the calling client. This allows IIS to define the -; security context that the request runs under. mod_fastcgi under Apache -; does not currently support this feature (03/17/2002) -; Set to 1 if running under IIS. Default is zero. -; http://php.net/fastcgi.impersonate -;fastcgi.impersonate = 1 - -; Disable logging through FastCGI connection. PHP's default behavior is to enable -; this feature. -;fastcgi.logging = 0 - -; cgi.rfc2616_headers configuration option tells PHP what type of headers to -; use when sending HTTP response code. If set to 0, PHP sends Status: header that -; is supported by Apache. When this option is set to 1, PHP will send -; RFC2616 compliant header. -; Default is zero. -; http://php.net/cgi.rfc2616-headers -;cgi.rfc2616_headers = 0 - -; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! -; (shebang) at the top of the running script. This line might be needed if the -; script support running both as stand-alone script and via PHP CGI<. PHP in CGI -; mode skips this line and ignores its content if this directive is turned on. -; http://php.net/cgi.check-shebang-line -;cgi.check_shebang_line=1 - -;;;;;;;;;;;;;;;; -; File Uploads ; -;;;;;;;;;;;;;;;; - -; Whether to allow HTTP file uploads. -; http://php.net/file-uploads -file_uploads = On - -; Temporary directory for HTTP uploaded files (will use system default if not -; specified). -; http://php.net/upload-tmp-dir -;upload_tmp_dir = - -; Maximum allowed size for uploaded files. -; http://php.net/upload-max-filesize -upload_max_filesize = 2000M - -; Maximum number of files that can be uploaded via a single request -max_file_uploads = 200 - -;;;;;;;;;;;;;;;;;; -; Fopen wrappers ; -;;;;;;;;;;;;;;;;;; - -; Whether to allow the treatment of URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-fopen -allow_url_fopen = On - -; Whether to allow include/require to open URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-include -allow_url_include = Off - -; Define the anonymous ftp password (your email address). PHP's default setting -; for this is empty. -; http://php.net/from -;from="john@doe.com" - -; Define the User-Agent string. PHP's default setting for this is empty. -; http://php.net/user-agent -;user_agent="PHP" - -; Default timeout for socket based streams (seconds) -; http://php.net/default-socket-timeout -default_socket_timeout = 60 - -; If your scripts have to deal with files from Macintosh systems, -; or you are running on a Mac and need to deal with files from -; unix or win32 systems, setting this flag will cause PHP to -; automatically detect the EOL character in those files so that -; fgets() and file() will work regardless of the source of the file. -; http://php.net/auto-detect-line-endings -;auto_detect_line_endings = Off - -;;;;;;;;;;;;;;;;;;;;;; -; Dynamic Extensions ; -;;;;;;;;;;;;;;;;;;;;;; - -; If you wish to have an extension loaded automatically, use the following -; syntax: -; -; extension=modulename -; -; For example: -; -; extension=mysqli -; -; When the extension library to load is not located in the default extension -; directory, You may specify an absolute path to the library file: -; -; extension=/path/to/extension/mysqli.so -; -; Note : The syntax used in previous PHP versions ('extension=.so' and -; 'extension='php_.dll') is supported for legacy reasons and may be -; deprecated in a future PHP major version. So, when it is possible, please -; move to the new ('extension=) syntax. -; -; Notes for Windows environments : -; -; - ODBC support is built in, so no dll is needed for it. -; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+) -; extension folders as well as the separate PECL DLL download (PHP 5+). -; Be sure to appropriately set the extension_dir directive. -; -;extension=bz2 -;extension=curl -extension=fileinfo -extension=gd2 -;extension=gettext -;extension=gmp -;extension=intl -;extension=imap -;extension=interbase -extension=ldap -;extension=mbstring -;extension=exif ; Must be after mbstring as it depends on it -extension=mysqli -;extension=oci8_12c ; Use with Oracle Database 12c Instant Client -;extension=openssl -;extension=pdo_firebird -extension=pdo_mysql -;extension=pdo_oci -extension=pdo_odbc -extension=pdo_pgsql -extension=pdo_sqlite -extension=pgsql -;extension=shmop - -; The MIBS data available in the PHP distribution must be installed. -; See http://www.php.net/manual/en/snmp.installation.php -;extension=snmp - -;extension=soap -extension=sockets -extension=sqlite3 -;extension=tidy -extension=xmlrpc -;extension=xsl - -;;;;;;;;;;;;;;;;;;; -; Module Settings ; -;;;;;;;;;;;;;;;;;;; - -[CLI Server] -; Whether the CLI web server uses ANSI color coding in its terminal output. -cli_server.color = On - -[Date] -; Defines the default timezone used by the date functions -; http://php.net/date.timezone -;date.timezone = - -; http://php.net/date.default-latitude -;date.default_latitude = 31.7667 - -; http://php.net/date.default-longitude -;date.default_longitude = 35.2333 - -; http://php.net/date.sunrise-zenith -;date.sunrise_zenith = 90.583333 - -; http://php.net/date.sunset-zenith -;date.sunset_zenith = 90.583333 - -[filter] -; http://php.net/filter.default -;filter.default = unsafe_raw - -; http://php.net/filter.default-flags -;filter.default_flags = - -[iconv] -; Use of this INI entry is deprecated, use global input_encoding instead. -; If empty, default_charset or input_encoding or iconv.input_encoding is used. -; The precedence is: default_charset < intput_encoding < iconv.input_encoding -;iconv.input_encoding = - -; Use of this INI entry is deprecated, use global internal_encoding instead. -; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. -; The precedence is: default_charset < internal_encoding < iconv.internal_encoding -;iconv.internal_encoding = - -; Use of this INI entry is deprecated, use global output_encoding instead. -; If empty, default_charset or output_encoding or iconv.output_encoding is used. -; The precedence is: default_charset < output_encoding < iconv.output_encoding -; To use an output encoding conversion, iconv's output handler must be set -; otherwise output encoding conversion cannot be performed. -;iconv.output_encoding = - -[intl] -;intl.default_locale = -; This directive allows you to produce PHP errors when some error -; happens within intl functions. The value is the level of the error produced. -; Default is 0, which does not produce any errors. -;intl.error_level = E_WARNING -;intl.use_exceptions = 0 - -[sqlite3] -;sqlite3.extension_dir = - -[Pcre] -;PCRE library backtracking limit. -; http://php.net/pcre.backtrack-limit -;pcre.backtrack_limit=100000 - -;PCRE library recursion limit. -;Please note that if you set this value to a high number you may consume all -;the available process stack and eventually crash PHP (due to reaching the -;stack size limit imposed by the Operating System). -; http://php.net/pcre.recursion-limit -;pcre.recursion_limit=100000 - -;Enables or disables JIT compilation of patterns. This requires the PCRE -;library to be compiled with JIT support. -;pcre.jit=1 - -[Pdo] -; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" -; http://php.net/pdo-odbc.connection-pooling -;pdo_odbc.connection_pooling=strict - -;pdo_odbc.db2_instance_name - -[Pdo_mysql] -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/pdo_mysql.cache_size -pdo_mysql.cache_size = 2000 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/pdo_mysql.default-socket -pdo_mysql.default_socket= - -[Phar] -; http://php.net/phar.readonly -;phar.readonly = On - -; http://php.net/phar.require-hash -;phar.require_hash = On - -;phar.cache_list = - -[mail function] -; For Win32 only. -; http://php.net/smtp -SMTP = localhost -; http://php.net/smtp-port -smtp_port = 25 - -; For Win32 only. -; http://php.net/sendmail-from -;sendmail_from = me@example.com - -; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). -; http://php.net/sendmail-path -;sendmail_path = - -; Force the addition of the specified parameters to be passed as extra parameters -; to the sendmail binary. These parameters will always replace the value of -; the 5th parameter to mail(). -;mail.force_extra_parameters = - -; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename -mail.add_x_header = On - -; The path to a log file that will log all mail() calls. Log entries include -; the full path of the script, line number, To address and headers. -;mail.log = -; Log mail to syslog (Event Log on Windows). -;mail.log = syslog - -[ODBC] -; http://php.net/odbc.default-db -;odbc.default_db = Not yet implemented - -; http://php.net/odbc.default-user -;odbc.default_user = Not yet implemented - -; http://php.net/odbc.default-pw -;odbc.default_pw = Not yet implemented - -; Controls the ODBC cursor model. -; Default: SQL_CURSOR_STATIC (default). -;odbc.default_cursortype - -; Allow or prevent persistent links. -; http://php.net/odbc.allow-persistent -odbc.allow_persistent = On - -; Check that a connection is still valid before reuse. -; http://php.net/odbc.check-persistent -odbc.check_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/odbc.max-persistent -odbc.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/odbc.max-links -odbc.max_links = -1 - -; Handling of LONG fields. Returns number of bytes to variables. 0 means -; passthru. -; http://php.net/odbc.defaultlrl -odbc.defaultlrl = 4096 - -; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. -; See the documentation on odbc_binmode and odbc_longreadlen for an explanation -; of odbc.defaultlrl and odbc.defaultbinmode -; http://php.net/odbc.defaultbinmode -odbc.defaultbinmode = 1 - -;birdstep.max_links = -1 - -[Interbase] -; Allow or prevent persistent links. -ibase.allow_persistent = 1 - -; Maximum number of persistent links. -1 means no limit. -ibase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ibase.max_links = -1 - -; Default database name for ibase_connect(). -;ibase.default_db = - -; Default username for ibase_connect(). -;ibase.default_user = - -; Default password for ibase_connect(). -;ibase.default_password = - -; Default charset for ibase_connect(). -;ibase.default_charset = - -; Default timestamp format. -ibase.timestampformat = "%Y-%m-%d %H:%M:%S" - -; Default date format. -ibase.dateformat = "%Y-%m-%d" - -; Default time format. -ibase.timeformat = "%H:%M:%S" - -[MySQLi] - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysqli.max-persistent -mysqli.max_persistent = -1 - -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysqli.allow_local_infile -;mysqli.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysqli.allow-persistent -mysqli.allow_persistent = On - -; Maximum number of links. -1 means no limit. -; http://php.net/mysqli.max-links -mysqli.max_links = -1 - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysqli.cache_size -mysqli.cache_size = 2000 - -; Default port number for mysqli_connect(). If unset, mysqli_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -; http://php.net/mysqli.default-port -mysqli.default_port = 3306 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysqli.default-socket -mysqli.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-host -mysqli.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-user -mysqli.default_user = - -; Default password for mysqli_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -; http://php.net/mysqli.default-pw -mysqli.default_pw = - -; Allow or prevent reconnect -mysqli.reconnect = Off - -[mysqlnd] -; Enable / Disable collection of general statistics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_statistics -mysqlnd.collect_statistics = On - -; Enable / Disable collection of memory usage statistics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_memory_statistics -mysqlnd.collect_memory_statistics = Off - -; Records communication from all extensions using mysqlnd to the specified log -; file. -; http://php.net/mysqlnd.debug -;mysqlnd.debug = - -; Defines which queries will be logged. -; http://php.net/mysqlnd.log_mask -;mysqlnd.log_mask = 0 - -; Default size of the mysqlnd memory pool, which is used by result sets. -; http://php.net/mysqlnd.mempool_default_size -;mysqlnd.mempool_default_size = 16000 - -; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. -; http://php.net/mysqlnd.net_cmd_buffer_size -;mysqlnd.net_cmd_buffer_size = 2048 - -; Size of a pre-allocated buffer used for reading data sent by the server in -; bytes. -; http://php.net/mysqlnd.net_read_buffer_size -;mysqlnd.net_read_buffer_size = 32768 - -; Timeout for network requests in seconds. -; http://php.net/mysqlnd.net_read_timeout -;mysqlnd.net_read_timeout = 31536000 - -; SHA-256 Authentication Plugin related. File with the MySQL server public RSA -; key. -; http://php.net/mysqlnd.sha256_server_public_key -;mysqlnd.sha256_server_public_key = - -[OCI8] - -; Connection: Enables privileged connections using external -; credentials (OCI_SYSOPER, OCI_SYSDBA) -; http://php.net/oci8.privileged-connect -;oci8.privileged_connect = Off - -; Connection: The maximum number of persistent OCI8 connections per -; process. Using -1 means no limit. -; http://php.net/oci8.max-persistent -;oci8.max_persistent = -1 - -; Connection: The maximum number of seconds a process is allowed to -; maintain an idle persistent connection. Using -1 means idle -; persistent connections will be maintained forever. -; http://php.net/oci8.persistent-timeout -;oci8.persistent_timeout = -1 - -; Connection: The number of seconds that must pass before issuing a -; ping during oci_pconnect() to check the connection validity. When -; set to 0, each oci_pconnect() will cause a ping. Using -1 disables -; pings completely. -; http://php.net/oci8.ping-interval -;oci8.ping_interval = 60 - -; Connection: Set this to a user chosen connection class to be used -; for all pooled server requests with Oracle 11g Database Resident -; Connection Pooling (DRCP). To use DRCP, this value should be set to -; the same string for all web servers running the same application, -; the database pool must be configured, and the connection string must -; specify to use a pooled server. -;oci8.connection_class = - -; High Availability: Using On lets PHP receive Fast Application -; Notification (FAN) events generated when a database node fails. The -; database must also be configured to post FAN events. -;oci8.events = Off - -; Tuning: This option enables statement caching, and specifies how -; many statements to cache. Using 0 disables statement caching. -; http://php.net/oci8.statement-cache-size -;oci8.statement_cache_size = 20 - -; Tuning: Enables statement prefetching and sets the default number of -; rows that will be fetched automatically after statement execution. -; http://php.net/oci8.default-prefetch -;oci8.default_prefetch = 100 - -; Compatibility. Using On means oci_close() will not close -; oci_connect() and oci_new_connect() connections. -; http://php.net/oci8.old-oci-close-semantics -;oci8.old_oci_close_semantics = Off - -[PostgreSQL] -; Allow or prevent persistent links. -; http://php.net/pgsql.allow-persistent -pgsql.allow_persistent = On - -; Detect broken persistent links always with pg_pconnect(). -; Auto reset feature requires a little overheads. -; http://php.net/pgsql.auto-reset-persistent -pgsql.auto_reset_persistent = Off - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/pgsql.max-persistent -pgsql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -; http://php.net/pgsql.max-links -pgsql.max_links = -1 - -; Ignore PostgreSQL backends Notice message or not. -; Notice message logging require a little overheads. -; http://php.net/pgsql.ignore-notice -pgsql.ignore_notice = 0 - -; Log PostgreSQL backends Notice message or not. -; Unless pgsql.ignore_notice=0, module cannot log notice message. -; http://php.net/pgsql.log-notice -pgsql.log_notice = 0 - -[bcmath] -; Number of decimal digits for all bcmath functions. -; http://php.net/bcmath.scale -bcmath.scale = 0 - -[browscap] -; http://php.net/browscap -;browscap = extra/browscap.ini - -[Session] -; Handler used to store/retrieve data. -; http://php.net/session.save-handler -session.save_handler = files - -; Argument passed to save_handler. In the case of files, this is the path -; where data files are stored. Note: Windows users have to change this -; variable in order to use PHP's session functions. -; -; The path can be defined as: -; -; session.save_path = "N;/path" -; -; where N is an integer. Instead of storing all the session files in -; /path, what this will do is use subdirectories N-levels deep, and -; store the session data in those directories. This is useful if -; your OS has problems with many files in one directory, and is -; a more efficient layout for servers that handle many sessions. -; -; NOTE 1: PHP will not create this directory structure automatically. -; You can use the script in the ext/session dir for that purpose. -; NOTE 2: See the section on garbage collection below if you choose to -; use subdirectories for session storage -; -; The file storage module creates files using mode 600 by default. -; You can change that by using -; -; session.save_path = "N;MODE;/path" -; -; where MODE is the octal representation of the mode. Note that this -; does not overwrite the process's umask. -; http://php.net/session.save-path -;session.save_path = "/tmp" - -; Whether to use strict session mode. -; Strict session mode does not accept uninitialized session ID and regenerate -; session ID if browser sends uninitialized session ID. Strict mode protects -; applications from session fixation via session adoption vulnerability. It is -; disabled by default for maximum compatibility, but enabling it is encouraged. -; https://wiki.php.net/rfc/strict_sessions -session.use_strict_mode = 0 - -; Whether to use cookies. -; http://php.net/session.use-cookies -session.use_cookies = 1 - -; http://php.net/session.cookie-secure -;session.cookie_secure = - -; This option forces PHP to fetch and use a cookie for storing and maintaining -; the session id. We encourage this operation as it's very helpful in combating -; session hijacking when not specifying and managing your own session id. It is -; not the be-all and end-all of session hijacking defense, but it's a good start. -; http://php.net/session.use-only-cookies -session.use_only_cookies = 1 - -; Name of the session (used as cookie name). -; http://php.net/session.name -session.name = PHPSESSID - -; Initialize session on request startup. -; http://php.net/session.auto-start -session.auto_start = 0 - -; Lifetime in seconds of cookie or, if 0, until browser is restarted. -; http://php.net/session.cookie-lifetime -session.cookie_lifetime = 0 - -; The path for which the cookie is valid. -; http://php.net/session.cookie-path -session.cookie_path = / - -; The domain for which the cookie is valid. -; http://php.net/session.cookie-domain -session.cookie_domain = - -; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. -; http://php.net/session.cookie-httponly -session.cookie_httponly = - -; Handler used to serialize data. php is the standard serializer of PHP. -; http://php.net/session.serialize-handler -session.serialize_handler = php - -; Defines the probability that the 'garbage collection' process is started -; on every session initialization. The probability is calculated by using -; gc_probability/gc_divisor. Where session.gc_probability is the numerator -; and gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. -; Default Value: 1 -; Development Value: 1 -; Production Value: 1 -; http://php.net/session.gc-probability -session.gc_probability = 1 - -; Defines the probability that the 'garbage collection' process is started on every -; session initialization. The probability is calculated by using the following equation: -; gc_probability/gc_divisor. Where session.gc_probability is the numerator and -; session.gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. Increasing this value to 1000 will give you -; a 0.1% chance the gc will run on any give request. For high volume production servers, -; this is a more efficient approach. -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 -; http://php.net/session.gc-divisor -session.gc_divisor = 1000 - -; After this number of seconds, stored data will be seen as 'garbage' and -; cleaned up by the garbage collection process. -; http://php.net/session.gc-maxlifetime -session.gc_maxlifetime = 1440 - -; NOTE: If you are using the subdirectory option for storing session files -; (see session.save_path above), then garbage collection does *not* -; happen automatically. You will need to do your own garbage -; collection through a shell script, cron entry, or some other method. -; For example, the following script would is the equivalent of -; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): -; find /path/to/sessions -cmin +24 -type f | xargs rm - -; Check HTTP Referer to invalidate externally stored URLs containing ids. -; HTTP_REFERER has to contain this substring for the session to be -; considered as valid. -; http://php.net/session.referer-check -session.referer_check = - -; Set to {nocache,private,public,} to determine HTTP caching aspects -; or leave this empty to avoid sending anti-caching headers. -; http://php.net/session.cache-limiter -session.cache_limiter = nocache - -; Document expires after n minutes. -; http://php.net/session.cache-expire -session.cache_expire = 180 - -; trans sid support is disabled by default. -; Use of trans sid may risk your users' security. -; Use this option with caution. -; - User may send URL contains active session ID -; to other person via. email/irc/etc. -; - URL that contains active session ID may be stored -; in publicly accessible computer. -; - User may access your site with the same session ID -; always using URL stored in browser's history or bookmarks. -; http://php.net/session.use-trans-sid -session.use_trans_sid = 0 - -; Set session ID character length. This value could be between 22 to 256. -; Shorter length than default is supported only for compatibility reason. -; Users should use 32 or more chars. -; http://php.net/session.sid-length -; Default Value: 32 -; Development Value: 26 -; Production Value: 26 -session.sid_length = 26 - -; The URL rewriter will look for URLs in a defined set of HTML tags. -;
is special; if you include them here, the rewriter will -; add a hidden field with the info which is otherwise appended -; to URLs. tag's action attribute URL will not be modified -; unless it is specified. -; Note that all valid entries require a "=", even if no value follows. -; Default Value: "a=href,area=href,frame=src,form=" -; Development Value: "a=href,area=href,frame=src,form=" -; Production Value: "a=href,area=href,frame=src,form=" -; http://php.net/url-rewriter.tags -session.trans_sid_tags = "a=href,area=href,frame=src,form=" - -; URL rewriter does not rewrite absolute URLs by default. -; To enable rewrites for absolute pathes, target hosts must be specified -; at RUNTIME. i.e. use ini_set() -; tags is special. PHP will check action attribute's URL regardless -; of session.trans_sid_tags setting. -; If no host is defined, HTTP_HOST will be used for allowed host. -; Example value: php.net,www.php.net,wiki.php.net -; Use "," for multiple hosts. No spaces are allowed. -; Default Value: "" -; Development Value: "" -; Production Value: "" -;session.trans_sid_hosts="" - -; Define how many bits are stored in each character when converting -; the binary hash data to something readable. -; Possible values: -; 4 (4 bits: 0-9, a-f) -; 5 (5 bits: 0-9, a-v) -; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 -; http://php.net/session.hash-bits-per-character -session.sid_bits_per_character = 5 - -; Enable upload progress tracking in $_SESSION -; Default Value: On -; Development Value: On -; Production Value: On -; http://php.net/session.upload-progress.enabled -;session.upload_progress.enabled = On - -; Cleanup the progress information as soon as all POST data has been read -; (i.e. upload completed). -; Default Value: On -; Development Value: On -; Production Value: On -; http://php.net/session.upload-progress.cleanup -;session.upload_progress.cleanup = On - -; A prefix used for the upload progress key in $_SESSION -; Default Value: "upload_progress_" -; Development Value: "upload_progress_" -; Production Value: "upload_progress_" -; http://php.net/session.upload-progress.prefix -;session.upload_progress.prefix = "upload_progress_" - -; The index name (concatenated with the prefix) in $_SESSION -; containing the upload progress information -; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" -; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" -; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" -; http://php.net/session.upload-progress.name -;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" - -; How frequently the upload progress should be updated. -; Given either in percentages (per-file), or in bytes -; Default Value: "1%" -; Development Value: "1%" -; Production Value: "1%" -; http://php.net/session.upload-progress.freq -;session.upload_progress.freq = "1%" - -; The minimum delay between updates, in seconds -; Default Value: 1 -; Development Value: 1 -; Production Value: 1 -; http://php.net/session.upload-progress.min-freq -;session.upload_progress.min_freq = "1" - -; Only write session data when session data is changed. Enabled by default. -; http://php.net/session.lazy-write -;session.lazy_write = On - -[Assertion] -; Switch whether to compile assertions at all (to have no overhead at run-time) -; -1: Do not compile at all -; 0: Jump over assertion at run-time -; 1: Execute assertions -; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1) -; Default Value: 1 -; Development Value: 1 -; Production Value: -1 -; http://php.net/zend.assertions -zend.assertions = -1 - -; Assert(expr); active by default. -; http://php.net/assert.active -;assert.active = On - -; Throw an AssertationException on failed assertions -; http://php.net/assert.exception -;assert.exception = On - -; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active) -; http://php.net/assert.warning -;assert.warning = On - -; Don't bail out by default. -; http://php.net/assert.bail -;assert.bail = Off - -; User-function to be called if an assertion fails. -; http://php.net/assert.callback -;assert.callback = 0 - -; Eval the expression with current error_reporting(). Set to true if you want -; error_reporting(0) around the eval(). -; http://php.net/assert.quiet-eval -;assert.quiet_eval = 0 - -[COM] -; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs -; http://php.net/com.typelib-file -;com.typelib_file = - -; allow Distributed-COM calls -; http://php.net/com.allow-dcom -;com.allow_dcom = true - -; autoregister constants of a components typlib on com_load() -; http://php.net/com.autoregister-typelib -;com.autoregister_typelib = true - -; register constants casesensitive -; http://php.net/com.autoregister-casesensitive -;com.autoregister_casesensitive = false - -; show warnings on duplicate constant registrations -; http://php.net/com.autoregister-verbose -;com.autoregister_verbose = true - -; The default character set code-page to use when passing strings to and from COM objects. -; Default: system ANSI code page -;com.code_page= - -[mbstring] -; language for internal character representation. -; This affects mb_send_mail() and mbstring.detect_order. -; http://php.net/mbstring.language -;mbstring.language = Japanese - -; Use of this INI entry is deprecated, use global internal_encoding instead. -; internal/script encoding. -; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) -; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. -; The precedence is: default_charset < internal_encoding < iconv.internal_encoding -;mbstring.internal_encoding = - -; Use of this INI entry is deprecated, use global input_encoding instead. -; http input encoding. -; mbstring.encoding_traslation = On is needed to use this setting. -; If empty, default_charset or input_encoding or mbstring.input is used. -; The precedence is: default_charset < intput_encoding < mbsting.http_input -; http://php.net/mbstring.http-input -;mbstring.http_input = - -; Use of this INI entry is deprecated, use global output_encoding instead. -; http output encoding. -; mb_output_handler must be registered as output buffer to function. -; If empty, default_charset or output_encoding or mbstring.http_output is used. -; The precedence is: default_charset < output_encoding < mbstring.http_output -; To use an output encoding conversion, mbstring's output handler must be set -; otherwise output encoding conversion cannot be performed. -; http://php.net/mbstring.http-output -;mbstring.http_output = - -; enable automatic encoding translation according to -; mbstring.internal_encoding setting. Input chars are -; converted to internal encoding by setting this to On. -; Note: Do _not_ use automatic encoding translation for -; portable libs/applications. -; http://php.net/mbstring.encoding-translation -;mbstring.encoding_translation = Off - -; automatic encoding detection order. -; "auto" detect order is changed according to mbstring.language -; http://php.net/mbstring.detect-order -;mbstring.detect_order = auto - -; substitute_character used when character cannot be converted -; one from another -; http://php.net/mbstring.substitute-character -;mbstring.substitute_character = none - -; overload(replace) single byte functions by mbstring functions. -; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), -; etc. Possible values are 0,1,2,4 or combination of them. -; For example, 7 for overload everything. -; 0: No overload -; 1: Overload mail() function -; 2: Overload str*() functions -; 4: Overload ereg*() functions -; http://php.net/mbstring.func-overload -;mbstring.func_overload = 0 - -; enable strict encoding detection. -; Default: Off -;mbstring.strict_detection = On - -; This directive specifies the regex pattern of content types for which mb_output_handler() -; is activated. -; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) -;mbstring.http_output_conv_mimetype= - -[gd] -; Tell the jpeg decode to ignore warnings and try to create -; a gd image. The warning will then be displayed as notices -; disabled by default -; http://php.net/gd.jpeg-ignore-warning -;gd.jpeg_ignore_warning = 1 - -[exif] -; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. -; With mbstring support this will automatically be converted into the encoding -; given by corresponding encode setting. When empty mbstring.internal_encoding -; is used. For the decode settings you can distinguish between motorola and -; intel byte order. A decode setting cannot be empty. -; http://php.net/exif.encode-unicode -;exif.encode_unicode = ISO-8859-15 - -; http://php.net/exif.decode-unicode-motorola -;exif.decode_unicode_motorola = UCS-2BE - -; http://php.net/exif.decode-unicode-intel -;exif.decode_unicode_intel = UCS-2LE - -; http://php.net/exif.encode-jis -;exif.encode_jis = - -; http://php.net/exif.decode-jis-motorola -;exif.decode_jis_motorola = JIS - -; http://php.net/exif.decode-jis-intel -;exif.decode_jis_intel = JIS - -[Tidy] -; The path to a default tidy configuration file to use when using tidy -; http://php.net/tidy.default-config -;tidy.default_config = /usr/local/lib/php/default.tcfg - -; Should tidy clean and repair output automatically? -; WARNING: Do not use this option if you are generating non-html content -; such as dynamic images -; http://php.net/tidy.clean-output -tidy.clean_output = Off - -[soap] -; Enables or disables WSDL caching feature. -; http://php.net/soap.wsdl-cache-enabled -soap.wsdl_cache_enabled=1 - -; Sets the directory name where SOAP extension will put cache files. -; http://php.net/soap.wsdl-cache-dir -soap.wsdl_cache_dir="/tmp" - -; (time to live) Sets the number of second while cached file will be used -; instead of original one. -; http://php.net/soap.wsdl-cache-ttl -soap.wsdl_cache_ttl=86400 - -; Sets the size of the cache limit. (Max. number of WSDL files to cache) -soap.wsdl_cache_limit = 5 - -[sysvshm] -; A default size of the shared memory segment -;sysvshm.init_mem = 10000 - -[ldap] -; Sets the maximum number of open links or -1 for unlimited. -ldap.max_links = -1 - -[dba] -;dba.default_handler= - -[opcache] -; Determines if Zend OPCache is enabled -;opcache.enable=1 - -; Determines if Zend OPCache is enabled for the CLI version of PHP -;opcache.enable_cli=0 - -; The OPcache shared memory storage size. -;opcache.memory_consumption=128 - -; The amount of memory for interned strings in Mbytes. -;opcache.interned_strings_buffer=8 - -; The maximum number of keys (scripts) in the OPcache hash table. -; Only numbers between 200 and 1000000 are allowed. -;opcache.max_accelerated_files=10000 - -; The maximum percentage of "wasted" memory until a restart is scheduled. -;opcache.max_wasted_percentage=5 - -; When this directive is enabled, the OPcache appends the current working -; directory to the script key, thus eliminating possible collisions between -; files with the same name (basename). Disabling the directive improves -; performance, but may break existing applications. -;opcache.use_cwd=1 - -; When disabled, you must reset the OPcache manually or restart the -; webserver for changes to the filesystem to take effect. -;opcache.validate_timestamps=1 - -; How often (in seconds) to check file timestamps for changes to the shared -; memory storage allocation. ("1" means validate once per second, but only -; once per request. "0" means always validate) -;opcache.revalidate_freq=2 - -; Enables or disables file search in include_path optimization -;opcache.revalidate_path=0 - -; If disabled, all PHPDoc comments are dropped from the code to reduce the -; size of the optimized code. -;opcache.save_comments=1 - -; Allow file existence override (file_exists, etc.) performance feature. -;opcache.enable_file_override=0 - -; A bitmask, where each bit enables or disables the appropriate OPcache -; passes -;opcache.optimization_level=0xffffffff - -;opcache.inherited_hack=1 -;opcache.dups_fix=0 - -; The location of the OPcache blacklist file (wildcards allowed). -; Each OPcache blacklist file is a text file that holds the names of files -; that should not be accelerated. The file format is to add each filename -; to a new line. The filename may be a full path or just a file prefix -; (i.e., /var/www/x blacklists all the files and directories in /var/www -; that start with 'x'). Line starting with a ; are ignored (comments). -;opcache.blacklist_filename= - -; Allows exclusion of large files from being cached. By default all files -; are cached. -;opcache.max_file_size=0 - -; Check the cache checksum each N requests. -; The default value of "0" means that the checks are disabled. -;opcache.consistency_checks=0 - -; How long to wait (in seconds) for a scheduled restart to begin if the cache -; is not being accessed. -;opcache.force_restart_timeout=180 - -; OPcache error_log file name. Empty string assumes "stderr". -;opcache.error_log= - -; All OPcache errors go to the Web server log. -; By default, only fatal errors (level 0) or errors (level 1) are logged. -; You can also enable warnings (level 2), info messages (level 3) or -; debug messages (level 4). -;opcache.log_verbosity_level=1 - -; Preferred Shared Memory back-end. Leave empty and let the system decide. -;opcache.preferred_memory_model= - -; Protect the shared memory from unexpected writing during script execution. -; Useful for internal debugging only. -;opcache.protect_memory=0 - -; Allows calling OPcache API functions only from PHP scripts which path is -; started from specified string. The default "" means no restriction -;opcache.restrict_api= - -; Mapping base of shared memory segments (for Windows only). All the PHP -; processes have to map shared memory into the same address space. This -; directive allows to manually fix the "Unable to reattach to base address" -; errors. -;opcache.mmap_base= - -; Enables and sets the second level cache directory. -; It should improve performance when SHM memory is full, at server restart or -; SHM reset. The default "" disables file based caching. -;opcache.file_cache= - -; Enables or disables opcode caching in shared memory. -;opcache.file_cache_only=0 - -; Enables or disables checksum validation when script loaded from file cache. -;opcache.file_cache_consistency_checks=1 - -; Implies opcache.file_cache_only=1 for a certain process that failed to -; reattach to the shared memory (for Windows only). Explicitly enabled file -; cache is required. -;opcache.file_cache_fallback=1 - -; Enables or disables copying of PHP code (text segment) into HUGE PAGES. -; This should improve performance, but requires appropriate OS configuration. -;opcache.huge_code_pages=1 - -; Validate cached file permissions. -;opcache.validate_permission=0 - -; Prevent name collisions in chroot'ed environment. -;opcache.validate_root=0 - -[curl] -; A default value for the CURLOPT_CAINFO option. This is required to be an -; absolute path. -;curl.cainfo = - -[openssl] -; The location of a Certificate Authority (CA) file on the local filesystem -; to use when verifying the identity of SSL/TLS peers. Most users should -; not specify a value for this directive as PHP will attempt to use the -; OS-managed cert stores in its absence. If specified, this value may still -; be overridden on a per-stream basis via the "cafile" SSL stream context -; option. -;openssl.cafile= - -; If openssl.cafile is not specified or if the CA file is not found, the -; directory pointed to by openssl.capath is searched for a suitable -; certificate. This value must be a correctly hashed certificate directory. -; Most users should not specify a value for this directive as PHP will -; attempt to use the OS-managed cert stores in its absence. If specified, -; this value may still be overridden on a per-stream basis via the "capath" -; SSL stream context option. -;openssl.capath= - -; Local Variables: -; tab-width: 4 -; End: diff --git a/php/php.ini-development b/php/php.ini-development index 4a71ebf..90e69c2 100644 --- a/php/php.ini-development +++ b/php/php.ini-development @@ -9,15 +9,15 @@ ; PHP attempts to find and load this configuration from a number of locations. ; The following is a summary of its search order: ; 1. SAPI module specific location. -; 2. The PHPRC environment variable. (As of PHP 5.2.0) -; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 2. The PHPRC environment variable. +; 3. A number of predefined registry keys on Windows ; 4. Current working directory (except CLI) ; 5. The web server's directory (for SAPI modules), or directory of PHP ; (otherwise in Windows) ; 6. The directory from the --with-config-file-path compile time option, or the -; Windows directory (C:\windows or C:\winnt) +; Windows directory (usually C:\windows) ; See the PHP docs for more specific information. -; http://php.net/configuration.file +; https://php.net/configuration.file ; The syntax of the file is extremely simple. Whitespace and lines ; beginning with a semicolon are silently ignored (as you probably guessed). @@ -31,7 +31,7 @@ ; special sections cannot be overridden by user-defined INI files or ; at runtime. Currently, [PATH=] and [HOST=] sections only work under ; CGI/FastCGI. -; http://php.net/ini.sections +; https://php.net/ini.sections ; Directives are specified using the following syntax: ; directive = value @@ -58,9 +58,9 @@ ; An empty string can be denoted by simply not writing anything after the equal ; sign, or by using the None keyword: -; foo = ; sets foo to an empty string -; foo = None ; sets foo to an empty string -; foo = "None" ; sets foo to the string 'None' +; foo = ; sets foo to an empty string +; foo = None ; sets foo to an empty string +; foo = "None" ; sets foo to the string 'None' ; If you use constants in your value, and these constants belong to a ; dynamically loaded extension (either a PHP extension or a Zend extension), @@ -83,11 +83,12 @@ ; development version only in development environments, as errors shown to ; application users can inadvertently leak otherwise secure information. -; This is php.ini-development INI file. +; This is the php.ini-development INI file. ;;;;;;;;;;;;;;;;;;; ; Quick Reference ; ;;;;;;;;;;;;;;;;;;; + ; The following are all the settings which are different in either the production ; or development versions of the INIs with respect to PHP's default behavior. ; Please see the actual settings later in the document for more details as to why @@ -99,20 +100,15 @@ ; Production Value: Off ; display_startup_errors -; Default Value: Off +; Default Value: On ; Development Value: On ; Production Value: Off ; error_reporting -; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Default Value: E_ALL ; Development Value: E_ALL ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT -; html_errors -; Default Value: On -; Development Value: On -; Production value: On - ; log_errors ; Default Value: Off ; Development Value: On @@ -158,13 +154,23 @@ ; Development Value: "GPCS" ; Production Value: "GPCS" +; zend.exception_ignore_args +; Default Value: Off +; Development Value: Off +; Production Value: On + +; zend.exception_string_param_max_len +; Default Value: 15 +; Development Value: 15 +; Production Value: 0 + ;;;;;;;;;;;;;;;;;;;; ; php.ini Options ; ;;;;;;;;;;;;;;;;;;;; ; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" ;user_ini.filename = ".user.ini" -; To disable this feature set this option to empty value +; To disable this feature set this option to an empty value ;user_ini.filename = ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) @@ -175,7 +181,7 @@ ;;;;;;;;;;;;;;;;;;;; ; Enable the PHP scripting language engine under Apache. -; http://php.net/engine +; https://php.net/engine engine = On ; This directive determines whether or not PHP will recognize code between @@ -188,11 +194,11 @@ engine = On ; Default Value: On ; Development Value: Off ; Production Value: Off -; http://php.net/short-open-tag +; https://php.net/short-open-tag short_open_tag = Off ; The number of significant digits displayed in floating point numbers. -; http://php.net/precision +; https://php.net/precision precision = 14 ; Output buffering is a mechanism for controlling how much output data @@ -216,7 +222,7 @@ precision = 14 ; Default Value: Off ; Development Value: 4096 ; Production Value: 4096 -; http://php.net/output-buffering +; https://php.net/output-buffering output_buffering = 4096 ; You can redirect all of the output of your scripts to a function. For @@ -231,7 +237,7 @@ output_buffering = 4096 ; and you cannot use both "ob_gzhandler" and "zlib.output_compression". ; Note: output_handler must be empty if this is set 'On' !!!! ; Instead you must use zlib.output_handler. -; http://php.net/output-handler +; https://php.net/output-handler ;output_handler = ; URL rewriter function rewrites URL on the fly by using @@ -243,7 +249,7 @@ output_buffering = 4096 ; Production Value: "form=" ;url_rewriter.tags -; URL rewriter will not rewrites absolute URL nor form by default. To enable +; URL rewriter will not rewrite absolute URL nor form by default. To enable ; absolute URL rewrite, allowed hosts must be defined at RUNTIME. ; Refer to session.trans_sid_hosts for more details. ; Default Value: "" @@ -260,16 +266,16 @@ output_buffering = 4096 ; performance, enable output_buffering in addition. ; Note: You need to use zlib.output_handler instead of the standard ; output_handler, or otherwise the output will be corrupted. -; http://php.net/zlib.output-compression +; https://php.net/zlib.output-compression zlib.output_compression = Off -; http://php.net/zlib.output-compression-level +; https://php.net/zlib.output-compression-level ;zlib.output_compression_level = -1 ; You cannot specify additional output handlers if zlib.output_compression ; is activated here. This setting does the same as output_handler but in ; a different order. -; http://php.net/zlib.output-handler +; https://php.net/zlib.output-handler ;zlib.output_handler = ; Implicit flush tells PHP to tell the output layer to flush itself @@ -277,7 +283,7 @@ zlib.output_compression = Off ; PHP function flush() after each and every call to print() or echo() and each ; and every HTML block. Turning this option on has serious performance ; implications and is generally recommended for debugging purposes only. -; http://php.net/implicit-flush +; https://php.net/implicit-flush ; Note: This directive is hardcoded to On for the CLI SAPI implicit_flush = Off @@ -289,6 +295,13 @@ implicit_flush = Off ; callback-function. unserialize_callback_func = +; The unserialize_max_depth specifies the default depth limit for unserialized +; structures. Setting the depth limit too high may result in stack overflows +; during unserialization. The unserialize_max_depth ini setting can be +; overridden by the max_depth option on individual unserialize() calls. +; A value of 0 disables the depth limit. +;unserialize_max_depth = 4096 + ; When floats & doubles are serialized, store serialize_precision significant ; digits after the floating point. The default value ensures that when floats ; are decoded with unserialize, the data will remain the same. @@ -300,22 +313,23 @@ serialize_precision = -1 ; open_basedir, if set, limits all file operations to the defined directory ; and below. This directive makes most sense if used in a per-directory ; or per-virtualhost web server configuration file. -; http://php.net/open-basedir +; Note: disables the realpath cache +; https://php.net/open-basedir ;open_basedir = -; This directive allows you to disable certain functions for security reasons. +; This directive allows you to disable certain functions. ; It receives a comma-delimited list of function names. -; http://php.net/disable-functions +; https://php.net/disable-functions disable_functions = -; This directive allows you to disable certain classes for security reasons. +; This directive allows you to disable certain classes. ; It receives a comma-delimited list of class names. -; http://php.net/disable-classes +; https://php.net/disable-classes disable_classes = ; Colors for Syntax Highlighting mode. Anything that's acceptable in ; would work. -; http://php.net/syntax-highlighting +; https://php.net/syntax-highlighting ;highlight.string = #DD0000 ;highlight.comment = #FF9900 ;highlight.keyword = #007700 @@ -326,37 +340,52 @@ disable_classes = ; the request. Consider enabling it if executing long requests, which may end up ; being interrupted by the user or a browser timing out. PHP's default behavior ; is to disable this feature. -; http://php.net/ignore-user-abort +; https://php.net/ignore-user-abort ;ignore_user_abort = On ; Determines the size of the realpath cache to be used by PHP. This value should ; be increased on systems where PHP opens many files to reflect the quantity of ; the file operations performed. -; http://php.net/realpath-cache-size +; Note: if open_basedir is set, the cache is disabled +; https://php.net/realpath-cache-size ;realpath_cache_size = 4096k ; Duration of time, in seconds for which to cache realpath information for a given ; file or directory. For systems with rarely changing files, consider increasing this ; value. -; http://php.net/realpath-cache-ttl +; https://php.net/realpath-cache-ttl ;realpath_cache_ttl = 120 ; Enables or disables the circular reference collector. -; http://php.net/zend.enable-gc +; https://php.net/zend.enable-gc zend.enable_gc = On ; If enabled, scripts may be written in encodings that are incompatible with ; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such ; encodings. To use this feature, mbstring extension must be enabled. -; Default: Off ;zend.multibyte = Off ; Allows to set the default encoding for the scripts. This value will be used ; unless "declare(encoding=...)" directive appears at the top of the script. ; Only affects if zend.multibyte is set. -; Default: "" ;zend.script_encoding = +; Allows to include or exclude arguments from stack traces generated for exceptions. +; In production, it is recommended to turn this setting on to prohibit the output +; of sensitive information in stack traces +; Default Value: Off +; Development Value: Off +; Production Value: On +zend.exception_ignore_args = Off + +; Allows setting the maximum string length in an argument of a stringified stack trace +; to a value between 0 and 1000000. +; This has no effect when zend.exception_ignore_args is enabled. +; Default Value: 15 +; Development Value: 15 +; Production Value: 0 +zend.exception_string_param_max_len = 15 + ;;;;;;;;;;;;;;;;; ; Miscellaneous ; ;;;;;;;;;;;;;;;;; @@ -365,7 +394,7 @@ zend.enable_gc = On ; (e.g. by adding its signature to the Web server header). It is no security ; threat in any way, but it makes it possible to determine whether you use PHP ; on your server or not. -; http://php.net/expose-php +; https://php.net/expose-php expose_php = On ;;;;;;;;;;;;;;;;;;; @@ -373,7 +402,7 @@ expose_php = On ;;;;;;;;;;;;;;;;;;; ; Maximum execution time of each script, in seconds -; http://php.net/max-execution-time +; https://php.net/max-execution-time ; Note: This directive is hardcoded to 0 for the CLI SAPI max_execution_time = 30 @@ -384,18 +413,18 @@ max_execution_time = 30 ; Default Value: -1 (Unlimited) ; Development Value: 60 (60 seconds) ; Production Value: 60 (60 seconds) -; http://php.net/max-input-time +; https://php.net/max-input-time max_input_time = 60 ; Maximum input variable nesting level -; http://php.net/max-input-nesting-level +; https://php.net/max-input-nesting-level ;max_input_nesting_level = 64 ; How many GET/POST/COOKIE input variables may be accepted -; max_input_vars = 1000 +;max_input_vars = 1000 -; Maximum amount of memory a script may consume (128MB) -; http://php.net/memory-limit +; Maximum amount of memory a script may consume +; https://php.net/memory-limit memory_limit = 128M ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -418,7 +447,7 @@ memory_limit = 128M ; development and early testing. ; ; Error Level Constants: -; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) +; E_ALL - All errors and warnings ; E_ERROR - fatal run-time errors ; E_RECOVERABLE_ERROR - almost fatal run-time errors ; E_WARNING - run-time warnings (non-fatal errors) @@ -448,10 +477,10 @@ memory_limit = 128M ; E_ALL & ~E_NOTICE (Show all errors, except for notices) ; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) ; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) -; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Default Value: E_ALL ; Development Value: E_ALL ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT -; http://php.net/error-reporting +; https://php.net/error-reporting error_reporting = E_ALL ; This directive controls whether or not and where PHP will output errors, @@ -468,18 +497,16 @@ error_reporting = E_ALL ; Default Value: On ; Development Value: On ; Production Value: Off -; http://php.net/display-errors +; https://php.net/display-errors display_errors = On ; The display of errors which occur during PHP's startup sequence are handled -; separately from display_errors. PHP's default behavior is to suppress those -; errors from clients. Turning the display of startup errors on can be useful in -; debugging configuration problems. We strongly recommend you -; set this to 'off' for production servers. -; Default Value: Off +; separately from display_errors. We strongly recommend you set this to 'off' +; for production servers to avoid leaking configuration details. +; Default Value: On ; Development Value: On ; Production Value: Off -; http://php.net/display-startup-errors +; https://php.net/display-startup-errors display_startup_errors = On ; Besides displaying errors, PHP can also log errors to locations such as a @@ -489,44 +516,31 @@ display_startup_errors = On ; Default Value: Off ; Development Value: On ; Production Value: On -; http://php.net/log-errors +; https://php.net/log-errors log_errors = On -; Set maximum length of log_errors. In error_log information about the source is -; added. The default is 1024 and 0 allows to not apply any maximum length at all. -; http://php.net/log-errors-max-len -log_errors_max_len = 1024 - ; Do not log repeated messages. Repeated errors must occur in same file on same ; line unless ignore_repeated_source is set true. -; http://php.net/ignore-repeated-errors +; https://php.net/ignore-repeated-errors ignore_repeated_errors = Off ; Ignore source of message when ignoring repeated messages. When this setting ; is On you will not log errors with repeated messages from different files or ; source lines. -; http://php.net/ignore-repeated-source +; https://php.net/ignore-repeated-source ignore_repeated_source = Off ; If this parameter is set to Off, then memory leaks will not be shown (on -; stdout or in the log). This has only effect in a debug compile, and if +; stdout or in the log). This is only effective in a debug compile, and if ; error reporting includes E_WARNING in the allowed list -; http://php.net/report-memleaks +; https://php.net/report-memleaks report_memleaks = On -; This setting is on by default. +; This setting is off by default. ;report_zend_debug = 0 -; Store the last error/warning message in $php_errormsg (boolean). -; This directive is DEPRECATED. -; Default Value: Off -; Development Value: Off -; Production Value: Off -; http://php.net/track-errors -;track_errors = Off - ; Turn off normal error reporting and emit XML-RPC error XML -; http://php.net/xmlrpc-errors +; https://php.net/xmlrpc-errors ;xmlrpc_errors = 0 ; An XML-RPC faultCode @@ -536,48 +550,65 @@ report_memleaks = On ; error message as HTML for easier reading. This directive controls whether ; the error message is formatted as HTML or not. ; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: On -; Development Value: On -; Production value: On -; http://php.net/html-errors -html_errors = On +; https://php.net/html-errors +;html_errors = On ; If html_errors is set to On *and* docref_root is not empty, then PHP ; produces clickable error messages that direct to a page describing the error ; or function causing the error in detail. -; You can download a copy of the PHP manual from http://php.net/docs +; You can download a copy of the PHP manual from https://php.net/docs ; and change docref_root to the base URL of your local copy including the ; leading '/'. You must also specify the file extension being used including ; the dot. PHP's default behavior is to leave these settings empty, in which ; case no links to documentation are generated. ; Note: Never use this feature for production boxes. -; http://php.net/docref-root +; https://php.net/docref-root ; Examples ;docref_root = "/phpmanual/" -; http://php.net/docref-ext +; https://php.net/docref-ext ;docref_ext = .html ; String to output before an error message. PHP's default behavior is to leave ; this setting blank. -; http://php.net/error-prepend-string +; https://php.net/error-prepend-string ; Example: ;error_prepend_string = "" ; String to output after an error message. PHP's default behavior is to leave ; this setting blank. -; http://php.net/error-append-string +; https://php.net/error-append-string ; Example: ;error_append_string = "" ; Log errors to specified file. PHP's default behavior is to leave this value ; empty. -; http://php.net/error-log +; https://php.net/error-log ; Example: ;error_log = php_errors.log ; Log errors to syslog (Event Log on Windows). ;error_log = syslog +; The syslog ident is a string which is prepended to every message logged +; to syslog. Only used when error_log is set to syslog. +;syslog.ident = php + +; The syslog facility is used to specify what type of program is logging +; the message. Only used when error_log is set to syslog. +;syslog.facility = user + +; Set this to disable filtering control characters (the default). +; Some loggers only accept NVT-ASCII, others accept anything that's not +; control characters. If your logger accepts everything, then no filtering +; is needed at all. +; Allowed values are: +; ascii (all printable ASCII characters and NL) +; no-ctrl (all characters except control characters) +; all (all characters) +; raw (like "all", but messages are not split at newlines) +; https://php.net/syslog.filter +;syslog.filter = ascii + ;windows.show_crt_warning ; Default value: 0 ; Development value: 0 @@ -589,14 +620,14 @@ html_errors = On ; The separator used in PHP generated URLs to separate arguments. ; PHP's default setting is "&". -; http://php.net/arg-separator.output +; https://php.net/arg-separator.output ; Example: ;arg_separator.output = "&" ; List of separator(s) used by PHP to parse input URLs into variables. ; PHP's default setting is "&". ; NOTE: Every character in this directive is considered as separator! -; http://php.net/arg-separator.input +; https://php.net/arg-separator.input ; Example: ;arg_separator.input = ";&" @@ -610,7 +641,7 @@ html_errors = On ; Default Value: "EGPCS" ; Development Value: "GPCS" ; Production Value: "GPCS"; -; http://php.net/variables-order +; https://php.net/variables-order variables_order = "GPCS" ; This directive determines which super global data (G,P & C) should be @@ -623,7 +654,7 @@ variables_order = "GPCS" ; Default Value: None ; Development Value: "GP" ; Production Value: "GP" -; http://php.net/request-order +; https://php.net/request-order request_order = "GP" ; This directive determines whether PHP registers $argv & $argc each time it @@ -638,15 +669,15 @@ request_order = "GP" ; Default Value: On ; Development Value: Off ; Production Value: Off -; http://php.net/register-argc-argv +; https://php.net/register-argc-argv register_argc_argv = Off ; When enabled, the ENV, REQUEST and SERVER variables are created when they're ; first used (Just In Time) instead of when the script starts. If these ; variables are not used within a script, having this directive on will result ; in a performance gain. The PHP directive register_argc_argv must be disabled -; for this directive to have any affect. -; http://php.net/auto-globals-jit +; for this directive to have any effect. +; https://php.net/auto-globals-jit auto_globals_jit = On ; Whether PHP will read the POST data. @@ -655,48 +686,48 @@ auto_globals_jit = On ; and $_FILES to always be empty; the only way you will be able to read the ; POST data will be through the php://input stream wrapper. This can be useful ; to proxy requests or to process the POST data in a memory efficient fashion. -; http://php.net/enable-post-data-reading +; https://php.net/enable-post-data-reading ;enable_post_data_reading = Off ; Maximum size of POST data that PHP will accept. ; Its value may be 0 to disable the limit. It is ignored if POST data reading ; is disabled through enable_post_data_reading. -; http://php.net/post-max-size +; https://php.net/post-max-size post_max_size = 8M ; Automatically add files before PHP document. -; http://php.net/auto-prepend-file +; https://php.net/auto-prepend-file auto_prepend_file = ; Automatically add files after PHP document. -; http://php.net/auto-append-file +; https://php.net/auto-append-file auto_append_file = ; By default, PHP will output a media type using the Content-Type header. To ; disable this, simply set it to be empty. ; ; PHP's built-in default media type is set to text/html. -; http://php.net/default-mimetype +; https://php.net/default-mimetype default_mimetype = "text/html" ; PHP's default character set is set to UTF-8. -; http://php.net/default-charset +; https://php.net/default-charset default_charset = "UTF-8" ; PHP internal character encoding is set to empty. ; If empty, default_charset is used. -; http://php.net/internal-encoding +; https://php.net/internal-encoding ;internal_encoding = ; PHP input character encoding is set to empty. ; If empty, default_charset is used. -; http://php.net/input-encoding +; https://php.net/input-encoding ;input_encoding = ; PHP output character encoding is set to empty. ; If empty, default_charset is used. ; See also output_buffer. -; http://php.net/output-encoding +; https://php.net/output-encoding ;output_encoding = ;;;;;;;;;;;;;;;;;;;;;;;;; @@ -710,42 +741,42 @@ default_charset = "UTF-8" ;include_path = ".;c:\php\includes" ; ; PHP's default setting for include_path is ".;/path/to/php/pear" -; http://php.net/include-path +; https://php.net/include-path ; The root of the PHP pages, used only if nonempty. ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root ; if you are running php as a CGI under any web server (other than IIS) ; see documentation for security issues. The alternate is to use the ; cgi.force_redirect configuration below -; http://php.net/doc-root +; https://php.net/doc-root doc_root = ; The directory under which PHP opens the script using /~username used only ; if nonempty. -; http://php.net/user-dir +; https://php.net/user-dir user_dir = ; Directory in which the loadable extensions (modules) reside. -; http://php.net/extension-dir -; extension_dir = "./" +; https://php.net/extension-dir +;extension_dir = "./" ; On windows: -; extension_dir = "ext" +;extension_dir = "ext" ; Directory where the temporary files should be placed. ; Defaults to the system default (see sys_get_temp_dir) -; sys_temp_dir = "/tmp" +;sys_temp_dir = "/tmp" ; Whether or not to enable the dl() function. The dl() function does NOT work ; properly in multithreaded servers, such as IIS or Zeus, and is automatically ; disabled on them. -; http://php.net/enable-dl +; https://php.net/enable-dl enable_dl = Off ; cgi.force_redirect is necessary to provide security running PHP as a CGI under ; most web servers. Left undefined, PHP turns this on by default. You can ; turn it off here AT YOUR OWN RISK ; **You CAN safely turn this off for IIS, in fact, you MUST.** -; http://php.net/cgi.force-redirect +; https://php.net/cgi.force-redirect ;cgi.force_redirect = 1 ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with @@ -756,7 +787,7 @@ enable_dl = Off ; (iPlanet) web servers, you MAY need to set an environment variable name that PHP ; will look for to know it is OK to continue execution. Setting this variable MAY ; cause security issues, KNOW WHAT YOU ARE DOING FIRST. -; http://php.net/cgi.redirect-status-env +; https://php.net/cgi.redirect-status-env ;cgi.redirect_status_env = ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's @@ -765,20 +796,19 @@ enable_dl = Off ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. -; http://php.net/cgi.fix-pathinfo +; https://php.net/cgi.fix-pathinfo ;cgi.fix_pathinfo=1 ; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside ; of the web tree and people will not be able to circumvent .htaccess security. -; http://php.net/cgi.dicard-path ;cgi.discard_path=1 -; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate +; FastCGI under IIS supports the ability to impersonate ; security tokens of the calling client. This allows IIS to define the ; security context that the request runs under. mod_fastcgi under Apache ; does not currently support this feature (03/17/2002) ; Set to 1 if running under IIS. Default is zero. -; http://php.net/fastcgi.impersonate +; https://php.net/fastcgi.impersonate ;fastcgi.impersonate = 1 ; Disable logging through FastCGI connection. PHP's default behavior is to enable @@ -790,14 +820,14 @@ enable_dl = Off ; is supported by Apache. When this option is set to 1, PHP will send ; RFC2616 compliant header. ; Default is zero. -; http://php.net/cgi.rfc2616-headers +; https://php.net/cgi.rfc2616-headers ;cgi.rfc2616_headers = 0 ; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! ; (shebang) at the top of the running script. This line might be needed if the ; script support running both as stand-alone script and via PHP CGI<. PHP in CGI ; mode skips this line and ignores its content if this directive is turned on. -; http://php.net/cgi.check-shebang-line +; https://php.net/cgi.check-shebang-line ;cgi.check_shebang_line=1 ;;;;;;;;;;;;;;;; @@ -805,16 +835,16 @@ enable_dl = Off ;;;;;;;;;;;;;;;; ; Whether to allow HTTP file uploads. -; http://php.net/file-uploads +; https://php.net/file-uploads file_uploads = On ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). -; http://php.net/upload-tmp-dir +; https://php.net/upload-tmp-dir ;upload_tmp_dir = ; Maximum allowed size for uploaded files. -; http://php.net/upload-max-filesize +; https://php.net/upload-max-filesize upload_max_filesize = 2M ; Maximum number of files that can be uploaded via a single request @@ -825,24 +855,24 @@ max_file_uploads = 20 ;;;;;;;;;;;;;;;;;; ; Whether to allow the treatment of URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-fopen +; https://php.net/allow-url-fopen allow_url_fopen = On -; Whether to allow include/require to open URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-include +; Whether to allow include/require to open URLs (like https:// or ftp://) as files. +; https://php.net/allow-url-include allow_url_include = Off ; Define the anonymous ftp password (your email address). PHP's default setting ; for this is empty. -; http://php.net/from +; https://php.net/from ;from="john@doe.com" ; Define the User-Agent string. PHP's default setting for this is empty. -; http://php.net/user-agent +; https://php.net/user-agent ;user_agent="PHP" ; Default timeout for socket based streams (seconds) -; http://php.net/default-socket-timeout +; https://php.net/default-socket-timeout default_socket_timeout = 60 ; If your scripts have to deal with files from Macintosh systems, @@ -850,7 +880,7 @@ default_socket_timeout = 60 ; unix or win32 systems, setting this flag will cause PHP to ; automatically detect the EOL character in those files so that ; fgets() and file() will work regardless of the source of the file. -; http://php.net/auto-detect-line-endings +; https://php.net/auto-detect-line-endings ;auto_detect_line_endings = Off ;;;;;;;;;;;;;;;;;;;;;; @@ -865,7 +895,7 @@ default_socket_timeout = 60 ; For example: ; ; extension=mysqli -; +; ; When the extension library to load is not located in the default extension ; directory, You may specify an absolute path to the library file: ; @@ -878,25 +908,27 @@ default_socket_timeout = 60 ; ; Notes for Windows environments : ; -; - ODBC support is built in, so no dll is needed for it. -; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+) -; extension folders as well as the separate PECL DLL download (PHP 5+). +; - Many DLL files are located in the ext/ +; extension folders as well as the separate PECL DLL download. ; Be sure to appropriately set the extension_dir directive. ; ;extension=bz2 ;extension=curl +;extension=ffi +;extension=ftp ;extension=fileinfo -;extension=gd2 +;extension=gd ;extension=gettext ;extension=gmp ;extension=intl ;extension=imap -;extension=interbase ;extension=ldap ;extension=mbstring ;extension=exif ; Must be after mbstring as it depends on it ;extension=mysqli ;extension=oci8_12c ; Use with Oracle Database 12c Instant Client +;extension=oci8_19 ; Use with Oracle Database 19 Instant Client +;extension=odbc ;extension=openssl ;extension=pdo_firebird ;extension=pdo_mysql @@ -908,15 +940,18 @@ default_socket_timeout = 60 ;extension=shmop ; The MIBS data available in the PHP distribution must be installed. -; See http://www.php.net/manual/en/snmp.installation.php +; See https://www.php.net/manual/en/snmp.installation.php ;extension=snmp ;extension=soap ;extension=sockets +;extension=sodium ;extension=sqlite3 ;extension=tidy -;extension=xmlrpc ;extension=xsl +;extension=zip + +;zend_extension=opcache ;;;;;;;;;;;;;;;;;;; ; Module Settings ; @@ -928,32 +963,32 @@ cli_server.color = On [Date] ; Defines the default timezone used by the date functions -; http://php.net/date.timezone +; https://php.net/date.timezone ;date.timezone = -; http://php.net/date.default-latitude +; https://php.net/date.default-latitude ;date.default_latitude = 31.7667 -; http://php.net/date.default-longitude +; https://php.net/date.default-longitude ;date.default_longitude = 35.2333 -; http://php.net/date.sunrise-zenith -;date.sunrise_zenith = 90.583333 +; https://php.net/date.sunrise-zenith +;date.sunrise_zenith = 90.833333 -; http://php.net/date.sunset-zenith -;date.sunset_zenith = 90.583333 +; https://php.net/date.sunset-zenith +;date.sunset_zenith = 90.833333 [filter] -; http://php.net/filter.default +; https://php.net/filter.default ;filter.default = unsafe_raw -; http://php.net/filter.default-flags +; https://php.net/filter.default-flags ;filter.default_flags = [iconv] ; Use of this INI entry is deprecated, use global input_encoding instead. ; If empty, default_charset or input_encoding or iconv.input_encoding is used. -; The precedence is: default_charset < intput_encoding < iconv.input_encoding +; The precedence is: default_charset < input_encoding < iconv.input_encoding ;iconv.input_encoding = ; Use of this INI entry is deprecated, use global internal_encoding instead. @@ -968,6 +1003,13 @@ cli_server.color = On ; otherwise output encoding conversion cannot be performed. ;iconv.output_encoding = +[imap] +; rsh/ssh logins are disabled by default. Use this INI entry if you want to +; enable them. Note that the IMAP library does not filter mailbox names before +; passing them to rsh/ssh command, thus passing untrusted data to this function +; with rsh/ssh enabled is insecure. +;imap.enable_insecure_rsh=0 + [intl] ;intl.default_locale = ; This directive allows you to produce PHP errors when some error @@ -977,63 +1019,67 @@ cli_server.color = On ;intl.use_exceptions = 0 [sqlite3] +; Directory pointing to SQLite3 extensions +; https://php.net/sqlite3.extension-dir ;sqlite3.extension_dir = +; SQLite defensive mode flag (only available from SQLite 3.26+) +; When the defensive flag is enabled, language features that allow ordinary +; SQL to deliberately corrupt the database file are disabled. This forbids +; writing directly to the schema, shadow tables (eg. FTS data tables), or +; the sqlite_dbpage virtual table. +; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html +; (for older SQLite versions, this flag has no use) +;sqlite3.defensive = 1 + [Pcre] -;PCRE library backtracking limit. -; http://php.net/pcre.backtrack-limit +; PCRE library backtracking limit. +; https://php.net/pcre.backtrack-limit ;pcre.backtrack_limit=100000 -;PCRE library recursion limit. -;Please note that if you set this value to a high number you may consume all -;the available process stack and eventually crash PHP (due to reaching the -;stack size limit imposed by the Operating System). -; http://php.net/pcre.recursion-limit +; PCRE library recursion limit. +; Please note that if you set this value to a high number you may consume all +; the available process stack and eventually crash PHP (due to reaching the +; stack size limit imposed by the Operating System). +; https://php.net/pcre.recursion-limit ;pcre.recursion_limit=100000 -;Enables or disables JIT compilation of patterns. This requires the PCRE -;library to be compiled with JIT support. +; Enables or disables JIT compilation of patterns. This requires the PCRE +; library to be compiled with JIT support. ;pcre.jit=1 [Pdo] ; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" -; http://php.net/pdo-odbc.connection-pooling +; https://php.net/pdo-odbc.connection-pooling ;pdo_odbc.connection_pooling=strict -;pdo_odbc.db2_instance_name - [Pdo_mysql] -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/pdo_mysql.cache_size -pdo_mysql.cache_size = 2000 - ; Default socket name for local MySQL connects. If empty, uses the built-in ; MySQL defaults. -; http://php.net/pdo_mysql.default-socket pdo_mysql.default_socket= [Phar] -; http://php.net/phar.readonly +; https://php.net/phar.readonly ;phar.readonly = On -; http://php.net/phar.require-hash +; https://php.net/phar.require-hash ;phar.require_hash = On ;phar.cache_list = [mail function] ; For Win32 only. -; http://php.net/smtp +; https://php.net/smtp SMTP = localhost -; http://php.net/smtp-port +; https://php.net/smtp-port smtp_port = 25 ; For Win32 only. -; http://php.net/sendmail-from +; https://php.net/sendmail-from ;sendmail_from = me@example.com ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). -; http://php.net/sendmail-path +; https://php.net/sendmail-path ;sendmail_path = ; Force the addition of the specified parameters to be passed as extra parameters @@ -1042,7 +1088,7 @@ smtp_port = 25 ;mail.force_extra_parameters = ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename -mail.add_x_header = On +mail.add_x_header = Off ; The path to a log file that will log all mail() calls. Log entries include ; the full path of the script, line number, To address and headers. @@ -1051,13 +1097,13 @@ mail.add_x_header = On ;mail.log = syslog [ODBC] -; http://php.net/odbc.default-db +; https://php.net/odbc.default-db ;odbc.default_db = Not yet implemented -; http://php.net/odbc.default-user +; https://php.net/odbc.default-user ;odbc.default_user = Not yet implemented -; http://php.net/odbc.default-pw +; https://php.net/odbc.default-pw ;odbc.default_pw = Not yet implemented ; Controls the ODBC cursor model. @@ -1065,105 +1111,72 @@ mail.add_x_header = On ;odbc.default_cursortype ; Allow or prevent persistent links. -; http://php.net/odbc.allow-persistent +; https://php.net/odbc.allow-persistent odbc.allow_persistent = On ; Check that a connection is still valid before reuse. -; http://php.net/odbc.check-persistent +; https://php.net/odbc.check-persistent odbc.check_persistent = On ; Maximum number of persistent links. -1 means no limit. -; http://php.net/odbc.max-persistent +; https://php.net/odbc.max-persistent odbc.max_persistent = -1 ; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/odbc.max-links +; https://php.net/odbc.max-links odbc.max_links = -1 ; Handling of LONG fields. Returns number of bytes to variables. 0 means ; passthru. -; http://php.net/odbc.defaultlrl +; https://php.net/odbc.defaultlrl odbc.defaultlrl = 4096 ; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation ; of odbc.defaultlrl and odbc.defaultbinmode -; http://php.net/odbc.defaultbinmode +; https://php.net/odbc.defaultbinmode odbc.defaultbinmode = 1 -;birdstep.max_links = -1 - -[Interbase] -; Allow or prevent persistent links. -ibase.allow_persistent = 1 - -; Maximum number of persistent links. -1 means no limit. -ibase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ibase.max_links = -1 - -; Default database name for ibase_connect(). -;ibase.default_db = - -; Default username for ibase_connect(). -;ibase.default_user = - -; Default password for ibase_connect(). -;ibase.default_password = - -; Default charset for ibase_connect(). -;ibase.default_charset = - -; Default timestamp format. -ibase.timestampformat = "%Y-%m-%d %H:%M:%S" - -; Default date format. -ibase.dateformat = "%Y-%m-%d" - -; Default time format. -ibase.timeformat = "%H:%M:%S" - [MySQLi] ; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysqli.max-persistent +; https://php.net/mysqli.max-persistent mysqli.max_persistent = -1 ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysqli.allow_local_infile +; https://php.net/mysqli.allow_local_infile ;mysqli.allow_local_infile = On +; It allows the user to specify a folder where files that can be sent via LOAD DATA +; LOCAL can exist. It is ignored if mysqli.allow_local_infile is enabled. +;mysqli.local_infile_directory = + ; Allow or prevent persistent links. -; http://php.net/mysqli.allow-persistent +; https://php.net/mysqli.allow-persistent mysqli.allow_persistent = On ; Maximum number of links. -1 means no limit. -; http://php.net/mysqli.max-links +; https://php.net/mysqli.max-links mysqli.max_links = -1 -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysqli.cache_size -mysqli.cache_size = 2000 - ; Default port number for mysqli_connect(). If unset, mysqli_connect() will use ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look ; at MYSQL_PORT. -; http://php.net/mysqli.default-port +; https://php.net/mysqli.default-port mysqli.default_port = 3306 ; Default socket name for local MySQL connects. If empty, uses the built-in ; MySQL defaults. -; http://php.net/mysqli.default-socket +; https://php.net/mysqli.default-socket mysqli.default_socket = -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-host +; Default host for mysqli_connect() (doesn't apply in safe mode). +; https://php.net/mysqli.default-host mysqli.default_host = -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-user +; Default user for mysqli_connect() (doesn't apply in safe mode). +; https://php.net/mysqli.default-user mysqli.default_user = ; Default password for mysqli_connect() (doesn't apply in safe mode). @@ -1171,81 +1184,78 @@ mysqli.default_user = ; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") ; and reveal this password! And of course, any users with read access to this ; file will be able to reveal the password as well. -; http://php.net/mysqli.default-pw +; https://php.net/mysqli.default-pw mysqli.default_pw = ; Allow or prevent reconnect mysqli.reconnect = Off +; If this option is enabled, closing a persistent connection will rollback +; any pending transactions of this connection, before it is put back +; into the persistent connection pool. +;mysqli.rollback_on_cached_plink = Off + [mysqlnd] ; Enable / Disable collection of general statistics by mysqlnd which can be ; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_statistics mysqlnd.collect_statistics = On ; Enable / Disable collection of memory usage statistics by mysqlnd which can be ; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_memory_statistics mysqlnd.collect_memory_statistics = On ; Records communication from all extensions using mysqlnd to the specified log ; file. -; http://php.net/mysqlnd.debug +; https://php.net/mysqlnd.debug ;mysqlnd.debug = ; Defines which queries will be logged. -; http://php.net/mysqlnd.log_mask ;mysqlnd.log_mask = 0 ; Default size of the mysqlnd memory pool, which is used by result sets. -; http://php.net/mysqlnd.mempool_default_size ;mysqlnd.mempool_default_size = 16000 ; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. -; http://php.net/mysqlnd.net_cmd_buffer_size ;mysqlnd.net_cmd_buffer_size = 2048 ; Size of a pre-allocated buffer used for reading data sent by the server in ; bytes. -; http://php.net/mysqlnd.net_read_buffer_size ;mysqlnd.net_read_buffer_size = 32768 ; Timeout for network requests in seconds. -; http://php.net/mysqlnd.net_read_timeout ;mysqlnd.net_read_timeout = 31536000 ; SHA-256 Authentication Plugin related. File with the MySQL server public RSA ; key. -; http://php.net/mysqlnd.sha256_server_public_key ;mysqlnd.sha256_server_public_key = [OCI8] ; Connection: Enables privileged connections using external ; credentials (OCI_SYSOPER, OCI_SYSDBA) -; http://php.net/oci8.privileged-connect +; https://php.net/oci8.privileged-connect ;oci8.privileged_connect = Off ; Connection: The maximum number of persistent OCI8 connections per ; process. Using -1 means no limit. -; http://php.net/oci8.max-persistent +; https://php.net/oci8.max-persistent ;oci8.max_persistent = -1 ; Connection: The maximum number of seconds a process is allowed to ; maintain an idle persistent connection. Using -1 means idle ; persistent connections will be maintained forever. -; http://php.net/oci8.persistent-timeout +; https://php.net/oci8.persistent-timeout ;oci8.persistent_timeout = -1 ; Connection: The number of seconds that must pass before issuing a ; ping during oci_pconnect() to check the connection validity. When ; set to 0, each oci_pconnect() will cause a ping. Using -1 disables ; pings completely. -; http://php.net/oci8.ping-interval +; https://php.net/oci8.ping-interval ;oci8.ping_interval = 60 ; Connection: Set this to a user chosen connection class to be used -; for all pooled server requests with Oracle 11g Database Resident +; for all pooled server requests with Oracle Database Resident ; Connection Pooling (DRCP). To use DRCP, this value should be set to ; the same string for all web servers running the same application, ; the database pool must be configured, and the connection string must @@ -1259,59 +1269,66 @@ mysqlnd.collect_memory_statistics = On ; Tuning: This option enables statement caching, and specifies how ; many statements to cache. Using 0 disables statement caching. -; http://php.net/oci8.statement-cache-size +; https://php.net/oci8.statement-cache-size ;oci8.statement_cache_size = 20 -; Tuning: Enables statement prefetching and sets the default number of +; Tuning: Enables row prefetching and sets the default number of ; rows that will be fetched automatically after statement execution. -; http://php.net/oci8.default-prefetch +; https://php.net/oci8.default-prefetch ;oci8.default_prefetch = 100 +; Tuning: Sets the amount of LOB data that is internally returned from +; Oracle Database when an Oracle LOB locator is initially retrieved as +; part of a query. Setting this can improve performance by reducing +; round-trips. +; https://php.net/oci8.prefetch-lob-size +; oci8.prefetch_lob_size = 0 + ; Compatibility. Using On means oci_close() will not close ; oci_connect() and oci_new_connect() connections. -; http://php.net/oci8.old-oci-close-semantics +; https://php.net/oci8.old-oci-close-semantics ;oci8.old_oci_close_semantics = Off [PostgreSQL] ; Allow or prevent persistent links. -; http://php.net/pgsql.allow-persistent +; https://php.net/pgsql.allow-persistent pgsql.allow_persistent = On ; Detect broken persistent links always with pg_pconnect(). ; Auto reset feature requires a little overheads. -; http://php.net/pgsql.auto-reset-persistent +; https://php.net/pgsql.auto-reset-persistent pgsql.auto_reset_persistent = Off ; Maximum number of persistent links. -1 means no limit. -; http://php.net/pgsql.max-persistent +; https://php.net/pgsql.max-persistent pgsql.max_persistent = -1 ; Maximum number of links (persistent+non persistent). -1 means no limit. -; http://php.net/pgsql.max-links +; https://php.net/pgsql.max-links pgsql.max_links = -1 ; Ignore PostgreSQL backends Notice message or not. ; Notice message logging require a little overheads. -; http://php.net/pgsql.ignore-notice +; https://php.net/pgsql.ignore-notice pgsql.ignore_notice = 0 ; Log PostgreSQL backends Notice message or not. ; Unless pgsql.ignore_notice=0, module cannot log notice message. -; http://php.net/pgsql.log-notice +; https://php.net/pgsql.log-notice pgsql.log_notice = 0 [bcmath] ; Number of decimal digits for all bcmath functions. -; http://php.net/bcmath.scale +; https://php.net/bcmath.scale bcmath.scale = 0 [browscap] -; http://php.net/browscap +; https://php.net/browscap ;browscap = extra/browscap.ini [Session] ; Handler used to store/retrieve data. -; http://php.net/session.save-handler +; https://php.net/session.save-handler session.save_handler = files ; Argument passed to save_handler. In the case of files, this is the path @@ -1340,111 +1357,112 @@ session.save_handler = files ; ; where MODE is the octal representation of the mode. Note that this ; does not overwrite the process's umask. -; http://php.net/session.save-path +; https://php.net/session.save-path ;session.save_path = "/tmp" ; Whether to use strict session mode. -; Strict session mode does not accept uninitialized session ID and regenerate -; session ID if browser sends uninitialized session ID. Strict mode protects -; applications from session fixation via session adoption vulnerability. It is -; disabled by default for maximum compatibility, but enabling it is encouraged. +; Strict session mode does not accept an uninitialized session ID, and +; regenerates the session ID if the browser sends an uninitialized session ID. +; Strict mode protects applications from session fixation via a session adoption +; vulnerability. It is disabled by default for maximum compatibility, but +; enabling it is encouraged. ; https://wiki.php.net/rfc/strict_sessions session.use_strict_mode = 0 ; Whether to use cookies. -; http://php.net/session.use-cookies +; https://php.net/session.use-cookies session.use_cookies = 1 -; http://php.net/session.cookie-secure +; https://php.net/session.cookie-secure ;session.cookie_secure = ; This option forces PHP to fetch and use a cookie for storing and maintaining ; the session id. We encourage this operation as it's very helpful in combating ; session hijacking when not specifying and managing your own session id. It is ; not the be-all and end-all of session hijacking defense, but it's a good start. -; http://php.net/session.use-only-cookies +; https://php.net/session.use-only-cookies session.use_only_cookies = 1 ; Name of the session (used as cookie name). -; http://php.net/session.name +; https://php.net/session.name session.name = PHPSESSID ; Initialize session on request startup. -; http://php.net/session.auto-start +; https://php.net/session.auto-start session.auto_start = 0 ; Lifetime in seconds of cookie or, if 0, until browser is restarted. -; http://php.net/session.cookie-lifetime +; https://php.net/session.cookie-lifetime session.cookie_lifetime = 0 ; The path for which the cookie is valid. -; http://php.net/session.cookie-path +; https://php.net/session.cookie-path session.cookie_path = / ; The domain for which the cookie is valid. -; http://php.net/session.cookie-domain +; https://php.net/session.cookie-domain session.cookie_domain = -; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. -; http://php.net/session.cookie-httponly +; Whether or not to add the httpOnly flag to the cookie, which makes it +; inaccessible to browser scripting languages such as JavaScript. +; https://php.net/session.cookie-httponly session.cookie_httponly = -; Handler used to serialize data. php is the standard serializer of PHP. -; http://php.net/session.serialize-handler +; Add SameSite attribute to cookie to help mitigate Cross-Site Request Forgery (CSRF/XSRF) +; Current valid values are "Strict", "Lax" or "None". When using "None", +; make sure to include the quotes, as `none` is interpreted like `false` in ini files. +; https://tools.ietf.org/html/draft-west-first-party-cookies-07 +session.cookie_samesite = + +; Handler used to serialize data. php is the standard serializer of PHP. +; https://php.net/session.serialize-handler session.serialize_handler = php -; Defines the probability that the 'garbage collection' process is started -; on every session initialization. The probability is calculated by using -; gc_probability/gc_divisor. Where session.gc_probability is the numerator -; and gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. +; Defines the probability that the 'garbage collection' process is started on every +; session initialization. The probability is calculated by using gc_probability/gc_divisor, +; e.g. 1/100 means there is a 1% chance that the GC process starts on each request. ; Default Value: 1 ; Development Value: 1 ; Production Value: 1 -; http://php.net/session.gc-probability +; https://php.net/session.gc-probability session.gc_probability = 1 ; Defines the probability that the 'garbage collection' process is started on every -; session initialization. The probability is calculated by using the following equation: -; gc_probability/gc_divisor. Where session.gc_probability is the numerator and -; session.gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. Increasing this value to 1000 will give you -; a 0.1% chance the gc will run on any give request. For high volume production servers, -; this is a more efficient approach. +; session initialization. The probability is calculated by using gc_probability/gc_divisor, +; e.g. 1/100 means there is a 1% chance that the GC process starts on each request. +; For high volume production servers, using a value of 1000 is a more efficient approach. ; Default Value: 100 ; Development Value: 1000 ; Production Value: 1000 -; http://php.net/session.gc-divisor +; https://php.net/session.gc-divisor session.gc_divisor = 1000 ; After this number of seconds, stored data will be seen as 'garbage' and ; cleaned up by the garbage collection process. -; http://php.net/session.gc-maxlifetime +; https://php.net/session.gc-maxlifetime session.gc_maxlifetime = 1440 ; NOTE: If you are using the subdirectory option for storing session files ; (see session.save_path above), then garbage collection does *not* ; happen automatically. You will need to do your own garbage ; collection through a shell script, cron entry, or some other method. -; For example, the following script would is the equivalent of -; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): +; For example, the following script is the equivalent of setting +; session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): ; find /path/to/sessions -cmin +24 -type f | xargs rm ; Check HTTP Referer to invalidate externally stored URLs containing ids. ; HTTP_REFERER has to contain this substring for the session to be ; considered as valid. -; http://php.net/session.referer-check +; https://php.net/session.referer-check session.referer_check = ; Set to {nocache,private,public,} to determine HTTP caching aspects ; or leave this empty to avoid sending anti-caching headers. -; http://php.net/session.cache-limiter +; https://php.net/session.cache-limiter session.cache_limiter = nocache ; Document expires after n minutes. -; http://php.net/session.cache-expire +; https://php.net/session.cache-expire session.cache_expire = 180 ; trans sid support is disabled by default. @@ -1456,13 +1474,13 @@ session.cache_expire = 180 ; in publicly accessible computer. ; - User may access your site with the same session ID ; always using URL stored in browser's history or bookmarks. -; http://php.net/session.use-trans-sid +; https://php.net/session.use-trans-sid session.use_trans_sid = 0 ; Set session ID character length. This value could be between 22 to 256. ; Shorter length than default is supported only for compatibility reason. ; Users should use 32 or more chars. -; http://php.net/session.sid-length +; https://php.net/session.sid-length ; Default Value: 32 ; Development Value: 26 ; Production Value: 26 @@ -1477,11 +1495,11 @@ session.sid_length = 26 ; Default Value: "a=href,area=href,frame=src,form=" ; Development Value: "a=href,area=href,frame=src,form=" ; Production Value: "a=href,area=href,frame=src,form=" -; http://php.net/url-rewriter.tags +; https://php.net/url-rewriter.tags session.trans_sid_tags = "a=href,area=href,frame=src,form=" ; URL rewriter does not rewrite absolute URLs by default. -; To enable rewrites for absolute pathes, target hosts must be specified +; To enable rewrites for absolute paths, target hosts must be specified ; at RUNTIME. i.e. use ini_set() ; tags is special. PHP will check action attribute's URL regardless ; of session.trans_sid_tags setting. @@ -1502,14 +1520,14 @@ session.trans_sid_tags = "a=href,area=href,frame=src,form=" ; Default Value: 4 ; Development Value: 5 ; Production Value: 5 -; http://php.net/session.hash-bits-per-character +; https://php.net/session.hash-bits-per-character session.sid_bits_per_character = 5 ; Enable upload progress tracking in $_SESSION ; Default Value: On ; Development Value: On ; Production Value: On -; http://php.net/session.upload-progress.enabled +; https://php.net/session.upload-progress.enabled ;session.upload_progress.enabled = On ; Cleanup the progress information as soon as all POST data has been read @@ -1517,14 +1535,14 @@ session.sid_bits_per_character = 5 ; Default Value: On ; Development Value: On ; Production Value: On -; http://php.net/session.upload-progress.cleanup +; https://php.net/session.upload-progress.cleanup ;session.upload_progress.cleanup = On ; A prefix used for the upload progress key in $_SESSION ; Default Value: "upload_progress_" ; Development Value: "upload_progress_" ; Production Value: "upload_progress_" -; http://php.net/session.upload-progress.prefix +; https://php.net/session.upload-progress.prefix ;session.upload_progress.prefix = "upload_progress_" ; The index name (concatenated with the prefix) in $_SESSION @@ -1532,7 +1550,7 @@ session.sid_bits_per_character = 5 ; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" ; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" ; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" -; http://php.net/session.upload-progress.name +; https://php.net/session.upload-progress.name ;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" ; How frequently the upload progress should be updated. @@ -1540,18 +1558,18 @@ session.sid_bits_per_character = 5 ; Default Value: "1%" ; Development Value: "1%" ; Production Value: "1%" -; http://php.net/session.upload-progress.freq +; https://php.net/session.upload-progress.freq ;session.upload_progress.freq = "1%" ; The minimum delay between updates, in seconds ; Default Value: 1 ; Development Value: 1 ; Production Value: 1 -; http://php.net/session.upload-progress.min-freq +; https://php.net/session.upload-progress.min-freq ;session.upload_progress.min_freq = "1" ; Only write session data when session data is changed. Enabled by default. -; http://php.net/session.lazy-write +; https://php.net/session.lazy-write ;session.lazy_write = On [Assertion] @@ -1563,63 +1581,62 @@ session.sid_bits_per_character = 5 ; Default Value: 1 ; Development Value: 1 ; Production Value: -1 -; http://php.net/zend.assertions +; https://php.net/zend.assertions zend.assertions = 1 ; Assert(expr); active by default. -; http://php.net/assert.active +; https://php.net/assert.active ;assert.active = On -; Throw an AssertationException on failed assertions -; http://php.net/assert.exception +; Throw an AssertionError on failed assertions +; https://php.net/assert.exception ;assert.exception = On ; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active) -; http://php.net/assert.warning +; https://php.net/assert.warning ;assert.warning = On ; Don't bail out by default. -; http://php.net/assert.bail +; https://php.net/assert.bail ;assert.bail = Off ; User-function to be called if an assertion fails. -; http://php.net/assert.callback +; https://php.net/assert.callback ;assert.callback = 0 -; Eval the expression with current error_reporting(). Set to true if you want -; error_reporting(0) around the eval(). -; http://php.net/assert.quiet-eval -;assert.quiet_eval = 0 - [COM] ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs -; http://php.net/com.typelib-file +; https://php.net/com.typelib-file ;com.typelib_file = ; allow Distributed-COM calls -; http://php.net/com.allow-dcom +; https://php.net/com.allow-dcom ;com.allow_dcom = true -; autoregister constants of a components typlib on com_load() -; http://php.net/com.autoregister-typelib +; autoregister constants of a component's typelib on com_load() +; https://php.net/com.autoregister-typelib ;com.autoregister_typelib = true ; register constants casesensitive -; http://php.net/com.autoregister-casesensitive +; https://php.net/com.autoregister-casesensitive ;com.autoregister_casesensitive = false ; show warnings on duplicate constant registrations -; http://php.net/com.autoregister-verbose +; https://php.net/com.autoregister-verbose ;com.autoregister_verbose = true ; The default character set code-page to use when passing strings to and from COM objects. ; Default: system ANSI code page ;com.code_page= +; The version of the .NET framework to use. The value of the setting are the first three parts +; of the framework's version number, separated by dots, and prefixed with "v", e.g. "v4.0.30319". +;com.dotnet_version= + [mbstring] ; language for internal character representation. ; This affects mb_send_mail() and mbstring.detect_order. -; http://php.net/mbstring.language +; https://php.net/mbstring.language ;mbstring.language = Japanese ; Use of this INI entry is deprecated, use global internal_encoding instead. @@ -1631,10 +1648,10 @@ zend.assertions = 1 ; Use of this INI entry is deprecated, use global input_encoding instead. ; http input encoding. -; mbstring.encoding_traslation = On is needed to use this setting. +; mbstring.encoding_translation = On is needed to use this setting. ; If empty, default_charset or input_encoding or mbstring.input is used. -; The precedence is: default_charset < intput_encoding < mbsting.http_input -; http://php.net/mbstring.http-input +; The precedence is: default_charset < input_encoding < mbstring.http_input +; https://php.net/mbstring.http-input ;mbstring.http_input = ; Use of this INI entry is deprecated, use global output_encoding instead. @@ -1644,7 +1661,7 @@ zend.assertions = 1 ; The precedence is: default_charset < output_encoding < mbstring.http_output ; To use an output encoding conversion, mbstring's output handler must be set ; otherwise output encoding conversion cannot be performed. -; http://php.net/mbstring.http-output +; https://php.net/mbstring.http-output ;mbstring.http_output = ; enable automatic encoding translation according to @@ -1652,44 +1669,40 @@ zend.assertions = 1 ; converted to internal encoding by setting this to On. ; Note: Do _not_ use automatic encoding translation for ; portable libs/applications. -; http://php.net/mbstring.encoding-translation +; https://php.net/mbstring.encoding-translation ;mbstring.encoding_translation = Off ; automatic encoding detection order. ; "auto" detect order is changed according to mbstring.language -; http://php.net/mbstring.detect-order +; https://php.net/mbstring.detect-order ;mbstring.detect_order = auto ; substitute_character used when character cannot be converted ; one from another -; http://php.net/mbstring.substitute-character +; https://php.net/mbstring.substitute-character ;mbstring.substitute_character = none -; overload(replace) single byte functions by mbstring functions. -; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), -; etc. Possible values are 0,1,2,4 or combination of them. -; For example, 7 for overload everything. -; 0: No overload -; 1: Overload mail() function -; 2: Overload str*() functions -; 4: Overload ereg*() functions -; http://php.net/mbstring.func-overload -;mbstring.func_overload = 0 - -; enable strict encoding detection. -; Default: Off -;mbstring.strict_detection = On +; Enable strict encoding detection. +;mbstring.strict_detection = Off ; This directive specifies the regex pattern of content types for which mb_output_handler() ; is activated. -; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) -;mbstring.http_output_conv_mimetype= +; Default: mbstring.http_output_conv_mimetypes=^(text/|application/xhtml\+xml) +;mbstring.http_output_conv_mimetypes= + +; This directive specifies maximum stack depth for mbstring regular expressions. It is similar +; to the pcre.recursion_limit for PCRE. +;mbstring.regex_stack_limit=100000 + +; This directive specifies maximum retry count for mbstring regular expressions. It is similar +; to the pcre.backtrack_limit for PCRE. +;mbstring.regex_retry_limit=1000000 [gd] ; Tell the jpeg decode to ignore warnings and try to create ; a gd image. The warning will then be displayed as notices ; disabled by default -; http://php.net/gd.jpeg-ignore-warning +; https://php.net/gd.jpeg-ignore-warning ;gd.jpeg_ignore_warning = 1 [exif] @@ -1698,47 +1711,47 @@ zend.assertions = 1 ; given by corresponding encode setting. When empty mbstring.internal_encoding ; is used. For the decode settings you can distinguish between motorola and ; intel byte order. A decode setting cannot be empty. -; http://php.net/exif.encode-unicode +; https://php.net/exif.encode-unicode ;exif.encode_unicode = ISO-8859-15 -; http://php.net/exif.decode-unicode-motorola +; https://php.net/exif.decode-unicode-motorola ;exif.decode_unicode_motorola = UCS-2BE -; http://php.net/exif.decode-unicode-intel +; https://php.net/exif.decode-unicode-intel ;exif.decode_unicode_intel = UCS-2LE -; http://php.net/exif.encode-jis +; https://php.net/exif.encode-jis ;exif.encode_jis = -; http://php.net/exif.decode-jis-motorola +; https://php.net/exif.decode-jis-motorola ;exif.decode_jis_motorola = JIS -; http://php.net/exif.decode-jis-intel +; https://php.net/exif.decode-jis-intel ;exif.decode_jis_intel = JIS [Tidy] ; The path to a default tidy configuration file to use when using tidy -; http://php.net/tidy.default-config +; https://php.net/tidy.default-config ;tidy.default_config = /usr/local/lib/php/default.tcfg ; Should tidy clean and repair output automatically? ; WARNING: Do not use this option if you are generating non-html content ; such as dynamic images -; http://php.net/tidy.clean-output +; https://php.net/tidy.clean-output tidy.clean_output = Off [soap] ; Enables or disables WSDL caching feature. -; http://php.net/soap.wsdl-cache-enabled +; https://php.net/soap.wsdl-cache-enabled soap.wsdl_cache_enabled=1 ; Sets the directory name where SOAP extension will put cache files. -; http://php.net/soap.wsdl-cache-dir +; https://php.net/soap.wsdl-cache-dir soap.wsdl_cache_dir="/tmp" ; (time to live) Sets the number of second while cached file will be used ; instead of original one. -; http://php.net/soap.wsdl-cache-ttl +; https://php.net/soap.wsdl-cache-ttl soap.wsdl_cache_ttl=86400 ; Sets the size of the cache limit. (Max. number of WSDL files to cache) @@ -1797,14 +1810,18 @@ ldap.max_links = -1 ; size of the optimized code. ;opcache.save_comments=1 +; If enabled, compilation warnings (including notices and deprecations) will +; be recorded and replayed each time a file is included. Otherwise, compilation +; warnings will only be emitted when the file is first cached. +;opcache.record_warnings=0 + ; Allow file existence override (file_exists, etc.) performance feature. ;opcache.enable_file_override=0 ; A bitmask, where each bit enables or disables the appropriate OPcache ; passes -;opcache.optimization_level=0xffffffff +;opcache.optimization_level=0x7FFFBFFF -;opcache.inherited_hack=1 ;opcache.dups_fix=0 ; The location of the OPcache blacklist file (wildcards allowed). @@ -1853,6 +1870,10 @@ ldap.max_links = -1 ; errors. ;opcache.mmap_base= +; Facilitates multiple OPcache instances per user (for Windows only). All PHP +; processes with the same cache ID and user share an OPcache instance. +;opcache.cache_id= + ; Enables and sets the second level cache directory. ; It should improve performance when SHM memory is full, at server restart or ; SHM reset. The default "" disables file based caching. @@ -1879,6 +1900,28 @@ ldap.max_links = -1 ; Prevent name collisions in chroot'ed environment. ;opcache.validate_root=0 +; If specified, it produces opcode dumps for debugging different stages of +; optimizations. +;opcache.opt_debug_level=0 + +; Specifies a PHP script that is going to be compiled and executed at server +; start-up. +; https://php.net/opcache.preload +;opcache.preload= + +; Preloading code as root is not allowed for security reasons. This directive +; facilitates to let the preloading to be run as another user. +; https://php.net/opcache.preload_user +;opcache.preload_user= + +; Prevents caching files that are less than this number of seconds old. It +; protects from caching of incompletely updated files. In case all file updates +; on your site are atomic, you may increase performance by setting it to "0". +;opcache.file_update_protection=2 + +; Absolute path used to store shared lockfiles (for *nix only). +;opcache.lockfile_path=/tmp + [curl] ; A default value for the CURLOPT_CAINFO option. This is required to be an ; absolute path. @@ -1902,6 +1945,12 @@ ldap.max_links = -1 ; SSL stream context option. ;openssl.capath= -; Local Variables: -; tab-width: 4 -; End: +[ffi] +; FFI API restriction. Possible values: +; "preload" - enabled in CLI scripts and preloaded files (default) +; "false" - always disabled +; "true" - always enabled +;ffi.enable=preload + +; List of headers files to preload, wildcard patterns allowed. +;ffi.preload= diff --git a/php/php.ini-production b/php/php.ini-production index 808cacb..f154d63 100644 --- a/php/php.ini-production +++ b/php/php.ini-production @@ -9,15 +9,15 @@ ; PHP attempts to find and load this configuration from a number of locations. ; The following is a summary of its search order: ; 1. SAPI module specific location. -; 2. The PHPRC environment variable. (As of PHP 5.2.0) -; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 2. The PHPRC environment variable. +; 3. A number of predefined registry keys on Windows ; 4. Current working directory (except CLI) ; 5. The web server's directory (for SAPI modules), or directory of PHP ; (otherwise in Windows) ; 6. The directory from the --with-config-file-path compile time option, or the -; Windows directory (C:\windows or C:\winnt) +; Windows directory (usually C:\windows) ; See the PHP docs for more specific information. -; http://php.net/configuration.file +; https://php.net/configuration.file ; The syntax of the file is extremely simple. Whitespace and lines ; beginning with a semicolon are silently ignored (as you probably guessed). @@ -31,7 +31,7 @@ ; special sections cannot be overridden by user-defined INI files or ; at runtime. Currently, [PATH=] and [HOST=] sections only work under ; CGI/FastCGI. -; http://php.net/ini.sections +; https://php.net/ini.sections ; Directives are specified using the following syntax: ; directive = value @@ -58,9 +58,9 @@ ; An empty string can be denoted by simply not writing anything after the equal ; sign, or by using the None keyword: -; foo = ; sets foo to an empty string -; foo = None ; sets foo to an empty string -; foo = "None" ; sets foo to the string 'None' +; foo = ; sets foo to an empty string +; foo = None ; sets foo to an empty string +; foo = "None" ; sets foo to the string 'None' ; If you use constants in your value, and these constants belong to a ; dynamically loaded extension (either a PHP extension or a Zend extension), @@ -83,11 +83,12 @@ ; development version only in development environments, as errors shown to ; application users can inadvertently leak otherwise secure information. -; This is php.ini-production INI file. +; This is the php.ini-production INI file. ;;;;;;;;;;;;;;;;;;; ; Quick Reference ; ;;;;;;;;;;;;;;;;;;; + ; The following are all the settings which are different in either the production ; or development versions of the INIs with respect to PHP's default behavior. ; Please see the actual settings later in the document for more details as to why @@ -99,20 +100,15 @@ ; Production Value: Off ; display_startup_errors -; Default Value: Off +; Default Value: On ; Development Value: On ; Production Value: Off ; error_reporting -; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Default Value: E_ALL ; Development Value: E_ALL ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT -; html_errors -; Default Value: On -; Development Value: On -; Production value: On - ; log_errors ; Default Value: Off ; Development Value: On @@ -153,23 +149,28 @@ ; Development Value: Off ; Production Value: Off -; track_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - ; variables_order ; Default Value: "EGPCS" ; Development Value: "GPCS" ; Production Value: "GPCS" +; zend.exception_ignore_args +; Default Value: Off +; Development Value: Off +; Production Value: On + +; zend.exception_string_param_max_len +; Default Value: 15 +; Development Value: 15 +; Production Value: 0 + ;;;;;;;;;;;;;;;;;;;; ; php.ini Options ; ;;;;;;;;;;;;;;;;;;;; ; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" ;user_ini.filename = ".user.ini" -; To disable this feature set this option to empty value +; To disable this feature set this option to an empty value ;user_ini.filename = ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) @@ -180,7 +181,7 @@ ;;;;;;;;;;;;;;;;;;;; ; Enable the PHP scripting language engine under Apache. -; http://php.net/engine +; https://php.net/engine engine = On ; This directive determines whether or not PHP will recognize code between @@ -193,11 +194,11 @@ engine = On ; Default Value: On ; Development Value: Off ; Production Value: Off -; http://php.net/short-open-tag +; https://php.net/short-open-tag short_open_tag = Off ; The number of significant digits displayed in floating point numbers. -; http://php.net/precision +; https://php.net/precision precision = 14 ; Output buffering is a mechanism for controlling how much output data @@ -221,7 +222,7 @@ precision = 14 ; Default Value: Off ; Development Value: 4096 ; Production Value: 4096 -; http://php.net/output-buffering +; https://php.net/output-buffering output_buffering = 4096 ; You can redirect all of the output of your scripts to a function. For @@ -236,7 +237,7 @@ output_buffering = 4096 ; and you cannot use both "ob_gzhandler" and "zlib.output_compression". ; Note: output_handler must be empty if this is set 'On' !!!! ; Instead you must use zlib.output_handler. -; http://php.net/output-handler +; https://php.net/output-handler ;output_handler = ; URL rewriter function rewrites URL on the fly by using @@ -248,7 +249,7 @@ output_buffering = 4096 ; Production Value: "form=" ;url_rewriter.tags -; URL rewriter will not rewrites absolute URL nor form by default. To enable +; URL rewriter will not rewrite absolute URL nor form by default. To enable ; absolute URL rewrite, allowed hosts must be defined at RUNTIME. ; Refer to session.trans_sid_hosts for more details. ; Default Value: "" @@ -265,16 +266,16 @@ output_buffering = 4096 ; performance, enable output_buffering in addition. ; Note: You need to use zlib.output_handler instead of the standard ; output_handler, or otherwise the output will be corrupted. -; http://php.net/zlib.output-compression +; https://php.net/zlib.output-compression zlib.output_compression = Off -; http://php.net/zlib.output-compression-level +; https://php.net/zlib.output-compression-level ;zlib.output_compression_level = -1 ; You cannot specify additional output handlers if zlib.output_compression ; is activated here. This setting does the same as output_handler but in ; a different order. -; http://php.net/zlib.output-handler +; https://php.net/zlib.output-handler ;zlib.output_handler = ; Implicit flush tells PHP to tell the output layer to flush itself @@ -282,7 +283,7 @@ zlib.output_compression = Off ; PHP function flush() after each and every call to print() or echo() and each ; and every HTML block. Turning this option on has serious performance ; implications and is generally recommended for debugging purposes only. -; http://php.net/implicit-flush +; https://php.net/implicit-flush ; Note: This directive is hardcoded to On for the CLI SAPI implicit_flush = Off @@ -294,6 +295,13 @@ implicit_flush = Off ; callback-function. unserialize_callback_func = +; The unserialize_max_depth specifies the default depth limit for unserialized +; structures. Setting the depth limit too high may result in stack overflows +; during unserialization. The unserialize_max_depth ini setting can be +; overridden by the max_depth option on individual unserialize() calls. +; A value of 0 disables the depth limit. +;unserialize_max_depth = 4096 + ; When floats & doubles are serialized, store serialize_precision significant ; digits after the floating point. The default value ensures that when floats ; are decoded with unserialize, the data will remain the same. @@ -305,22 +313,23 @@ serialize_precision = -1 ; open_basedir, if set, limits all file operations to the defined directory ; and below. This directive makes most sense if used in a per-directory ; or per-virtualhost web server configuration file. -; http://php.net/open-basedir +; Note: disables the realpath cache +; https://php.net/open-basedir ;open_basedir = -; This directive allows you to disable certain functions for security reasons. +; This directive allows you to disable certain functions. ; It receives a comma-delimited list of function names. -; http://php.net/disable-functions +; https://php.net/disable-functions disable_functions = -; This directive allows you to disable certain classes for security reasons. +; This directive allows you to disable certain classes. ; It receives a comma-delimited list of class names. -; http://php.net/disable-classes +; https://php.net/disable-classes disable_classes = ; Colors for Syntax Highlighting mode. Anything that's acceptable in ; would work. -; http://php.net/syntax-highlighting +; https://php.net/syntax-highlighting ;highlight.string = #DD0000 ;highlight.comment = #FF9900 ;highlight.keyword = #007700 @@ -331,37 +340,54 @@ disable_classes = ; the request. Consider enabling it if executing long requests, which may end up ; being interrupted by the user or a browser timing out. PHP's default behavior ; is to disable this feature. -; http://php.net/ignore-user-abort +; https://php.net/ignore-user-abort ;ignore_user_abort = On ; Determines the size of the realpath cache to be used by PHP. This value should ; be increased on systems where PHP opens many files to reflect the quantity of ; the file operations performed. -; http://php.net/realpath-cache-size +; Note: if open_basedir is set, the cache is disabled +; https://php.net/realpath-cache-size ;realpath_cache_size = 4096k ; Duration of time, in seconds for which to cache realpath information for a given ; file or directory. For systems with rarely changing files, consider increasing this ; value. -; http://php.net/realpath-cache-ttl +; https://php.net/realpath-cache-ttl ;realpath_cache_ttl = 120 ; Enables or disables the circular reference collector. -; http://php.net/zend.enable-gc +; https://php.net/zend.enable-gc zend.enable_gc = On ; If enabled, scripts may be written in encodings that are incompatible with ; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such ; encodings. To use this feature, mbstring extension must be enabled. -; Default: Off ;zend.multibyte = Off ; Allows to set the default encoding for the scripts. This value will be used ; unless "declare(encoding=...)" directive appears at the top of the script. ; Only affects if zend.multibyte is set. -; Default: "" ;zend.script_encoding = +; Allows to include or exclude arguments from stack traces generated for exceptions. +; In production, it is recommended to turn this setting on to prohibit the output +; of sensitive information in stack traces +; Default Value: Off +; Development Value: Off +; Production Value: On +zend.exception_ignore_args = On + +; Allows setting the maximum string length in an argument of a stringified stack trace +; to a value between 0 and 1000000. +; This has no effect when zend.exception_ignore_args is enabled. +; Default Value: 15 +; Development Value: 15 +; Production Value: 0 +; In production, it is recommended to set this to 0 to reduce the output +; of sensitive information in stack traces. +zend.exception_string_param_max_len = 0 + ;;;;;;;;;;;;;;;;; ; Miscellaneous ; ;;;;;;;;;;;;;;;;; @@ -370,7 +396,7 @@ zend.enable_gc = On ; (e.g. by adding its signature to the Web server header). It is no security ; threat in any way, but it makes it possible to determine whether you use PHP ; on your server or not. -; http://php.net/expose-php +; https://php.net/expose-php expose_php = On ;;;;;;;;;;;;;;;;;;; @@ -378,7 +404,7 @@ expose_php = On ;;;;;;;;;;;;;;;;;;; ; Maximum execution time of each script, in seconds -; http://php.net/max-execution-time +; https://php.net/max-execution-time ; Note: This directive is hardcoded to 0 for the CLI SAPI max_execution_time = 30 @@ -389,18 +415,18 @@ max_execution_time = 30 ; Default Value: -1 (Unlimited) ; Development Value: 60 (60 seconds) ; Production Value: 60 (60 seconds) -; http://php.net/max-input-time +; https://php.net/max-input-time max_input_time = 60 ; Maximum input variable nesting level -; http://php.net/max-input-nesting-level +; https://php.net/max-input-nesting-level ;max_input_nesting_level = 64 ; How many GET/POST/COOKIE input variables may be accepted -; max_input_vars = 1000 +;max_input_vars = 1000 -; Maximum amount of memory a script may consume (128MB) -; http://php.net/memory-limit +; Maximum amount of memory a script may consume +; https://php.net/memory-limit memory_limit = 128M ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -423,7 +449,7 @@ memory_limit = 128M ; development and early testing. ; ; Error Level Constants: -; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) +; E_ALL - All errors and warnings ; E_ERROR - fatal run-time errors ; E_RECOVERABLE_ERROR - almost fatal run-time errors ; E_WARNING - run-time warnings (non-fatal errors) @@ -453,10 +479,10 @@ memory_limit = 128M ; E_ALL & ~E_NOTICE (Show all errors, except for notices) ; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) ; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) -; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Default Value: E_ALL ; Development Value: E_ALL ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT -; http://php.net/error-reporting +; https://php.net/error-reporting error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT ; This directive controls whether or not and where PHP will output errors, @@ -473,18 +499,16 @@ error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT ; Default Value: On ; Development Value: On ; Production Value: Off -; http://php.net/display-errors +; https://php.net/display-errors display_errors = Off ; The display of errors which occur during PHP's startup sequence are handled -; separately from display_errors. PHP's default behavior is to suppress those -; errors from clients. Turning the display of startup errors on can be useful in -; debugging configuration problems. We strongly recommend you -; set this to 'off' for production servers. -; Default Value: Off +; separately from display_errors. We strongly recommend you set this to 'off' +; for production servers to avoid leaking configuration details. +; Default Value: On ; Development Value: On ; Production Value: Off -; http://php.net/display-startup-errors +; https://php.net/display-startup-errors display_startup_errors = Off ; Besides displaying errors, PHP can also log errors to locations such as a @@ -494,46 +518,31 @@ display_startup_errors = Off ; Default Value: Off ; Development Value: On ; Production Value: On -; http://php.net/log-errors +; https://php.net/log-errors log_errors = On -; Set maximum length of log_errors. In error_log information about the source is -; added. The default is 1024 and 0 allows to not apply any maximum length at all. -; http://php.net/log-errors-max-len -log_errors_max_len = 1024 - ; Do not log repeated messages. Repeated errors must occur in same file on same ; line unless ignore_repeated_source is set true. -; http://php.net/ignore-repeated-errors +; https://php.net/ignore-repeated-errors ignore_repeated_errors = Off ; Ignore source of message when ignoring repeated messages. When this setting ; is On you will not log errors with repeated messages from different files or ; source lines. -; http://php.net/ignore-repeated-source +; https://php.net/ignore-repeated-source ignore_repeated_source = Off ; If this parameter is set to Off, then memory leaks will not be shown (on -; stdout or in the log). This has only effect in a debug compile, and if +; stdout or in the log). This is only effective in a debug compile, and if ; error reporting includes E_WARNING in the allowed list -; http://php.net/report-memleaks +; https://php.net/report-memleaks report_memleaks = On -; This setting is on by default. +; This setting is off by default. ;report_zend_debug = 0 -; Store the last error/warning message in $php_errormsg (boolean). Setting this value -; to On can assist in debugging and is appropriate for development servers. It should -; however be disabled on production servers. -; This directive is DEPRECATED. -; Default Value: Off -; Development Value: Off -; Production Value: Off -; http://php.net/track-errors -;track_errors = Off - ; Turn off normal error reporting and emit XML-RPC error XML -; http://php.net/xmlrpc-errors +; https://php.net/xmlrpc-errors ;xmlrpc_errors = 0 ; An XML-RPC faultCode @@ -543,48 +552,65 @@ report_memleaks = On ; error message as HTML for easier reading. This directive controls whether ; the error message is formatted as HTML or not. ; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: On -; Development Value: On -; Production value: On -; http://php.net/html-errors -html_errors = On +; https://php.net/html-errors +;html_errors = On ; If html_errors is set to On *and* docref_root is not empty, then PHP ; produces clickable error messages that direct to a page describing the error ; or function causing the error in detail. -; You can download a copy of the PHP manual from http://php.net/docs +; You can download a copy of the PHP manual from https://php.net/docs ; and change docref_root to the base URL of your local copy including the ; leading '/'. You must also specify the file extension being used including ; the dot. PHP's default behavior is to leave these settings empty, in which ; case no links to documentation are generated. ; Note: Never use this feature for production boxes. -; http://php.net/docref-root +; https://php.net/docref-root ; Examples ;docref_root = "/phpmanual/" -; http://php.net/docref-ext +; https://php.net/docref-ext ;docref_ext = .html ; String to output before an error message. PHP's default behavior is to leave ; this setting blank. -; http://php.net/error-prepend-string +; https://php.net/error-prepend-string ; Example: ;error_prepend_string = "" ; String to output after an error message. PHP's default behavior is to leave ; this setting blank. -; http://php.net/error-append-string +; https://php.net/error-append-string ; Example: ;error_append_string = "" ; Log errors to specified file. PHP's default behavior is to leave this value ; empty. -; http://php.net/error-log +; https://php.net/error-log ; Example: ;error_log = php_errors.log ; Log errors to syslog (Event Log on Windows). ;error_log = syslog +; The syslog ident is a string which is prepended to every message logged +; to syslog. Only used when error_log is set to syslog. +;syslog.ident = php + +; The syslog facility is used to specify what type of program is logging +; the message. Only used when error_log is set to syslog. +;syslog.facility = user + +; Set this to disable filtering control characters (the default). +; Some loggers only accept NVT-ASCII, others accept anything that's not +; control characters. If your logger accepts everything, then no filtering +; is needed at all. +; Allowed values are: +; ascii (all printable ASCII characters and NL) +; no-ctrl (all characters except control characters) +; all (all characters) +; raw (like "all", but messages are not split at newlines) +; https://php.net/syslog.filter +;syslog.filter = ascii + ;windows.show_crt_warning ; Default value: 0 ; Development value: 0 @@ -596,14 +622,14 @@ html_errors = On ; The separator used in PHP generated URLs to separate arguments. ; PHP's default setting is "&". -; http://php.net/arg-separator.output +; https://php.net/arg-separator.output ; Example: ;arg_separator.output = "&" ; List of separator(s) used by PHP to parse input URLs into variables. ; PHP's default setting is "&". ; NOTE: Every character in this directive is considered as separator! -; http://php.net/arg-separator.input +; https://php.net/arg-separator.input ; Example: ;arg_separator.input = ";&" @@ -617,7 +643,7 @@ html_errors = On ; Default Value: "EGPCS" ; Development Value: "GPCS" ; Production Value: "GPCS"; -; http://php.net/variables-order +; https://php.net/variables-order variables_order = "GPCS" ; This directive determines which super global data (G,P & C) should be @@ -630,7 +656,7 @@ variables_order = "GPCS" ; Default Value: None ; Development Value: "GP" ; Production Value: "GP" -; http://php.net/request-order +; https://php.net/request-order request_order = "GP" ; This directive determines whether PHP registers $argv & $argc each time it @@ -645,15 +671,15 @@ request_order = "GP" ; Default Value: On ; Development Value: Off ; Production Value: Off -; http://php.net/register-argc-argv +; https://php.net/register-argc-argv register_argc_argv = Off ; When enabled, the ENV, REQUEST and SERVER variables are created when they're ; first used (Just In Time) instead of when the script starts. If these ; variables are not used within a script, having this directive on will result ; in a performance gain. The PHP directive register_argc_argv must be disabled -; for this directive to have any affect. -; http://php.net/auto-globals-jit +; for this directive to have any effect. +; https://php.net/auto-globals-jit auto_globals_jit = On ; Whether PHP will read the POST data. @@ -662,48 +688,48 @@ auto_globals_jit = On ; and $_FILES to always be empty; the only way you will be able to read the ; POST data will be through the php://input stream wrapper. This can be useful ; to proxy requests or to process the POST data in a memory efficient fashion. -; http://php.net/enable-post-data-reading +; https://php.net/enable-post-data-reading ;enable_post_data_reading = Off ; Maximum size of POST data that PHP will accept. ; Its value may be 0 to disable the limit. It is ignored if POST data reading ; is disabled through enable_post_data_reading. -; http://php.net/post-max-size +; https://php.net/post-max-size post_max_size = 8M ; Automatically add files before PHP document. -; http://php.net/auto-prepend-file +; https://php.net/auto-prepend-file auto_prepend_file = ; Automatically add files after PHP document. -; http://php.net/auto-append-file +; https://php.net/auto-append-file auto_append_file = ; By default, PHP will output a media type using the Content-Type header. To ; disable this, simply set it to be empty. ; ; PHP's built-in default media type is set to text/html. -; http://php.net/default-mimetype +; https://php.net/default-mimetype default_mimetype = "text/html" ; PHP's default character set is set to UTF-8. -; http://php.net/default-charset +; https://php.net/default-charset default_charset = "UTF-8" ; PHP internal character encoding is set to empty. ; If empty, default_charset is used. -; http://php.net/internal-encoding +; https://php.net/internal-encoding ;internal_encoding = ; PHP input character encoding is set to empty. ; If empty, default_charset is used. -; http://php.net/input-encoding +; https://php.net/input-encoding ;input_encoding = ; PHP output character encoding is set to empty. ; If empty, default_charset is used. ; See also output_buffer. -; http://php.net/output-encoding +; https://php.net/output-encoding ;output_encoding = ;;;;;;;;;;;;;;;;;;;;;;;;; @@ -717,42 +743,42 @@ default_charset = "UTF-8" ;include_path = ".;c:\php\includes" ; ; PHP's default setting for include_path is ".;/path/to/php/pear" -; http://php.net/include-path +; https://php.net/include-path ; The root of the PHP pages, used only if nonempty. ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root ; if you are running php as a CGI under any web server (other than IIS) ; see documentation for security issues. The alternate is to use the ; cgi.force_redirect configuration below -; http://php.net/doc-root +; https://php.net/doc-root doc_root = ; The directory under which PHP opens the script using /~username used only ; if nonempty. -; http://php.net/user-dir +; https://php.net/user-dir user_dir = ; Directory in which the loadable extensions (modules) reside. -; http://php.net/extension-dir -; extension_dir = "./" +; https://php.net/extension-dir +;extension_dir = "./" ; On windows: -; extension_dir = "ext" +;extension_dir = "ext" ; Directory where the temporary files should be placed. ; Defaults to the system default (see sys_get_temp_dir) -; sys_temp_dir = "/tmp" +;sys_temp_dir = "/tmp" ; Whether or not to enable the dl() function. The dl() function does NOT work ; properly in multithreaded servers, such as IIS or Zeus, and is automatically ; disabled on them. -; http://php.net/enable-dl +; https://php.net/enable-dl enable_dl = Off ; cgi.force_redirect is necessary to provide security running PHP as a CGI under ; most web servers. Left undefined, PHP turns this on by default. You can ; turn it off here AT YOUR OWN RISK ; **You CAN safely turn this off for IIS, in fact, you MUST.** -; http://php.net/cgi.force-redirect +; https://php.net/cgi.force-redirect ;cgi.force_redirect = 1 ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with @@ -763,7 +789,7 @@ enable_dl = Off ; (iPlanet) web servers, you MAY need to set an environment variable name that PHP ; will look for to know it is OK to continue execution. Setting this variable MAY ; cause security issues, KNOW WHAT YOU ARE DOING FIRST. -; http://php.net/cgi.redirect-status-env +; https://php.net/cgi.redirect-status-env ;cgi.redirect_status_env = ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's @@ -772,20 +798,19 @@ enable_dl = Off ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. -; http://php.net/cgi.fix-pathinfo +; https://php.net/cgi.fix-pathinfo ;cgi.fix_pathinfo=1 ; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside ; of the web tree and people will not be able to circumvent .htaccess security. -; http://php.net/cgi.dicard-path ;cgi.discard_path=1 -; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate +; FastCGI under IIS supports the ability to impersonate ; security tokens of the calling client. This allows IIS to define the ; security context that the request runs under. mod_fastcgi under Apache ; does not currently support this feature (03/17/2002) ; Set to 1 if running under IIS. Default is zero. -; http://php.net/fastcgi.impersonate +; https://php.net/fastcgi.impersonate ;fastcgi.impersonate = 1 ; Disable logging through FastCGI connection. PHP's default behavior is to enable @@ -797,14 +822,14 @@ enable_dl = Off ; is supported by Apache. When this option is set to 1, PHP will send ; RFC2616 compliant header. ; Default is zero. -; http://php.net/cgi.rfc2616-headers +; https://php.net/cgi.rfc2616-headers ;cgi.rfc2616_headers = 0 ; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! ; (shebang) at the top of the running script. This line might be needed if the ; script support running both as stand-alone script and via PHP CGI<. PHP in CGI ; mode skips this line and ignores its content if this directive is turned on. -; http://php.net/cgi.check-shebang-line +; https://php.net/cgi.check-shebang-line ;cgi.check_shebang_line=1 ;;;;;;;;;;;;;;;; @@ -812,16 +837,16 @@ enable_dl = Off ;;;;;;;;;;;;;;;; ; Whether to allow HTTP file uploads. -; http://php.net/file-uploads +; https://php.net/file-uploads file_uploads = On ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). -; http://php.net/upload-tmp-dir +; https://php.net/upload-tmp-dir ;upload_tmp_dir = ; Maximum allowed size for uploaded files. -; http://php.net/upload-max-filesize +; https://php.net/upload-max-filesize upload_max_filesize = 2M ; Maximum number of files that can be uploaded via a single request @@ -832,24 +857,24 @@ max_file_uploads = 20 ;;;;;;;;;;;;;;;;;; ; Whether to allow the treatment of URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-fopen +; https://php.net/allow-url-fopen allow_url_fopen = On -; Whether to allow include/require to open URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-include +; Whether to allow include/require to open URLs (like https:// or ftp://) as files. +; https://php.net/allow-url-include allow_url_include = Off ; Define the anonymous ftp password (your email address). PHP's default setting ; for this is empty. -; http://php.net/from +; https://php.net/from ;from="john@doe.com" ; Define the User-Agent string. PHP's default setting for this is empty. -; http://php.net/user-agent +; https://php.net/user-agent ;user_agent="PHP" ; Default timeout for socket based streams (seconds) -; http://php.net/default-socket-timeout +; https://php.net/default-socket-timeout default_socket_timeout = 60 ; If your scripts have to deal with files from Macintosh systems, @@ -857,7 +882,7 @@ default_socket_timeout = 60 ; unix or win32 systems, setting this flag will cause PHP to ; automatically detect the EOL character in those files so that ; fgets() and file() will work regardless of the source of the file. -; http://php.net/auto-detect-line-endings +; https://php.net/auto-detect-line-endings ;auto_detect_line_endings = Off ;;;;;;;;;;;;;;;;;;;;;; @@ -872,7 +897,7 @@ default_socket_timeout = 60 ; For example: ; ; extension=mysqli -; +; ; When the extension library to load is not located in the default extension ; directory, You may specify an absolute path to the library file: ; @@ -885,25 +910,27 @@ default_socket_timeout = 60 ; ; Notes for Windows environments : ; -; - ODBC support is built in, so no dll is needed for it. -; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+) -; extension folders as well as the separate PECL DLL download (PHP 5+). +; - Many DLL files are located in the ext/ +; extension folders as well as the separate PECL DLL download. ; Be sure to appropriately set the extension_dir directive. ; ;extension=bz2 ;extension=curl +;extension=ffi +;extension=ftp ;extension=fileinfo -;extension=gd2 +;extension=gd ;extension=gettext ;extension=gmp ;extension=intl ;extension=imap -;extension=interbase ;extension=ldap ;extension=mbstring ;extension=exif ; Must be after mbstring as it depends on it ;extension=mysqli ;extension=oci8_12c ; Use with Oracle Database 12c Instant Client +;extension=oci8_19 ; Use with Oracle Database 19 Instant Client +;extension=odbc ;extension=openssl ;extension=pdo_firebird ;extension=pdo_mysql @@ -915,15 +942,18 @@ default_socket_timeout = 60 ;extension=shmop ; The MIBS data available in the PHP distribution must be installed. -; See http://www.php.net/manual/en/snmp.installation.php +; See https://www.php.net/manual/en/snmp.installation.php ;extension=snmp ;extension=soap ;extension=sockets +;extension=sodium ;extension=sqlite3 ;extension=tidy -;extension=xmlrpc ;extension=xsl +;extension=zip + +;zend_extension=opcache ;;;;;;;;;;;;;;;;;;; ; Module Settings ; @@ -935,32 +965,32 @@ cli_server.color = On [Date] ; Defines the default timezone used by the date functions -; http://php.net/date.timezone +; https://php.net/date.timezone ;date.timezone = -; http://php.net/date.default-latitude +; https://php.net/date.default-latitude ;date.default_latitude = 31.7667 -; http://php.net/date.default-longitude +; https://php.net/date.default-longitude ;date.default_longitude = 35.2333 -; http://php.net/date.sunrise-zenith -;date.sunrise_zenith = 90.583333 +; https://php.net/date.sunrise-zenith +;date.sunrise_zenith = 90.833333 -; http://php.net/date.sunset-zenith -;date.sunset_zenith = 90.583333 +; https://php.net/date.sunset-zenith +;date.sunset_zenith = 90.833333 [filter] -; http://php.net/filter.default +; https://php.net/filter.default ;filter.default = unsafe_raw -; http://php.net/filter.default-flags +; https://php.net/filter.default-flags ;filter.default_flags = [iconv] ; Use of this INI entry is deprecated, use global input_encoding instead. ; If empty, default_charset or input_encoding or iconv.input_encoding is used. -; The precedence is: default_charset < intput_encoding < iconv.input_encoding +; The precedence is: default_charset < input_encoding < iconv.input_encoding ;iconv.input_encoding = ; Use of this INI entry is deprecated, use global internal_encoding instead. @@ -975,6 +1005,13 @@ cli_server.color = On ; otherwise output encoding conversion cannot be performed. ;iconv.output_encoding = +[imap] +; rsh/ssh logins are disabled by default. Use this INI entry if you want to +; enable them. Note that the IMAP library does not filter mailbox names before +; passing them to rsh/ssh command, thus passing untrusted data to this function +; with rsh/ssh enabled is insecure. +;imap.enable_insecure_rsh=0 + [intl] ;intl.default_locale = ; This directive allows you to produce PHP errors when some error @@ -984,63 +1021,67 @@ cli_server.color = On ;intl.use_exceptions = 0 [sqlite3] +; Directory pointing to SQLite3 extensions +; https://php.net/sqlite3.extension-dir ;sqlite3.extension_dir = +; SQLite defensive mode flag (only available from SQLite 3.26+) +; When the defensive flag is enabled, language features that allow ordinary +; SQL to deliberately corrupt the database file are disabled. This forbids +; writing directly to the schema, shadow tables (eg. FTS data tables), or +; the sqlite_dbpage virtual table. +; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html +; (for older SQLite versions, this flag has no use) +;sqlite3.defensive = 1 + [Pcre] -;PCRE library backtracking limit. -; http://php.net/pcre.backtrack-limit +; PCRE library backtracking limit. +; https://php.net/pcre.backtrack-limit ;pcre.backtrack_limit=100000 -;PCRE library recursion limit. -;Please note that if you set this value to a high number you may consume all -;the available process stack and eventually crash PHP (due to reaching the -;stack size limit imposed by the Operating System). -; http://php.net/pcre.recursion-limit +; PCRE library recursion limit. +; Please note that if you set this value to a high number you may consume all +; the available process stack and eventually crash PHP (due to reaching the +; stack size limit imposed by the Operating System). +; https://php.net/pcre.recursion-limit ;pcre.recursion_limit=100000 -;Enables or disables JIT compilation of patterns. This requires the PCRE -;library to be compiled with JIT support. +; Enables or disables JIT compilation of patterns. This requires the PCRE +; library to be compiled with JIT support. ;pcre.jit=1 [Pdo] ; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" -; http://php.net/pdo-odbc.connection-pooling +; https://php.net/pdo-odbc.connection-pooling ;pdo_odbc.connection_pooling=strict -;pdo_odbc.db2_instance_name - [Pdo_mysql] -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/pdo_mysql.cache_size -pdo_mysql.cache_size = 2000 - ; Default socket name for local MySQL connects. If empty, uses the built-in ; MySQL defaults. -; http://php.net/pdo_mysql.default-socket pdo_mysql.default_socket= [Phar] -; http://php.net/phar.readonly +; https://php.net/phar.readonly ;phar.readonly = On -; http://php.net/phar.require-hash +; https://php.net/phar.require-hash ;phar.require_hash = On ;phar.cache_list = [mail function] ; For Win32 only. -; http://php.net/smtp +; https://php.net/smtp SMTP = localhost -; http://php.net/smtp-port +; https://php.net/smtp-port smtp_port = 25 ; For Win32 only. -; http://php.net/sendmail-from +; https://php.net/sendmail-from ;sendmail_from = me@example.com ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). -; http://php.net/sendmail-path +; https://php.net/sendmail-path ;sendmail_path = ; Force the addition of the specified parameters to be passed as extra parameters @@ -1049,7 +1090,7 @@ smtp_port = 25 ;mail.force_extra_parameters = ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename -mail.add_x_header = On +mail.add_x_header = Off ; The path to a log file that will log all mail() calls. Log entries include ; the full path of the script, line number, To address and headers. @@ -1058,13 +1099,13 @@ mail.add_x_header = On ;mail.log = syslog [ODBC] -; http://php.net/odbc.default-db +; https://php.net/odbc.default-db ;odbc.default_db = Not yet implemented -; http://php.net/odbc.default-user +; https://php.net/odbc.default-user ;odbc.default_user = Not yet implemented -; http://php.net/odbc.default-pw +; https://php.net/odbc.default-pw ;odbc.default_pw = Not yet implemented ; Controls the ODBC cursor model. @@ -1072,105 +1113,72 @@ mail.add_x_header = On ;odbc.default_cursortype ; Allow or prevent persistent links. -; http://php.net/odbc.allow-persistent +; https://php.net/odbc.allow-persistent odbc.allow_persistent = On ; Check that a connection is still valid before reuse. -; http://php.net/odbc.check-persistent +; https://php.net/odbc.check-persistent odbc.check_persistent = On ; Maximum number of persistent links. -1 means no limit. -; http://php.net/odbc.max-persistent +; https://php.net/odbc.max-persistent odbc.max_persistent = -1 ; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/odbc.max-links +; https://php.net/odbc.max-links odbc.max_links = -1 ; Handling of LONG fields. Returns number of bytes to variables. 0 means ; passthru. -; http://php.net/odbc.defaultlrl +; https://php.net/odbc.defaultlrl odbc.defaultlrl = 4096 ; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation ; of odbc.defaultlrl and odbc.defaultbinmode -; http://php.net/odbc.defaultbinmode +; https://php.net/odbc.defaultbinmode odbc.defaultbinmode = 1 -;birdstep.max_links = -1 - -[Interbase] -; Allow or prevent persistent links. -ibase.allow_persistent = 1 - -; Maximum number of persistent links. -1 means no limit. -ibase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ibase.max_links = -1 - -; Default database name for ibase_connect(). -;ibase.default_db = - -; Default username for ibase_connect(). -;ibase.default_user = - -; Default password for ibase_connect(). -;ibase.default_password = - -; Default charset for ibase_connect(). -;ibase.default_charset = - -; Default timestamp format. -ibase.timestampformat = "%Y-%m-%d %H:%M:%S" - -; Default date format. -ibase.dateformat = "%Y-%m-%d" - -; Default time format. -ibase.timeformat = "%H:%M:%S" - [MySQLi] ; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysqli.max-persistent +; https://php.net/mysqli.max-persistent mysqli.max_persistent = -1 ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysqli.allow_local_infile +; https://php.net/mysqli.allow_local_infile ;mysqli.allow_local_infile = On +; It allows the user to specify a folder where files that can be sent via LOAD DATA +; LOCAL can exist. It is ignored if mysqli.allow_local_infile is enabled. +;mysqli.local_infile_directory = + ; Allow or prevent persistent links. -; http://php.net/mysqli.allow-persistent +; https://php.net/mysqli.allow-persistent mysqli.allow_persistent = On ; Maximum number of links. -1 means no limit. -; http://php.net/mysqli.max-links +; https://php.net/mysqli.max-links mysqli.max_links = -1 -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysqli.cache_size -mysqli.cache_size = 2000 - ; Default port number for mysqli_connect(). If unset, mysqli_connect() will use ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look ; at MYSQL_PORT. -; http://php.net/mysqli.default-port +; https://php.net/mysqli.default-port mysqli.default_port = 3306 ; Default socket name for local MySQL connects. If empty, uses the built-in ; MySQL defaults. -; http://php.net/mysqli.default-socket +; https://php.net/mysqli.default-socket mysqli.default_socket = -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-host +; Default host for mysqli_connect() (doesn't apply in safe mode). +; https://php.net/mysqli.default-host mysqli.default_host = -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-user +; Default user for mysqli_connect() (doesn't apply in safe mode). +; https://php.net/mysqli.default-user mysqli.default_user = ; Default password for mysqli_connect() (doesn't apply in safe mode). @@ -1178,81 +1186,78 @@ mysqli.default_user = ; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") ; and reveal this password! And of course, any users with read access to this ; file will be able to reveal the password as well. -; http://php.net/mysqli.default-pw +; https://php.net/mysqli.default-pw mysqli.default_pw = ; Allow or prevent reconnect mysqli.reconnect = Off +; If this option is enabled, closing a persistent connection will rollback +; any pending transactions of this connection, before it is put back +; into the persistent connection pool. +;mysqli.rollback_on_cached_plink = Off + [mysqlnd] ; Enable / Disable collection of general statistics by mysqlnd which can be ; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_statistics mysqlnd.collect_statistics = On ; Enable / Disable collection of memory usage statistics by mysqlnd which can be ; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_memory_statistics mysqlnd.collect_memory_statistics = Off ; Records communication from all extensions using mysqlnd to the specified log ; file. -; http://php.net/mysqlnd.debug +; https://php.net/mysqlnd.debug ;mysqlnd.debug = ; Defines which queries will be logged. -; http://php.net/mysqlnd.log_mask ;mysqlnd.log_mask = 0 ; Default size of the mysqlnd memory pool, which is used by result sets. -; http://php.net/mysqlnd.mempool_default_size ;mysqlnd.mempool_default_size = 16000 ; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. -; http://php.net/mysqlnd.net_cmd_buffer_size ;mysqlnd.net_cmd_buffer_size = 2048 ; Size of a pre-allocated buffer used for reading data sent by the server in ; bytes. -; http://php.net/mysqlnd.net_read_buffer_size ;mysqlnd.net_read_buffer_size = 32768 ; Timeout for network requests in seconds. -; http://php.net/mysqlnd.net_read_timeout ;mysqlnd.net_read_timeout = 31536000 ; SHA-256 Authentication Plugin related. File with the MySQL server public RSA ; key. -; http://php.net/mysqlnd.sha256_server_public_key ;mysqlnd.sha256_server_public_key = [OCI8] ; Connection: Enables privileged connections using external ; credentials (OCI_SYSOPER, OCI_SYSDBA) -; http://php.net/oci8.privileged-connect +; https://php.net/oci8.privileged-connect ;oci8.privileged_connect = Off ; Connection: The maximum number of persistent OCI8 connections per ; process. Using -1 means no limit. -; http://php.net/oci8.max-persistent +; https://php.net/oci8.max-persistent ;oci8.max_persistent = -1 ; Connection: The maximum number of seconds a process is allowed to ; maintain an idle persistent connection. Using -1 means idle ; persistent connections will be maintained forever. -; http://php.net/oci8.persistent-timeout +; https://php.net/oci8.persistent-timeout ;oci8.persistent_timeout = -1 ; Connection: The number of seconds that must pass before issuing a ; ping during oci_pconnect() to check the connection validity. When ; set to 0, each oci_pconnect() will cause a ping. Using -1 disables ; pings completely. -; http://php.net/oci8.ping-interval +; https://php.net/oci8.ping-interval ;oci8.ping_interval = 60 ; Connection: Set this to a user chosen connection class to be used -; for all pooled server requests with Oracle 11g Database Resident +; for all pooled server requests with Oracle Database Resident ; Connection Pooling (DRCP). To use DRCP, this value should be set to ; the same string for all web servers running the same application, ; the database pool must be configured, and the connection string must @@ -1266,59 +1271,66 @@ mysqlnd.collect_memory_statistics = Off ; Tuning: This option enables statement caching, and specifies how ; many statements to cache. Using 0 disables statement caching. -; http://php.net/oci8.statement-cache-size +; https://php.net/oci8.statement-cache-size ;oci8.statement_cache_size = 20 -; Tuning: Enables statement prefetching and sets the default number of +; Tuning: Enables row prefetching and sets the default number of ; rows that will be fetched automatically after statement execution. -; http://php.net/oci8.default-prefetch +; https://php.net/oci8.default-prefetch ;oci8.default_prefetch = 100 +; Tuning: Sets the amount of LOB data that is internally returned from +; Oracle Database when an Oracle LOB locator is initially retrieved as +; part of a query. Setting this can improve performance by reducing +; round-trips. +; https://php.net/oci8.prefetch-lob-size +; oci8.prefetch_lob_size = 0 + ; Compatibility. Using On means oci_close() will not close ; oci_connect() and oci_new_connect() connections. -; http://php.net/oci8.old-oci-close-semantics +; https://php.net/oci8.old-oci-close-semantics ;oci8.old_oci_close_semantics = Off [PostgreSQL] ; Allow or prevent persistent links. -; http://php.net/pgsql.allow-persistent +; https://php.net/pgsql.allow-persistent pgsql.allow_persistent = On ; Detect broken persistent links always with pg_pconnect(). ; Auto reset feature requires a little overheads. -; http://php.net/pgsql.auto-reset-persistent +; https://php.net/pgsql.auto-reset-persistent pgsql.auto_reset_persistent = Off ; Maximum number of persistent links. -1 means no limit. -; http://php.net/pgsql.max-persistent +; https://php.net/pgsql.max-persistent pgsql.max_persistent = -1 ; Maximum number of links (persistent+non persistent). -1 means no limit. -; http://php.net/pgsql.max-links +; https://php.net/pgsql.max-links pgsql.max_links = -1 ; Ignore PostgreSQL backends Notice message or not. ; Notice message logging require a little overheads. -; http://php.net/pgsql.ignore-notice +; https://php.net/pgsql.ignore-notice pgsql.ignore_notice = 0 ; Log PostgreSQL backends Notice message or not. ; Unless pgsql.ignore_notice=0, module cannot log notice message. -; http://php.net/pgsql.log-notice +; https://php.net/pgsql.log-notice pgsql.log_notice = 0 [bcmath] ; Number of decimal digits for all bcmath functions. -; http://php.net/bcmath.scale +; https://php.net/bcmath.scale bcmath.scale = 0 [browscap] -; http://php.net/browscap +; https://php.net/browscap ;browscap = extra/browscap.ini [Session] ; Handler used to store/retrieve data. -; http://php.net/session.save-handler +; https://php.net/session.save-handler session.save_handler = files ; Argument passed to save_handler. In the case of files, this is the path @@ -1347,111 +1359,112 @@ session.save_handler = files ; ; where MODE is the octal representation of the mode. Note that this ; does not overwrite the process's umask. -; http://php.net/session.save-path +; https://php.net/session.save-path ;session.save_path = "/tmp" ; Whether to use strict session mode. -; Strict session mode does not accept uninitialized session ID and regenerate -; session ID if browser sends uninitialized session ID. Strict mode protects -; applications from session fixation via session adoption vulnerability. It is -; disabled by default for maximum compatibility, but enabling it is encouraged. +; Strict session mode does not accept an uninitialized session ID, and +; regenerates the session ID if the browser sends an uninitialized session ID. +; Strict mode protects applications from session fixation via a session adoption +; vulnerability. It is disabled by default for maximum compatibility, but +; enabling it is encouraged. ; https://wiki.php.net/rfc/strict_sessions session.use_strict_mode = 0 ; Whether to use cookies. -; http://php.net/session.use-cookies +; https://php.net/session.use-cookies session.use_cookies = 1 -; http://php.net/session.cookie-secure +; https://php.net/session.cookie-secure ;session.cookie_secure = ; This option forces PHP to fetch and use a cookie for storing and maintaining ; the session id. We encourage this operation as it's very helpful in combating ; session hijacking when not specifying and managing your own session id. It is ; not the be-all and end-all of session hijacking defense, but it's a good start. -; http://php.net/session.use-only-cookies +; https://php.net/session.use-only-cookies session.use_only_cookies = 1 ; Name of the session (used as cookie name). -; http://php.net/session.name +; https://php.net/session.name session.name = PHPSESSID ; Initialize session on request startup. -; http://php.net/session.auto-start +; https://php.net/session.auto-start session.auto_start = 0 ; Lifetime in seconds of cookie or, if 0, until browser is restarted. -; http://php.net/session.cookie-lifetime +; https://php.net/session.cookie-lifetime session.cookie_lifetime = 0 ; The path for which the cookie is valid. -; http://php.net/session.cookie-path +; https://php.net/session.cookie-path session.cookie_path = / ; The domain for which the cookie is valid. -; http://php.net/session.cookie-domain +; https://php.net/session.cookie-domain session.cookie_domain = -; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. -; http://php.net/session.cookie-httponly +; Whether or not to add the httpOnly flag to the cookie, which makes it +; inaccessible to browser scripting languages such as JavaScript. +; https://php.net/session.cookie-httponly session.cookie_httponly = -; Handler used to serialize data. php is the standard serializer of PHP. -; http://php.net/session.serialize-handler +; Add SameSite attribute to cookie to help mitigate Cross-Site Request Forgery (CSRF/XSRF) +; Current valid values are "Strict", "Lax" or "None". When using "None", +; make sure to include the quotes, as `none` is interpreted like `false` in ini files. +; https://tools.ietf.org/html/draft-west-first-party-cookies-07 +session.cookie_samesite = + +; Handler used to serialize data. php is the standard serializer of PHP. +; https://php.net/session.serialize-handler session.serialize_handler = php -; Defines the probability that the 'garbage collection' process is started -; on every session initialization. The probability is calculated by using -; gc_probability/gc_divisor. Where session.gc_probability is the numerator -; and gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. +; Defines the probability that the 'garbage collection' process is started on every +; session initialization. The probability is calculated by using gc_probability/gc_divisor, +; e.g. 1/100 means there is a 1% chance that the GC process starts on each request. ; Default Value: 1 ; Development Value: 1 ; Production Value: 1 -; http://php.net/session.gc-probability +; https://php.net/session.gc-probability session.gc_probability = 1 ; Defines the probability that the 'garbage collection' process is started on every -; session initialization. The probability is calculated by using the following equation: -; gc_probability/gc_divisor. Where session.gc_probability is the numerator and -; session.gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. Increasing this value to 1000 will give you -; a 0.1% chance the gc will run on any give request. For high volume production servers, -; this is a more efficient approach. +; session initialization. The probability is calculated by using gc_probability/gc_divisor, +; e.g. 1/100 means there is a 1% chance that the GC process starts on each request. +; For high volume production servers, using a value of 1000 is a more efficient approach. ; Default Value: 100 ; Development Value: 1000 ; Production Value: 1000 -; http://php.net/session.gc-divisor +; https://php.net/session.gc-divisor session.gc_divisor = 1000 ; After this number of seconds, stored data will be seen as 'garbage' and ; cleaned up by the garbage collection process. -; http://php.net/session.gc-maxlifetime +; https://php.net/session.gc-maxlifetime session.gc_maxlifetime = 1440 ; NOTE: If you are using the subdirectory option for storing session files ; (see session.save_path above), then garbage collection does *not* ; happen automatically. You will need to do your own garbage ; collection through a shell script, cron entry, or some other method. -; For example, the following script would is the equivalent of -; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): +; For example, the following script is the equivalent of setting +; session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): ; find /path/to/sessions -cmin +24 -type f | xargs rm ; Check HTTP Referer to invalidate externally stored URLs containing ids. ; HTTP_REFERER has to contain this substring for the session to be ; considered as valid. -; http://php.net/session.referer-check +; https://php.net/session.referer-check session.referer_check = ; Set to {nocache,private,public,} to determine HTTP caching aspects ; or leave this empty to avoid sending anti-caching headers. -; http://php.net/session.cache-limiter +; https://php.net/session.cache-limiter session.cache_limiter = nocache ; Document expires after n minutes. -; http://php.net/session.cache-expire +; https://php.net/session.cache-expire session.cache_expire = 180 ; trans sid support is disabled by default. @@ -1463,13 +1476,13 @@ session.cache_expire = 180 ; in publicly accessible computer. ; - User may access your site with the same session ID ; always using URL stored in browser's history or bookmarks. -; http://php.net/session.use-trans-sid +; https://php.net/session.use-trans-sid session.use_trans_sid = 0 ; Set session ID character length. This value could be between 22 to 256. ; Shorter length than default is supported only for compatibility reason. ; Users should use 32 or more chars. -; http://php.net/session.sid-length +; https://php.net/session.sid-length ; Default Value: 32 ; Development Value: 26 ; Production Value: 26 @@ -1484,11 +1497,11 @@ session.sid_length = 26 ; Default Value: "a=href,area=href,frame=src,form=" ; Development Value: "a=href,area=href,frame=src,form=" ; Production Value: "a=href,area=href,frame=src,form=" -; http://php.net/url-rewriter.tags +; https://php.net/url-rewriter.tags session.trans_sid_tags = "a=href,area=href,frame=src,form=" ; URL rewriter does not rewrite absolute URLs by default. -; To enable rewrites for absolute pathes, target hosts must be specified +; To enable rewrites for absolute paths, target hosts must be specified ; at RUNTIME. i.e. use ini_set() ; tags is special. PHP will check action attribute's URL regardless ; of session.trans_sid_tags setting. @@ -1509,14 +1522,14 @@ session.trans_sid_tags = "a=href,area=href,frame=src,form=" ; Default Value: 4 ; Development Value: 5 ; Production Value: 5 -; http://php.net/session.hash-bits-per-character +; https://php.net/session.hash-bits-per-character session.sid_bits_per_character = 5 ; Enable upload progress tracking in $_SESSION ; Default Value: On ; Development Value: On ; Production Value: On -; http://php.net/session.upload-progress.enabled +; https://php.net/session.upload-progress.enabled ;session.upload_progress.enabled = On ; Cleanup the progress information as soon as all POST data has been read @@ -1524,14 +1537,14 @@ session.sid_bits_per_character = 5 ; Default Value: On ; Development Value: On ; Production Value: On -; http://php.net/session.upload-progress.cleanup +; https://php.net/session.upload-progress.cleanup ;session.upload_progress.cleanup = On ; A prefix used for the upload progress key in $_SESSION ; Default Value: "upload_progress_" ; Development Value: "upload_progress_" ; Production Value: "upload_progress_" -; http://php.net/session.upload-progress.prefix +; https://php.net/session.upload-progress.prefix ;session.upload_progress.prefix = "upload_progress_" ; The index name (concatenated with the prefix) in $_SESSION @@ -1539,7 +1552,7 @@ session.sid_bits_per_character = 5 ; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" ; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" ; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" -; http://php.net/session.upload-progress.name +; https://php.net/session.upload-progress.name ;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" ; How frequently the upload progress should be updated. @@ -1547,18 +1560,18 @@ session.sid_bits_per_character = 5 ; Default Value: "1%" ; Development Value: "1%" ; Production Value: "1%" -; http://php.net/session.upload-progress.freq +; https://php.net/session.upload-progress.freq ;session.upload_progress.freq = "1%" ; The minimum delay between updates, in seconds ; Default Value: 1 ; Development Value: 1 ; Production Value: 1 -; http://php.net/session.upload-progress.min-freq +; https://php.net/session.upload-progress.min-freq ;session.upload_progress.min_freq = "1" ; Only write session data when session data is changed. Enabled by default. -; http://php.net/session.lazy-write +; https://php.net/session.lazy-write ;session.lazy_write = On [Assertion] @@ -1570,63 +1583,62 @@ session.sid_bits_per_character = 5 ; Default Value: 1 ; Development Value: 1 ; Production Value: -1 -; http://php.net/zend.assertions +; https://php.net/zend.assertions zend.assertions = -1 ; Assert(expr); active by default. -; http://php.net/assert.active +; https://php.net/assert.active ;assert.active = On -; Throw an AssertationException on failed assertions -; http://php.net/assert.exception +; Throw an AssertionError on failed assertions +; https://php.net/assert.exception ;assert.exception = On ; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active) -; http://php.net/assert.warning +; https://php.net/assert.warning ;assert.warning = On ; Don't bail out by default. -; http://php.net/assert.bail +; https://php.net/assert.bail ;assert.bail = Off ; User-function to be called if an assertion fails. -; http://php.net/assert.callback +; https://php.net/assert.callback ;assert.callback = 0 -; Eval the expression with current error_reporting(). Set to true if you want -; error_reporting(0) around the eval(). -; http://php.net/assert.quiet-eval -;assert.quiet_eval = 0 - [COM] ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs -; http://php.net/com.typelib-file +; https://php.net/com.typelib-file ;com.typelib_file = ; allow Distributed-COM calls -; http://php.net/com.allow-dcom +; https://php.net/com.allow-dcom ;com.allow_dcom = true -; autoregister constants of a components typlib on com_load() -; http://php.net/com.autoregister-typelib +; autoregister constants of a component's typelib on com_load() +; https://php.net/com.autoregister-typelib ;com.autoregister_typelib = true ; register constants casesensitive -; http://php.net/com.autoregister-casesensitive +; https://php.net/com.autoregister-casesensitive ;com.autoregister_casesensitive = false ; show warnings on duplicate constant registrations -; http://php.net/com.autoregister-verbose +; https://php.net/com.autoregister-verbose ;com.autoregister_verbose = true ; The default character set code-page to use when passing strings to and from COM objects. ; Default: system ANSI code page ;com.code_page= +; The version of the .NET framework to use. The value of the setting are the first three parts +; of the framework's version number, separated by dots, and prefixed with "v", e.g. "v4.0.30319". +;com.dotnet_version= + [mbstring] ; language for internal character representation. ; This affects mb_send_mail() and mbstring.detect_order. -; http://php.net/mbstring.language +; https://php.net/mbstring.language ;mbstring.language = Japanese ; Use of this INI entry is deprecated, use global internal_encoding instead. @@ -1638,10 +1650,10 @@ zend.assertions = -1 ; Use of this INI entry is deprecated, use global input_encoding instead. ; http input encoding. -; mbstring.encoding_traslation = On is needed to use this setting. +; mbstring.encoding_translation = On is needed to use this setting. ; If empty, default_charset or input_encoding or mbstring.input is used. -; The precedence is: default_charset < intput_encoding < mbsting.http_input -; http://php.net/mbstring.http-input +; The precedence is: default_charset < input_encoding < mbstring.http_input +; https://php.net/mbstring.http-input ;mbstring.http_input = ; Use of this INI entry is deprecated, use global output_encoding instead. @@ -1651,7 +1663,7 @@ zend.assertions = -1 ; The precedence is: default_charset < output_encoding < mbstring.http_output ; To use an output encoding conversion, mbstring's output handler must be set ; otherwise output encoding conversion cannot be performed. -; http://php.net/mbstring.http-output +; https://php.net/mbstring.http-output ;mbstring.http_output = ; enable automatic encoding translation according to @@ -1659,44 +1671,40 @@ zend.assertions = -1 ; converted to internal encoding by setting this to On. ; Note: Do _not_ use automatic encoding translation for ; portable libs/applications. -; http://php.net/mbstring.encoding-translation +; https://php.net/mbstring.encoding-translation ;mbstring.encoding_translation = Off ; automatic encoding detection order. ; "auto" detect order is changed according to mbstring.language -; http://php.net/mbstring.detect-order +; https://php.net/mbstring.detect-order ;mbstring.detect_order = auto ; substitute_character used when character cannot be converted ; one from another -; http://php.net/mbstring.substitute-character +; https://php.net/mbstring.substitute-character ;mbstring.substitute_character = none -; overload(replace) single byte functions by mbstring functions. -; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), -; etc. Possible values are 0,1,2,4 or combination of them. -; For example, 7 for overload everything. -; 0: No overload -; 1: Overload mail() function -; 2: Overload str*() functions -; 4: Overload ereg*() functions -; http://php.net/mbstring.func-overload -;mbstring.func_overload = 0 - -; enable strict encoding detection. -; Default: Off -;mbstring.strict_detection = On +; Enable strict encoding detection. +;mbstring.strict_detection = Off ; This directive specifies the regex pattern of content types for which mb_output_handler() ; is activated. -; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) -;mbstring.http_output_conv_mimetype= +; Default: mbstring.http_output_conv_mimetypes=^(text/|application/xhtml\+xml) +;mbstring.http_output_conv_mimetypes= + +; This directive specifies maximum stack depth for mbstring regular expressions. It is similar +; to the pcre.recursion_limit for PCRE. +;mbstring.regex_stack_limit=100000 + +; This directive specifies maximum retry count for mbstring regular expressions. It is similar +; to the pcre.backtrack_limit for PCRE. +;mbstring.regex_retry_limit=1000000 [gd] ; Tell the jpeg decode to ignore warnings and try to create ; a gd image. The warning will then be displayed as notices ; disabled by default -; http://php.net/gd.jpeg-ignore-warning +; https://php.net/gd.jpeg-ignore-warning ;gd.jpeg_ignore_warning = 1 [exif] @@ -1705,47 +1713,47 @@ zend.assertions = -1 ; given by corresponding encode setting. When empty mbstring.internal_encoding ; is used. For the decode settings you can distinguish between motorola and ; intel byte order. A decode setting cannot be empty. -; http://php.net/exif.encode-unicode +; https://php.net/exif.encode-unicode ;exif.encode_unicode = ISO-8859-15 -; http://php.net/exif.decode-unicode-motorola +; https://php.net/exif.decode-unicode-motorola ;exif.decode_unicode_motorola = UCS-2BE -; http://php.net/exif.decode-unicode-intel +; https://php.net/exif.decode-unicode-intel ;exif.decode_unicode_intel = UCS-2LE -; http://php.net/exif.encode-jis +; https://php.net/exif.encode-jis ;exif.encode_jis = -; http://php.net/exif.decode-jis-motorola +; https://php.net/exif.decode-jis-motorola ;exif.decode_jis_motorola = JIS -; http://php.net/exif.decode-jis-intel +; https://php.net/exif.decode-jis-intel ;exif.decode_jis_intel = JIS [Tidy] ; The path to a default tidy configuration file to use when using tidy -; http://php.net/tidy.default-config +; https://php.net/tidy.default-config ;tidy.default_config = /usr/local/lib/php/default.tcfg ; Should tidy clean and repair output automatically? ; WARNING: Do not use this option if you are generating non-html content ; such as dynamic images -; http://php.net/tidy.clean-output +; https://php.net/tidy.clean-output tidy.clean_output = Off [soap] ; Enables or disables WSDL caching feature. -; http://php.net/soap.wsdl-cache-enabled +; https://php.net/soap.wsdl-cache-enabled soap.wsdl_cache_enabled=1 ; Sets the directory name where SOAP extension will put cache files. -; http://php.net/soap.wsdl-cache-dir +; https://php.net/soap.wsdl-cache-dir soap.wsdl_cache_dir="/tmp" ; (time to live) Sets the number of second while cached file will be used ; instead of original one. -; http://php.net/soap.wsdl-cache-ttl +; https://php.net/soap.wsdl-cache-ttl soap.wsdl_cache_ttl=86400 ; Sets the size of the cache limit. (Max. number of WSDL files to cache) @@ -1804,14 +1812,18 @@ ldap.max_links = -1 ; size of the optimized code. ;opcache.save_comments=1 +; If enabled, compilation warnings (including notices and deprecations) will +; be recorded and replayed each time a file is included. Otherwise, compilation +; warnings will only be emitted when the file is first cached. +;opcache.record_warnings=0 + ; Allow file existence override (file_exists, etc.) performance feature. ;opcache.enable_file_override=0 ; A bitmask, where each bit enables or disables the appropriate OPcache ; passes -;opcache.optimization_level=0xffffffff +;opcache.optimization_level=0x7FFFBFFF -;opcache.inherited_hack=1 ;opcache.dups_fix=0 ; The location of the OPcache blacklist file (wildcards allowed). @@ -1860,6 +1872,10 @@ ldap.max_links = -1 ; errors. ;opcache.mmap_base= +; Facilitates multiple OPcache instances per user (for Windows only). All PHP +; processes with the same cache ID and user share an OPcache instance. +;opcache.cache_id= + ; Enables and sets the second level cache directory. ; It should improve performance when SHM memory is full, at server restart or ; SHM reset. The default "" disables file based caching. @@ -1886,6 +1902,28 @@ ldap.max_links = -1 ; Prevent name collisions in chroot'ed environment. ;opcache.validate_root=0 +; If specified, it produces opcode dumps for debugging different stages of +; optimizations. +;opcache.opt_debug_level=0 + +; Specifies a PHP script that is going to be compiled and executed at server +; start-up. +; https://php.net/opcache.preload +;opcache.preload= + +; Preloading code as root is not allowed for security reasons. This directive +; facilitates to let the preloading to be run as another user. +; https://php.net/opcache.preload_user +;opcache.preload_user= + +; Prevents caching files that are less than this number of seconds old. It +; protects from caching of incompletely updated files. In case all file updates +; on your site are atomic, you may increase performance by setting it to "0". +;opcache.file_update_protection=2 + +; Absolute path used to store shared lockfiles (for *nix only). +;opcache.lockfile_path=/tmp + [curl] ; A default value for the CURLOPT_CAINFO option. This is required to be an ; absolute path. @@ -1909,6 +1947,12 @@ ldap.max_links = -1 ; SSL stream context option. ;openssl.capath= -; Local Variables: -; tab-width: 4 -; End: +[ffi] +; FFI API restriction. Possible values: +; "preload" - enabled in CLI scripts and preloaded files (default) +; "false" - always disabled +; "true" - always enabled +;ffi.enable=preload + +; List of headers files to preload, wildcard patterns allowed. +;ffi.preload= diff --git a/php/php7embed.lib b/php/php7embed.lib deleted file mode 100644 index a27dcd3..0000000 Binary files a/php/php7embed.lib and /dev/null differ diff --git a/php/php7phpdbg.dll b/php/php7phpdbg.dll deleted file mode 100644 index a96b739..0000000 Binary files a/php/php7phpdbg.dll and /dev/null differ diff --git a/php/php7.dll b/php/php8.dll similarity index 54% rename from php/php7.dll rename to php/php8.dll index d2506ff..dfac694 100644 Binary files a/php/php7.dll and b/php/php8.dll differ diff --git a/php/php8embed.lib b/php/php8embed.lib new file mode 100644 index 0000000..9db49ca Binary files /dev/null and b/php/php8embed.lib differ diff --git a/php/php8phpdbg.dll b/php/php8phpdbg.dll new file mode 100644 index 0000000..59fa7cc Binary files /dev/null and b/php/php8phpdbg.dll differ diff --git a/php/phpdbg.exe b/php/phpdbg.exe index 9ddac7d..50956be 100644 Binary files a/php/phpdbg.exe and b/php/phpdbg.exe differ diff --git a/php/readme-redist-bins.txt b/php/readme-redist-bins.txt index b00fde9..f1f84a9 100644 --- a/php/readme-redist-bins.txt +++ b/php/readme-redist-bins.txt @@ -1,22 +1,122 @@ -1. libmagic (ext/fileinfo) see ext/fileinfo/libmagic/LICENSE -2. Oniguruma (ext/mbstring) see ext/mbstring/oniguruma/COPYING -3. libmbfl (ext/mbstring) see ext/mbstring/libmbfl/LICENSE -4. pcrelib (ext/pcre) see ext/pcre/pcrelib/LICENCE -5. ext/standard crypt -6. ext/standard crypt's blowfish implementation -7. Sqlite/Sqlite3 ext/sqlite3 ext/sqlite -8. ext/standard/rand -9. ext/standard/scanf -10. ext/standard/strnatcmp.c -11. ext/standard/uuencode -12. libxmlrpc ext/xmlrpc -13. libzip ext/zip -14. main/snprintf.c -15. main/strlcat -16. main/strlcpy -17. libgd see ext/gd/libgd/COPYING - -5. ext/standard crypt + 1. libmagic (ext/fileinfo) see ext/fileinfo/libmagic/LICENSE + 2. libmbfl (ext/mbstring) see ext/mbstring/libmbfl/LICENSE + 3. pcre2lib (ext/pcre) + 4. ext/standard crypt + 5. ext/standard crypt's blowfish implementation + 6. ext/standard/rand + 7. ext/standard/scanf + 8. ext/standard/strnatcmp.c + 9. ext/standard/uuencode +10. main/snprintf.c +11. main/strlcat +12. main/strlcpy +13. libgd (ext/gd) +14. ext/phar portions of tar implementations +15. ext/phar/zip.c portion extracted from libzip +16. libbcmath (ext/bcmath) see ext/bcmath/libbcmath/LICENSE +17. ext/mbstring/ucgendat portions based on the ucgendat.c from the OpenLDAP +18. avifinfo (ext/standard/libavifinfo) see ext/standard/libavifinfo/LICENSE + + +3. pcre2lib (ext/pcre) + +PCRE2 LICENCE +------------- + +PCRE2 is a library of functions to support regular expressions whose syntax +and semantics are as close as possible to those of the Perl 5 language. + +Releases 10.00 and above of PCRE2 are distributed under the terms of the "BSD" +licence, as specified below, with one exemption for certain binary +redistributions. The documentation for PCRE2, supplied in the "doc" directory, +is distributed under the same terms as the software itself. The data in the +testdata directory is not copyrighted and is in the public domain. + +The basic library functions are written in C and are freestanding. Also +included in the distribution is a just-in-time compiler that can be used to +optimize pattern matching. This is an optional feature that can be omitted when +the library is built. + + +THE BASIC LIBRARY FUNCTIONS +--------------------------- + +Written by: Philip Hazel +Email local part: ph10 +Email domain: cam.ac.uk + +University of Cambridge Computing Service, +Cambridge, England. + +Copyright (c) 1997-2019 University of Cambridge +All rights reserved. + + +PCRE2 JUST-IN-TIME COMPILATION SUPPORT +-------------------------------------- + +Written by: Zoltan Herczeg +Email local part: hzmester +Email domain: freemail.hu + +Copyright(c) 2010-2019 Zoltan Herczeg +All rights reserved. + + +STACK-LESS JUST-IN-TIME COMPILER +-------------------------------- + +Written by: Zoltan Herczeg +Email local part: hzmester +Email domain: freemail.hu + +Copyright(c) 2009-2019 Zoltan Herczeg +All rights reserved. + + +THE "BSD" LICENCE +----------------- + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notices, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notices, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the University of Cambridge nor the names of any + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +EXEMPTION FOR BINARY LIBRARY-LIKE PACKAGES +------------------------------------------ + +The second condition in the BSD licence (covering binary redistributions) does +not apply all the way down a chain of software. If binary package A includes +PCRE2, it must respect the condition, but if package B is software that +includes package A, the condition is not imposed on package B unless it uses +PCRE2 independently. + +End + + +4. ext/standard crypt FreeSec: libcrypt for NetBSD @@ -27,13 +127,13 @@ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. + notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. 3. Neither the name of the author nor the names of other contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. + may be used to endorse or promote products derived from this software + without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -46,9 +146,9 @@ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -6. ext/standard crypt's blowfish implementation + +5. ext/standard crypt's blowfish implementation The crypt_blowfish homepage is: @@ -92,18 +192,10 @@ http://www.usenix.org/events/usenix99/provos.html Some of the tricks in BF_ROUND might be inspired by Eric Young's Blowfish library (I can't be sure if I would think of something if I hadn't seen his code). - -7. Sqlite/Sqlite3 ext/sqlite3 ext/sqlite -The author disclaims copyright to this source code. In place of -a legal notice, here is a blessing: - May you do good and not evil. - May you find forgiveness for yourself and forgive others. - May you share freely, never taking more than you give. +6. ext/standard/rand - -8. ext/standard/rand The following php_mt_...() functions are based on a C++ class MTRand by Richard J. Wagner. For more information see the web page at http://www-personal.engin.umich.edu/~wagnerr/MersenneTwister.html @@ -126,22 +218,22 @@ Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3-30. Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, Copyright (C) 2000 - 2003, Richard J. Wagner -All rights reserved. +All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. + notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. -3. The names of its contributors may not be used to endorse or promote - products derived from this software without specific prior written - permission. +3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -156,7 +248,8 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -9. ext/standard/scanf +7. ext/standard/scanf + scanf.c -- This file contains the base code which implements sscanf and by extension @@ -202,7 +295,8 @@ authors grant the U.S. Government and others acting in its behalf permission to use and distribute the software in accordance with the terms specified in this license. -10. ext/standard/strnatcmp.c + +8. ext/standard/strnatcmp.c strnatcmp.c -- Perform 'natural order' comparisons of strings in C. Copyright (C) 2000 by Martin Pool @@ -216,14 +310,16 @@ including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. + misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. -11. ext/standard/uuencode + +9. ext/standard/uuencode + Portions of this code are based on Berkeley's uuencode/uudecode implementation. @@ -234,17 +330,17 @@ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. + notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software - must display the following acknowledgement: + must display the following acknowledgement: This product includes software developed by the University of California, Berkeley and its contributors. 4. Neither the name of the University nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. + may be used to endorse or promote products derived from this software + without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -259,63 +355,8 @@ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -12. libxmlrpc ext/xmlrpc - -Copyright 2000 Epinions, Inc. - -Subject to the following 3 conditions, Epinions, Inc. permits you, free -of charge, to (a) use, copy, distribute, modify, perform and display this -software and associated documentation files (the "Software"), and (b) -permit others to whom the Software is furnished to do so as well. - -1) The above copyright notice and this permission notice shall be included -without modification in all copies or substantial portions of the -Software. - -2) THE SOFTWARE IS PROVIDED "AS IS", WITHOUT ANY WARRANTY OR CONDITION OF -ANY KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION ANY -IMPLIED WARRANTIES OF ACCURACY, MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE OR NONINFRINGEMENT. - -3) IN NO EVENT SHALL EPINIONS, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, -SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR LOST PROFITS ARISING OUT -OF OR IN CONNECTION WITH THE SOFTWARE (HOWEVER ARISING, INCLUDING -NEGLIGENCE), EVEN IF EPINIONS, INC. IS AWARE OF THE POSSIBILITY OF SUCH -DAMAGES. +10. main/snprintf.c -13. libzip ext/zip -zip.h -- exported declarations. -Copyright (C) 1999-2009 Dieter Baron and Thomas Klausner - -This file is part of libzip, a library to manipulate ZIP archives. -The authors can be contacted at - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. -3. The names of the authors may not be used to endorse or promote - products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -14. main/snprintf.c Copyright (c) 2002, 2006 Todd C. Miller Permission to use, copy, modify, and distribute this software for any @@ -342,26 +383,26 @@ modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. + notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. 3. All advertising materials mentioning features or use of this - software must display the following acknowledgment: - "This product includes software developed by the Apache Group - for use in the Apache HTTP server project (http://www.apache.org/)." + software must display the following acknowledgment: + "This product includes software developed by the Apache Group + for use in the Apache HTTP server project (http://www.apache.org/)." 4. The names "Apache Server" and "Apache Group" must not be used to - endorse or promote products derived from this software without - prior written permission. + endorse or promote products derived from this software without + prior written permission. 5. Redistributions of any form whatsoever must retain the following - acknowledgment: - "This product includes software developed by the Apache Group - for use in the Apache HTTP server project (http://www.apache.org/)." + acknowledgment: + "This product includes software developed by the Apache Group + for use in the Apache HTTP server project (http://www.apache.org/)." THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE @@ -388,8 +429,10 @@ This code is based on, and used with the permission of, the SIO stdio-replacement strx_* functions by Panos Tsirigotis for xinetd. -15. main/strlcat -16. main/strlcpy + +11. main/strlcat +12. main/strlcpy + Copyright (c) 1998 Todd C. Miller All rights reserved. @@ -397,12 +440,12 @@ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. + notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products - derived from this software without specific prior written permission. + derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY @@ -415,3 +458,186 @@ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +13. libgd (ext/gd) + +* Portions copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, + 2002, 2003, 2004 by Cold Spring Harbor Laboratory. Funded under + Grant P41-RR02188 by the National Institutes of Health. + +* Portions copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, + 2004 by Boutell.Com, Inc. + +* Portions relating to GD2 format copyright 1999, 2000, 2001, 2002, + 2003, 2004 Philip Warner. + +* Portions relating to PNG copyright 1999, 2000, 2001, 2002, 2003, + 2004 Greg Roelofs. + +* Portions relating to gdttf.c copyright 1999, 2000, 2001, 2002, + 2003, 2004 John Ellson (ellson@graphviz.org). + +* Portions relating to gdft.c copyright 2001, 2002, 2003, 2004 John + Ellson (ellson@graphviz.org). + +* Portions copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 + Pierre-Alain Joye (pierre@libgd.org). + +* Portions relating to JPEG and to color quantization copyright + 2000, 2001, 2002, 2003, 2004, Doug Becker and copyright (C) 1994, + 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Thomas + G. Lane. This software is based in part on the work of the + Independent JPEG Group. See the file README-JPEG.TXT for more + information. + +* Portions relating to GIF compression copyright 1989 by Jef + Poskanzer and David Rowley, with modifications for thread safety + by Thomas Boutell. + +* Portions relating to GIF decompression copyright 1990, 1991, 1993 + by David Koblas, with modifications for thread safety by Thomas + Boutell. + +* Portions relating to WBMP copyright 2000, 2001, 2002, 2003, 2004 + Maurice Szmurlo and Johan Van den Brande. + +* Portions relating to GIF animations copyright 2004 Jaakko Hyvätti + (jaakko.hyvatti@iki.fi) + +Permission has been granted to copy, distribute and modify gd in +any context without fee, including a commercial application, +provided that this notice is present in user-accessible supporting +documentation. + +This does not affect your ownership of the derived work itself, +and the intent is to assure proper credit for the authors of gd, +not to interfere with your productive use of gd. If you have +questions, ask. "Derived works" includes all programs that utilize +the library. Credit must be given in user-accessible +documentation. + +This software is provided "AS IS." The copyright holders disclaim +all warranties, either express or implied, including but not +limited to implied warranties of merchantability and fitness for a +particular purpose, with respect to this code and accompanying +documentation. + +Although their code does not appear in the current release, the +authors wish to thank David Koblas, David Rowley, and Hutchison +Avenue Software Corporation for their prior contributions. + +END OF COPYRIGHT STATEMENT + + +14. ext/phar portions of tar implementations + +portions of tar implementations in ext/phar - phar_tar_octal() are based on an +implementation by Tim Kientzle from libarchive, licensed with this license: + + Copyright (c) 2003-2007 Tim Kientzle + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +15. ext/phar/zip.c portion extracted from libzip + +zip_dirent.c -- read directory entry (local or central), clean dirent +Copyright (C) 1999, 2003, 2004, 2005 Dieter Baron and Thomas Klausner + +This function is part of libzip, a library to manipulate ZIP archives. +The authors can be contacted at + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. +3. The names of the authors may not be used to endorse or promote + products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +17. ext/mbstring/ucgendat portions based on the ucgendat.c from the OpenLDAP + +The OpenLDAP Public License + Version 2.8, 17 August 2003 + +Redistribution and use of this software and associated documentation +("Software"), with or without modification, are permitted provided +that the following conditions are met: + +1. Redistributions in source form must retain copyright statements + and notices, + +2. Redistributions in binary form must reproduce applicable copyright + statements and notices, this list of conditions, and the following + disclaimer in the documentation and/or other materials provided + with the distribution, and + +3. Redistributions must contain a verbatim copy of this document. + +The OpenLDAP Foundation may revise this license from time to time. +Each revision is distinguished by a version number. You may use +this Software under terms of this license revision or under the +terms of any subsequent revision of the license. + +THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS +CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S) +OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +The names of the authors and copyright holders must not be used in +advertising or otherwise to promote the sale, use or other dealing +in this Software without specific, written prior permission. Title +to copyright in this Software shall at all times remain with copyright +holders. + +OpenLDAP is a registered trademark of the OpenLDAP Foundation. + +Copyright 1999-2003 The OpenLDAP Foundation, Redwood City, +California, USA. All Rights Reserved. Permission to copy and +distribute verbatim copies of this document is granted. diff --git a/php/sasl2/saslANONYMOUS.dll b/php/sasl2/saslANONYMOUS.dll deleted file mode 100644 index f2bcb4b..0000000 Binary files a/php/sasl2/saslANONYMOUS.dll and /dev/null differ diff --git a/php/sasl2/saslCRAMMD5.dll b/php/sasl2/saslCRAMMD5.dll deleted file mode 100644 index bef43c4..0000000 Binary files a/php/sasl2/saslCRAMMD5.dll and /dev/null differ diff --git a/php/sasl2/saslDIGESTMD5.dll b/php/sasl2/saslDIGESTMD5.dll deleted file mode 100644 index 4f162c2..0000000 Binary files a/php/sasl2/saslDIGESTMD5.dll and /dev/null differ diff --git a/php/sasl2/saslLOGIN.dll b/php/sasl2/saslLOGIN.dll deleted file mode 100644 index 0fa6134..0000000 Binary files a/php/sasl2/saslLOGIN.dll and /dev/null differ diff --git a/php/sasl2/saslNTLM.dll b/php/sasl2/saslNTLM.dll deleted file mode 100644 index 5750d8c..0000000 Binary files a/php/sasl2/saslNTLM.dll and /dev/null differ diff --git a/php/sasl2/saslOTP.dll b/php/sasl2/saslOTP.dll deleted file mode 100644 index d16a629..0000000 Binary files a/php/sasl2/saslOTP.dll and /dev/null differ diff --git a/php/sasl2/saslPLAIN.dll b/php/sasl2/saslPLAIN.dll deleted file mode 100644 index ff353b9..0000000 Binary files a/php/sasl2/saslPLAIN.dll and /dev/null differ diff --git a/php/sasl2/saslSASLDB.dll b/php/sasl2/saslSASLDB.dll deleted file mode 100644 index fb83cf1..0000000 Binary files a/php/sasl2/saslSASLDB.dll and /dev/null differ diff --git a/php/sasl2/saslSCRAM.dll b/php/sasl2/saslSCRAM.dll deleted file mode 100644 index e511dcb..0000000 Binary files a/php/sasl2/saslSCRAM.dll and /dev/null differ diff --git a/php/sasl2/saslSQLITE.dll b/php/sasl2/saslSQLITE.dll deleted file mode 100644 index c09a1a0..0000000 Binary files a/php/sasl2/saslSQLITE.dll and /dev/null differ diff --git a/php/snapshot.txt b/php/snapshot.txt index d2fae01..a8d0f3a 100644 --- a/php/snapshot.txt +++ b/php/snapshot.txt @@ -1,9 +1,9 @@ This snapshot was automatically generated on -Wed, 31 Jan 2018 20:10:35 +0000 +Tue, 06 Dec 2022 15:54:55 +0000 -Version: 7.2.2 +Version: 8.2.0 Branch: HEAD -Build: C:\php-snap-build\php72\vc15\x64\obj\Release +Build: D:\a\php-ftw\php-ftw\php\vs16\x64\obj\Release Built-in Extensions =========================== @@ -16,7 +16,6 @@ filter hash iconv json -mcrypt SPL pcre readline @@ -33,7 +32,6 @@ PDO openssl SimpleXML xml -wddx xmlreader xmlwriter curl @@ -47,50 +45,101 @@ mysqli Dependency information: Module: php_curl.dll =========================== + libcrypto-3-x64.dll + libssl-3-x64.dll libssh2.dll nghttp2.dll - libcrypto-1_1-x64.dll - libssl-1_1-x64.dll + +Module: libssl-3-x64.dll +=========================== + libcrypto-3-x64.dll + +Module: libssh2.dll +=========================== + libcrypto-3-x64.dll Module: php_enchant.dll =========================== - libenchant.dll + libenchant2.dll + +Module: libenchant2.dll +=========================== + glib-2.dll + gmodule-2.dll + +Module: gmodule-2.dll +=========================== + glib-2.dll Module: php_ftp.dll =========================== - libcrypto-1_1-x64.dll - libssl-1_1-x64.dll + libcrypto-3-x64.dll + libssl-3-x64.dll Module: php_intl.dll =========================== - icuuc60.dll - icuin60.dll - icuio60.dll + icuuc71.dll + icuin71.dll + icuio71.dll + vcruntime140_1.dll + +Module: icuuc71.dll +=========================== + icudt71.dll + vcruntime140_1.dll + +Module: icuin71.dll +=========================== + icuuc71.dll + vcruntime140_1.dll + +Module: icuio71.dll +=========================== + icuuc71.dll + icuin71.dll + vcruntime140_1.dll Module: php_ldap.dll =========================== libsasl.dll - libcrypto-1_1-x64.dll - libssl-1_1-x64.dll + libcrypto-3-x64.dll + libssl-3-x64.dll + +Module: libsasl.dll +=========================== + libcrypto-3-x64.dll Module: php_openssl.dll =========================== - libcrypto-1_1-x64.dll - libssl-1_1-x64.dll + libcrypto-3-x64.dll + libssl-3-x64.dll Module: php_pgsql.dll =========================== libpq.dll +Module: libpq.dll +=========================== + libssl-3-x64.dll + libcrypto-3-x64.dll + Module: php_snmp.dll =========================== - libcrypto-1_1-x64.dll + libcrypto-3-x64.dll Module: php_sodium.dll =========================== libsodium.dll +Module: php_sqlite3.dll +=========================== + libsqlite3.dll + Module: php_pdo_pgsql.dll =========================== libpq.dll +Module: php_pdo_sqlite.dll +=========================== + libsqlite3.dll + diff --git a/runphp.js b/runphp.js index 398f3e8..49ed09f 100644 --- a/runphp.js +++ b/runphp.js @@ -18,10 +18,7 @@ bat.on('exit', (code) => { console.log(`Child exited with code ${code}`); }); } -////////////////////////////////////// -// PHP SERVER CREATION ///// -/* const PHPServer = require('php-server-manager'); const server = new PHPServer({ @@ -32,5 +29,3 @@ const server = new PHPServer({ } }); -*/ -//////////////////////////