Anatol Belski
282581ee8c
Merge branch 'PHP-7.3'
...
* PHP-7.3:
Remove BOM
2018-12-11 00:39:55 +01:00
Anatol Belski
7dc1c7f630
Remove BOM
2018-12-11 00:38:54 +01:00
Dmitry Stogov
f6d227ed4f
Implemented preloading RFC: https://wiki.php.net/rfc/preload .
...
Squashed commit of the following:
commit 106c815fffb8eb3efe00a27a5229cb1f8ffc9736
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Nov 14 16:36:44 2018 +0300
Added NEWS entry
commit 1dacd5e20b7043368ef9e80db296d1781134b6fd
Merge: d516139abf ba99aa133c
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Nov 14 16:33:37 2018 +0300
Merge branch 'master' into preload
* master:
Fixed issues related to optimization and persitence of classes linked with interfaces, traits or internal classes.
Added possiblity to avoid signal handlers reinitialization on each request.
commit d516139abf5ffbd495ee6037f1dc04a1cfe588a7
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Nov 14 16:13:15 2018 +0300
Override opcache.preload for testing
commit 162b154d0bbfbaf8ef93975f7e56a1353236903d
Merge: 45fdd034ce
8bda22592e
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Nov 14 15:38:09 2018 +0300
Merge branch 'master' into preload
* master: (34 commits)
Eliminate useless $this related check
Eliminate useless $this related checks
Replace zend_parse_method_parameters() by zend_parse_parameters() and avoid useless checks.
Replace getThis() by EX(This), when additional check is not necessary.
Fixed tests
Validate length on socket_write
Fix compilation on x32
Fix #77141 : Signedness issue in SOAP when precision=-1
Support SQLite3 @name notation
Remove lexer files generated by RE2C
Update libmagic.patch [ci skip]
Update libmagic.patch [ci skip]
Fork test with pcre.jit=0
Rework magic data
Fix regex
Fix regex
Rework magic data
Sync one more upstream libmagic piece
Suppress already used warning
Ignore getaddrinfo failed message
...
commit 45fdd034ce
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Nov 9 13:07:03 2018 +0300
Properly resolve magic method of preloaded classes inherited from internal ones.
commit 34645aeb42
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Nov 8 15:29:17 2018 +0300
Don't preload constants defined during preload script excution.
commit cef0d67c3e
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Nov 7 15:56:54 2018 +0300
Support for class aliasses
commit 08ffc9a552
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Nov 7 15:34:39 2018 +0300
Resolve constants only in linked classes
commit 8d3429cda8
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Nov 6 11:56:39 2018 +0300
Fixed preloading of references to internal classes.
commit 7ae3a47d20
Merge: 9b0a53ed1c
049f239cfc
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Nov 6 11:37:15 2018 +0300
Merge branch 'master' into preload
* master:
Update NEWS [ci skip]
Update NEWS [ci skip]
Update libmagic.patch [ci skip]
Update libmagic.patch [ci skip]
Declare function proto in header
Declare function proto in header
Fix #76825 : Undefined symbols ___cpuid_count
NEWS
Fix : #77110 undefined symbol zend_string_equal_val in C++ build
Fix #77105 : Use position:sticky for <th> in `phpinfo()`
Implement handling for JIT recognition when cross compiling
Backport 7f5f4601
for 7.2
Fix #76348 : WSDL_CACHE_MEMORY causes Segmentation fault
Rework places in libmagic regarding previous CVE-2014-3538 fixes
Change the way JIT availability is checked
Fix a test for ldap extension
Fixed bug #77092
Future-proof email addresses
commit 9b0a53ed1c
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Nov 2 14:54:44 2018 +0300
We don't need preload_restart() here
commit 0bd17bd438
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Nov 2 14:44:30 2018 +0300
EG(*) may be not initializd at this point - use CG(*).
commit b610467051
Merge: 3a9d90f74a
67e0138c0d
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Nov 2 11:33:37 2018 +0300
Merge branch 'master' into preload
* master:
Future-proof email addresses...
Update email addresses. We're still @Zend, but future proofing it...
commit 3a9d90f74a
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Nov 1 15:19:48 2018 +0300
Fexed resolution of method clones
commit aea85c65bd
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Nov 1 11:45:50 2018 +0300
Prevent inlining of method copied from trait
commit 36b644fbb7
Merge: 7a20781d2e
b91690c892
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Nov 1 10:56:02 2018 +0300
Merge branch 'master' into preload
* master:
Fix stray newline that caused this test to fail
Fix session tests that fail if error_log is set
This test needs to log to stdout
Fix error condition
Fixed bug #77081 ftruncate() changes seek pointer in c mode
Fix and improve test case
commit 7a20781d2e
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 31 00:52:46 2018 +0300
Added test
commit 4a57b5d563
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 31 00:50:21 2018 +0300
Fixed preloading of classes linked with traits
commit 68c4f99e23
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Oct 30 16:25:14 2018 +0300
Added test
commit 38ab7ef4cf
Merge: eb6e2c529f
bf38e6c10a
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Oct 30 16:14:39 2018 +0300
Merge branch 'master' into preload
* master:
Keep original value of "prototype"
commit eb6e2c529f
Merge: 562049510f
2fefa8c61e
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Oct 30 15:35:39 2018 +0300
Merge branch 'master' into preload
* master:
Call function_add_ref() in proper place
Updated to version 2018.7 (2018g)
Updated to version 2018.7 (2018g)
Updated to version 2018.7 (2018g)
Reslove inherited op_array references once afrer all optimizations.
commit 562049510f
Merge: e806cb732a
4828fb7b6b
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Oct 30 10:29:49 2018 +0300
Merge branch 'master' into preload
* master:
[ci skip] Update NEWS
[ci skip] Update NEWS
[ci skip] Update NEWS
fix bug #77079
Add missing null initialization
Remove redundant mbfl_string_init calls
Use zend_string for mbstring last encoding cache
commit e806cb732a
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Oct 29 22:32:15 2018 +0300
Fixed double-free
commit 2f697ef8af
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Oct 29 22:07:32 2018 +0300
typo
commit c559f22b3e
Merge: 310631cc05
ea2e67876a
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Oct 29 21:59:27 2018 +0300
Merge branch 'master' into preload
* master:
Stop Apache if PHP wasn't started successful.
Execute zend_post_startup() with module_initialized flag set.
Removed dead code
Fix mb_strrpos() with encoding passed as 3rd param
commit 310631cc05
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Oct 29 16:48:42 2018 +0300
Stop Apache if PHP wasn't started successful.
commit 0a24d7ba8f
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Oct 29 16:25:49 2018 +0300
Avoid use-after-free in main thread
commit 17a3cb4a2a
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Oct 29 15:25:17 2018 +0300
Execute zend_post_startup() with module_initialized flag set.
commit 6d4b22c518
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Oct 29 14:12:20 2018 +0300
Override SAPI.ub_write and SAPI.flush for preloading
commit 386c9d3470
Merge: d7fbb4d402
359f19edc9
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Oct 29 13:49:24 2018 +0300
Merge branch 'master' into preload
* master:
Optimize substr() edge-case conditions
[ci skip] Update UPGRADING
Fix #71592 : External entity processing never fails
Add TIDY_TAG_* constants supported by libtidy 5
Add is_iterable to opcache Optimizer
commit d7fbb4d402
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Oct 26 13:11:54 2018 +0300
Restore preload state if it was already loaded in another process.
commit 0fe9ea1c07
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Oct 26 12:29:06 2018 +0300
Removed dead code
commit 3a2d1bcc1f
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Oct 26 00:19:40 2018 +0300
Support for builds without ZEND_SIGNALS
commit e6b76ecb4b
Merge: 4531fbf931
68694c9997
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Oct 25 23:43:25 2018 +0300
Merge branch 'master' into preload
* master:
Don't wrap php_module_shutdown() with zend_try. executor_globals are released in ZTS build, and this leads to crash.
[ci skip] Fix indentation in UPGRADING.
commit 4531fbf931
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Oct 25 22:44:49 2018 +0300
Disable linking and preloading of classes those parent or one of interface or trait is an internal class.
commit a594a618ce
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Oct 25 22:30:51 2018 +0300
Cleanup
- remove useless ZCSG(saved_map_ptr_last)
- move preloaded classes/functions clean-up code back into better place
commit ab9a40f63c
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Oct 25 20:52:51 2018 +0300
Added support for preloaded classes/functions in ZTS build
commit e3c65db099
Merge: 4f57c1e029
33e777acbf
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Oct 25 20:52:26 2018 +0300
Merge branch 'master' into preload
* master:
Improved shared interned strings handling. The previous implementation worked incorrectly in ZTS build. It changed strings only in function/class tables of one thread. Now all threads gets the same shared interned strings. Also, on shutdown, we don't try to replace SHM interned strings back to process strings, but delay dettachment of SHM instead.
Don't use request heap at shutdown
Don't optimize function if inference failed
Fixed bug #77058
Improve "narrowing" error message
bump versions
commit 4f57c1e029
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Oct 25 15:29:58 2018 +0300
Cleanup (move preload_shutdown() call to better place)
commit 26587a95c0
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Oct 25 14:30:51 2018 +0300
eol
commit d70cb10480
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Oct 25 14:30:20 2018 +0300
cleanup
commit aabe685dbb
Merge: d9fc51bc3b
40808ac41e
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Oct 25 12:42:51 2018 +0300
Merge branch 'master' into preload
* master:
Remove unused var
Remove ext/json parser files generated by bison
Fix run-tests.php for running phpdbg and certain test sections
Normalize .gitignore
commit d9fc51bc3b
Merge: b5ffba0faf
b6ef8998d5
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 24 15:59:24 2018 +0300
Merge branch 'master' into preload
* master:
Fixed reseting of interned strings buffer.
commit b5ffba0faf
Merge: e4a7ef0c43
a404383118
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 24 12:46:28 2018 +0300
Merge branch 'master' into preload
* master:
Fixed build in directory different from source
commit e4a7ef0c43
Merge: 811f20aaa5
d1e14e2cc0
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 24 11:59:43 2018 +0300
Merge branch 'master' into preload
* master: (29 commits)
Make php_plain_files_wrapper to be writable (workaround for swoole)
Remove phpdbg parser files generated by bison
Fix conflicts in phpdbg parser
Refetetch function name on exceptional path to allow better code on fast code path.
fix typo in sysvsem.c
Fixed bug #50675
bump to 7.2.13-dev
[ci skip] Update NEWS wrt. php-7.3.0RC4 tagging
Inlining in the most frequently used code paths
Fixed test failurs introduced by 9c144e0d82
Use persistent strings only for persistent connections
Fix accessibility checks for dynamic properties
Updated to version 2018.6 (2018f)
Updated to version 2018.6 (2018f)
Updated to version 2018.6 (2018f)
Fix arginfo and clean up fpm_get_status
Defragment two Zend related Makefile fragments together
[ci skip] Remove automake and aclocal in comments
Fix #75282 : xmlrpc_encode_request() crashes
Fix tests for ICU 63.1
...
commit 811f20aaa5
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Oct 22 14:10:49 2018 +0300
Added information about preloading to opcache_get_status()
commit 093e8b1bbf
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Oct 19 13:46:23 2018 +0300
Added warning message
commit a2ba970ce3
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Oct 19 13:35:40 2018 +0300
Added test
commit b67e28367c
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Oct 19 13:33:12 2018 +0300
Don't preload functions declared at run-time.
commit b0139dc228
Merge: a609520adb
3fe698b904
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Oct 19 13:23:14 2018 +0300
Merge branch 'master' into preload
* master:
Mark "top-level" functions.
Don't initialize static_member_tables during start-up, when inherit internal classes.
[ci skip] Update NEWS
[ci skip] Update NEWS
[ci skip] Update NEWS
Fix #77035 : The phpize and ./configure create redundant .deps file
Remove outdated PEAR artefacts
Fix tests/output/bug74815.phpt generating errors.log
Revert "Use C++ symbols, when C++11 or upper is compiled"
Use C++ symbols, when C++11 or upper is compiled
Added new line
Remove stamp-h
Move all testing docs to qa.php.net
Fix a typo in UPGRADING.INTERNALS
Fix test when it's run on another drive
[ci skip] Update UPGRADING wrt. tidyp support
Fixed incorrect reallocation
Fix #77027 : tidy::getOptDoc() not available on Windows
Run CI tests under opcache.protect_memory=1
commit a609520adb
Merge: ac8f45f61b
b6ac50f9e6
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 17:01:05 2018 +0300
Merge branch 'master' into preload
* master:
Fixed comment
Micro optimizations
Mark "top-level" classes
commit ac8f45f61b
Merge: 632b30b545
d57cd36e47
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 15:53:41 2018 +0300
Merge branch 'master' into preload
* master:
Immutable clases and op_arrays.
commit 632b30b545
Merge: d33908a99a
cd0c36c3f9
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 15:04:43 2018 +0300
Merge branch 'immutable' into preload
* immutable:
Remove the "auto" encoding
Fixed bug #77025
Add vtbls for EUC-TW encoding
commit cd0c36c3f9
Merge: 4740dabb84
ad6738e886
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 14:43:38 2018 +0300
Merge branch 'master' into immutable
* master:
Remove the "auto" encoding
Fixed bug #77025
Add vtbls for EUC-TW encoding
commit d33908a99a
Merge: 21e0bebca3
4740dabb84
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 14:14:23 2018 +0300
Merge branch 'immutable' into preload
* immutable:
Reverted back ce->iterator_funcs_ptr. Initialize ce->iterator_funcs_ptr fields in immutable classes.
commit 4740dabb84
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 14:12:28 2018 +0300
Reverted back ce->iterator_funcs_ptr. Initialize ce->iterator_funcs_ptr fields in immutable classes.
commit 21e0bebca3
Merge: c78277ae84
ad7a78b253
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 12:29:59 2018 +0300
Merge branch 'immutable' into preload
* immutable:
Added comment
Added type cast
Moved static class members initialization into the proper place.
Removed redundand assertion
Removed duplicate code
Hide offset encoding magic in ZEND_MAP_PTR_IS_OFFSET(), ZEND_MAP_PTR_OFFSET2PTR() and ZEND_MAP_PTR_PTR2OFFSET() macros.
typo
Remove unused variable makefile_am_files
Classify object handlers are required/optional
Add support for getting SKIP_TAGSTART and SKIP_WHITE options
Remove some obsolete config_vars.mk occurrences
Remove bsd_converted from .gitignore
Remove configuration parser and scanners ignores
Remove obsolete buildconf.stamp from .gitignore
[ci skip] Add magicdata.patch exception to .gitignore
Remove outdated ext/spl/examples items from .gitignore
Remove unused test.inc in ext/iconv/tests
commit ad7a78b253
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 11:46:30 2018 +0300
Added comment
commit 0276ea5187
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 11:42:43 2018 +0300
Added type cast
commit c63fc5d5f1
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 11:36:51 2018 +0300
Moved static class members initialization into the proper place.
commit b945548e93
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 11:21:03 2018 +0300
Removed redundand assertion
commit d5a4108840
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 11:19:13 2018 +0300
Removed duplicate code
commit 8dadca8864
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 11:05:43 2018 +0300
Hide offset encoding magic in ZEND_MAP_PTR_IS_OFFSET(), ZEND_MAP_PTR_OFFSET2PTR() and ZEND_MAP_PTR_PTR2OFFSET() macros.
commit 9ef07c88bd
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 10:48:29 2018 +0300
typo
commit a06f0f3d3a
Merge: 94099586ec
3412345ffe
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 10:47:07 2018 +0300
Merge branch 'master' into immutable
* master:
Remove unused variable makefile_am_files
Classify object handlers are required/optional
Add support for getting SKIP_TAGSTART and SKIP_WHITE options
Remove some obsolete config_vars.mk occurrences
Remove bsd_converted from .gitignore
Remove configuration parser and scanners ignores
Remove obsolete buildconf.stamp from .gitignore
[ci skip] Add magicdata.patch exception to .gitignore
Remove outdated ext/spl/examples items from .gitignore
Remove unused test.inc in ext/iconv/tests
commit c78277ae84
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Oct 16 17:25:35 2018 +0300
Preloadsing support for opcache restart
commit f76a955c02
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue Oct 16 13:52:36 2018 +0300
Fixed incorrect signal handlers overriding
commit 0810ce0d81
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Oct 15 23:38:48 2018 +0300
An attempt to implemnt "preloading" ability.
commit 94099586ec
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Oct 15 23:34:01 2018 +0300
Immutable clases and op_arrays
2018-11-14 16:46:05 +03:00
Zeev Suraski
9afce019e0
Future-proof email addresses
2018-11-01 18:35:32 +02:00
Zeev Suraski
67e0138c0d
Future-proof email addresses...
2018-11-01 18:30:28 +02:00
Dmitry Stogov
d57cd36e47
Immutable clases and op_arrays.
...
Squashed commit of the following:
commit cd0c36c3f9
Merge: 4740dabb84
ad6738e886
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 14:43:38 2018 +0300
Merge branch 'master' into immutable
* master:
Remove the "auto" encoding
Fixed bug #77025
Add vtbls for EUC-TW encoding
commit 4740dabb84
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 14:12:28 2018 +0300
Reverted back ce->iterator_funcs_ptr. Initialize ce->iterator_funcs_ptr fields in immutable classes.
commit ad7a78b253
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 11:46:30 2018 +0300
Added comment
commit 0276ea5187
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 11:42:43 2018 +0300
Added type cast
commit c63fc5d5f1
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 11:36:51 2018 +0300
Moved static class members initialization into the proper place.
commit b945548e93
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 11:21:03 2018 +0300
Removed redundand assertion
commit d5a4108840
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 11:19:13 2018 +0300
Removed duplicate code
commit 8dadca8864
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 11:05:43 2018 +0300
Hide offset encoding magic in ZEND_MAP_PTR_IS_OFFSET(), ZEND_MAP_PTR_OFFSET2PTR() and ZEND_MAP_PTR_PTR2OFFSET() macros.
commit 9ef07c88bd
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 10:48:29 2018 +0300
typo
commit a06f0f3d3a
Merge: 94099586ec
3412345ffe
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Oct 17 10:47:07 2018 +0300
Merge branch 'master' into immutable
* master:
Remove unused variable makefile_am_files
Classify object handlers are required/optional
Add support for getting SKIP_TAGSTART and SKIP_WHITE options
Remove some obsolete config_vars.mk occurrences
Remove bsd_converted from .gitignore
Remove configuration parser and scanners ignores
Remove obsolete buildconf.stamp from .gitignore
[ci skip] Add magicdata.patch exception to .gitignore
Remove outdated ext/spl/examples items from .gitignore
Remove unused test.inc in ext/iconv/tests
commit 94099586ec
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon Oct 15 23:34:01 2018 +0300
Immutable clases and op_arrays
2018-10-17 15:52:50 +03:00
Dmitry Stogov
34a491d1ed
Turn accel_activate into module callback.
2018-10-01 14:10:54 +03:00
Dmitry Stogov
fc8d6b6797
Introduced ZEND_COMPILE_IGNORE_OTHER_FILES compiler option, to allow "separate" file compilation (unaffected but previously compiled files), without CG(function_table)/CG(class_table) manipulation.
2018-08-22 13:45:56 +03:00
Dmitry Stogov
cb464a53c8
Use "fastcall" calling convention
2018-04-04 01:12:59 +03:00
Dmitry Stogov
44e1d2f8a9
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Replaced usafe reference from SHM to process memory with SHM to SHM reference.
2018-03-06 03:00:46 +03:00
Dmitry Stogov
020a02ef9d
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Replaced usafe reference from SHM to process memory with SHM to SHM reference.
2018-03-06 02:47:01 +03:00
Dmitry Stogov
50949c9332
Replaced usafe reference from SHM to process memory with SHM to SHM reference.
2018-03-06 02:43:26 +03:00
Dmitry Stogov
f32b7dbc43
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Fixed "opcache.file_cache_fallback" mode.
2018-03-05 16:21:20 +03:00
Dmitry Stogov
a8fbb15311
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Fixed "opcache.file_cache_fallback" mode.
2018-03-05 16:15:38 +03:00
Dmitry Stogov
350082ed71
Fixed "opcache.file_cache_fallback" mode.
...
It's not safe to change value of ZCG(accel_directives).file_cache_only, becuse it might be altered by INI subsystem.
Use global variable instead.
2018-03-05 16:01:43 +03:00
Kalle Sommer Nielsen
34fb94b9f3
Fix macro for Windows
2018-01-04 08:16:20 +01:00
Xinchen Hui
a6519d0514
year++
2018-01-02 12:57:58 +08:00
Xinchen Hui
7a7ec01a49
year++
2018-01-02 12:55:14 +08:00
Xinchen Hui
ccd4716ec7
year++
2018-01-02 12:53:31 +08:00
Nikita Popov
e512305581
Remove opcache.inherited_hack
...
This ini directive has already been ignored since PHP 5.3.
2017-12-18 22:00:54 +01:00
Dmitry Stogov
0acda9103b
Improved shared interned string table implementation (use less memory and more CPU cache friendly)
2017-12-08 19:55:12 +03:00
Anatol Belski
49d9b3013f
Move cwd_state and path related routines to size_t
...
Having `int` there is no real profit in the size or speed, while unsigned
improves security and overall integration. ZPP supplied strings can
be then accepted directly and structs can be still handled with smaller
unsigned types for size reasons, which is safe. Yet some related places
are to go.
basic move tsrm_realpath_r to size_t
fix conditions and sync with affected places
touch ocurrences of php_sys_readlink usage
follow up on phar path handling
remove duplicated check
move zend_resolve_path and related pieces to size_t
touch yet resolve path related places
remove cast
missing pieces
missing piece
yet cleanups for php_sys_readlink for ssize_t
fix wrong return
2017-07-27 20:11:21 +02:00
Dmitry Stogov
f25ecdacf8
shutdown_executor() refactoring (reuse opcache fast request shutdown code)
2017-06-22 01:45:28 +03:00
Xinchen Hui
19befb1ca2
Merge branch 'PHP-7.0' into PHP-7.1
...
* PHP-7.0:
Fixed bug #74663 (Segfault with opcache.memory_protect and validate_timestamp)
2017-05-27 22:43:23 +08:00
Xinchen Hui
60912e66c8
Fixed bug #74663 (Segfault with opcache.memory_protect and validate_timestamp)
2017-05-27 22:42:27 +08:00
Sammy Kaye Powers
dac6c639bb
Update copyright headers to 2017
2017-01-04 11:23:42 -06:00
Sammy Kaye Powers
478f119ab9
Update copyright headers to 2017
2017-01-04 11:14:55 -06:00
Dmitry Stogov
09ac2bf752
Merge branch 'PHP-7.0' into PHP-7.1
...
* PHP-7.0:
"opcache.validate_root" is useless on Windows
2016-11-16 23:20:22 +03:00
Dmitry Stogov
71ee641327
Merge branch 'PHP-5.6' into PHP-7.0
...
* PHP-5.6:
"opcache.validate_root" is useless on Windows
2016-11-16 23:19:56 +03:00
Dmitry Stogov
935d922114
"opcache.validate_root" is useless on Windows
2016-11-16 23:15:14 +03:00
Dmitry Stogov
86460af56c
Merge branch 'PHP-7.0' into PHP-7.1
...
* PHP-7.0:
Fixed bug #69090 (check cached files permissions)
2016-11-16 12:56:15 +03:00
Dmitry Stogov
a1a5b52f3b
Merge branch 'PHP-5.6' into PHP-7.0
...
* PHP-5.6:
Fixed bug #69090 (check cached files permissions)
2016-11-16 12:49:50 +03:00
Dmitry Stogov
ecba563f2f
Fixed bug #69090 (check cached files permissions)
2016-11-16 12:43:10 +03:00
Anatol Belski
3d3f11ede4
Fixed the UTF-8 and long path support in the streams on Windows.
...
Since long the default PHP charset is UTF-8, however the Windows part is
out of step with this important point. The current implementation in PHP
doesn't technically permit to handle UTF-8 filepath and several other
things. Till now, only the ANSI compatible APIs are being used. Here is more
about it
dd317752
%28v=vs.85%29.aspx
The patch fixes not only issues with multibyte filenames under
incompatible codepages, but indirectly also issues with some other multibyte
encodings like BIG5, Shift-JIS, etc. by providing a clean way to access
filenames in UTF-8. Below is a small list of issues from the bug tracker,
that are getting fixed:
https://bugs.php.net/63401
https://bugs.php.net/41199
https://bugs.php.net/50203
https://bugs.php.net/71509
https://bugs.php.net/64699
https://bugs.php.net/64506
https://bugs.php.net/30195
https://bugs.php.net/65358
https://bugs.php.net/61315
https://bugs.php.net/70943
https://bugs.php.net/70903
https://bugs.php.net/63593
https://bugs.php.net/54977
https://bugs.php.net/54028
https://bugs.php.net/43148
https://bugs.php.net/30730
https://bugs.php.net/33350
https://bugs.php.net/35300
https://bugs.php.net/46990
https://bugs.php.net/61309
https://bugs.php.net/69333
https://bugs.php.net/45517
https://bugs.php.net/70551
https://bugs.php.net/50197
https://bugs.php.net/72200
https://bugs.php.net/37672
Yet more related tickets can for sure be found - on bugs.php.net, Stackoverflow
and Github. Some of the bugs are pretty recent, some descend to early
2000th, but the user comments in there last even till today. Just for example,
bug #30195 was opened in 2004, the latest comment in there was made in 2014. It
is certain, that these bugs descend not only to pure PHP use cases, but get also
redirected from the popular PHP based projects. Given the modern systems (and
those supported by PHP) are always based on NTFS, there is no excuse to keep
these issues unresolved.
The internalization approach on Windows is in many ways different from
UNIX and Linux, while it supports and is based on Unicode. It depends on the
current system code page, APIs used and exact kind how the binary was compiled
The locale doesn't affect the way Unicode or ANSI API work. PHP in particular
is being compiled without _UNICODE defined and this is conditioned by the
way we handle strings. Here is more about it
https://msdn.microsoft.com/en-us/library/tsbaswba.aspx
However, with any system code page ANSI functions automatically convert
paths to UTF-16. Paths in some encodings incompatible with the
current system code page, won't work correctly with ANSI APIs. PHP
till now only uses the ANSI Windows APIs.
For example, on a system with the current code page 1252, the paths
in cp1252 are supported and transparently converted to UTF-16 by the
ANSI functions. Once one wants to handle a filepath encoded with cp932 on
that particular system, an ANSI or a POSIX compatible function used in
PHP will produce an erroneous result. When trying to convert that cp932 path
to UTF-8 and passing to the ANSI functions, an ANSI function would
likely interpret the UTF-8 string as some string in the current code page and
create a filepath that represents every single byte of the UTF-8 string.
These behaviors are not only broken but also disregard the documented
INI settings.
This patch solves the issies with the multibyte paths on Windows by
intelligently enforcing the usage of the Unicode aware APIs. For
functions expect Unicode (fe CreateFileW, FindFirstFileW, etc.), arguments
will be converted to UTF-16 wide chars. For functions returning Unicode
aware data (fe GetCurrentDirectoryW, etc.), resulting wide string is
converted back to char's depending on the current PHP charset settings,
either to the current ANSI codepage (this is the behavior prior to this patch)
or to UTF-8 (the default behavior).
In a particular case, users might have to explicitly set
internal_encoding or default_charset, if filenames in ANSI codepage are
necessary. Current tests show no regressions and witness that this will be an
exotic case, the current default UTF-8 encoding is compatible with any
supported system. The dependency libraries are long switching to Unicode APIs,
so some tests were also added for extensions not directly related to streams.
At large, the patch brings over 150 related tests into the core. Those target
and was run on various environments with European, Asian, etc. codepages.
General PHP frameworks was tested and showed no regressions.
The impact on the current C code base is low, the most places affected
are the Windows only places in the three files tsrm_win32.c, zend_virtual_cwd.c
and plain_wrapper.c. The actual implementation of the most of the wide
char supporting functionality is in win32/ioutil.* and win32/codepage.*,
several low level functionsare extended in place to avoid reimplementation for
now. No performance impact was sighted. As previously mentioned, the ANSI APIs
used prior the patch perform Unicode conversions internally. Using the
Unicode APIs directly while doing custom conversions just retains the status
quo. The ways to optimize it are open (fe. by implementing caching for the
strings converted to wide variants).
The long path implementation is user transparent. If a path exceeds the
length of _MAX_PATH, it'll be automatically prefixed with \\?\. The MAXPATHLEN
is set to 2048 bytes.
Appreciation to Pierre Joye, Matt Ficken, @algo13 and others for tips, ideas
and testing.
Thanks.
2016-06-20 12:45:39 +02:00
Dmitry Stogov
0d77222473
Merge branch 'PHP-7.0'
...
* PHP-7.0:
Use PHP_VERSION as OPcahce version
2016-05-17 17:17:09 +03:00
Dmitry Stogov
d41920c57d
Use PHP_VERSION as OPcahce version
2016-05-17 17:16:10 +03:00
Xinchen Hui
4fafd7309c
Merge branch 'PHP-7.0'
...
* PHP-7.0:
This only make sense on *nix
2016-04-12 15:31:35 +08:00
Xinchen Hui
9458f54969
This only make sense on *nix
2016-04-12 15:31:21 +08:00
Anatol Belski
2ead9be91b
Merge branch 'PHP-7.0'
...
* PHP-7.0:
make opcache lockfile path configurable
2016-04-06 13:50:24 +02:00
Fatih ACAR
d54eafb349
make opcache lockfile path configurable
...
Signed-off-by: William Dauchy <william@gandi.net>
Signed-off-by: Baptiste Daroussin <baptiste.daroussin@gandi.net>
Signed-off-by: Fatih Acar <fatih.acar@gandi.net>
2016-04-06 13:29:52 +02:00
Nikita Popov
f57c0b3249
Merge branch 'PHP-7.0'
2016-03-03 16:50:47 +01:00
Nikita Popov
1ac152938c
Move semicolon into TSRMLS_CACHE_EXTERN/DEFINE
...
Also re bug #71575 .
2016-03-03 16:50:01 +01:00
Dmitry Stogov
bbea2ae048
Merge branch 'PHP-7.0'
...
* PHP-7.0:
Fixed process synchronisation problem, that may cause crashes after opcache restart
2016-02-17 13:59:20 +03:00
Dmitry Stogov
d228752939
Fixed process synchronisation problem, that may cause crashes after opcache restart
2016-02-17 13:58:05 +03:00
Lior Kaplan
3d5438bf7b
Merge branch 'PHP-7.0'
...
* PHP-7.0:
Update header to PHP Version 7
Happy new year (Update copyright to 2016)
Happy new year (Update copyright to 2016)
2016-01-01 20:04:31 +02:00
Lior Kaplan
ed35de784f
Merge branch 'PHP-5.6' into PHP-7.0
...
* PHP-5.6:
Happy new year (Update copyright to 2016)
2016-01-01 19:48:25 +02:00
Lior Kaplan
49493a2dcf
Happy new year (Update copyright to 2016)
2016-01-01 19:21:47 +02:00
Dmitry Stogov
d2597ad20b
Improved optimizer dubugging facility
2015-12-09 14:52:00 +03:00
Anatol Belski
4aec8bcfa9
Merge branch 'PHP-7.0'
...
* PHP-7.0:
update NEWS
Fixed bug #71024 Unable to use PHP 7.0 x64 side-by-side with PHP 5.6 x32 on the same server
2015-12-07 22:55:24 +01:00
Anatol Belski
7c981192eb
Fixed bug #71024 Unable to use PHP 7.0 x64 side-by-side with PHP 5.6 x32 on the same server
2015-12-07 22:53:35 +01:00