mirror of
https://github.com/bdnugget/php-src.git
synced 2026-11-11 03:00:49 +00:00
Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6d846a0605 |
No files matched your search
@@ -1,8 +1,8 @@
|
||||
define ____executor_globals
|
||||
if basic_functions_module.zts
|
||||
set $tsrm_ls = ts_resource_ex(0, 0)
|
||||
set $eg = ((zend_executor_globals*) (*((void ***) $tsrm_ls))[executor_globals_id-1])
|
||||
set $cg = ((zend_compiler_globals*) (*((void ***) $tsrm_ls))[compiler_globals_id-1])
|
||||
set $eg = ((zend_executor_globals) (*((void ***) $tsrm_ls))[executor_globals_id-1])
|
||||
set $cg = ((zend_compiler_globals) (*((void ***) $tsrm_ls))[compiler_globals_id-1])
|
||||
else
|
||||
set $eg = executor_globals
|
||||
set $cg = compiler_globals
|
||||
|
||||
-173
@@ -1,173 +0,0 @@
|
||||
ext/mysqlnd/mysqlnd.h ident
|
||||
ext/simplexml/simplexml.c ident
|
||||
ext/iconv/php_iconv.h ident
|
||||
ext/posix/posix.c ident
|
||||
ext/recode/recode.c ident
|
||||
ext/skeleton/create_stubs ident
|
||||
ext/phar/phar/pharcommand.inc ident
|
||||
ext/phar/phar.c ident
|
||||
ext/sysvmsg/sysvmsg.c ident
|
||||
ext/enchant/enchant.c ident
|
||||
ext/reflection/php_reflection.c ident
|
||||
ext/oci8/oci8.c ident
|
||||
ext/dba/libinifile/inifile.c ident
|
||||
ext/dba/libflatfile/flatfile.c ident
|
||||
ext/dba/libcdb/cdb_make.c ident
|
||||
ext/dba/libcdb/cdb.c ident
|
||||
ext/filter/filter.c ident
|
||||
README.input_filter ident
|
||||
run-tests.php ident
|
||||
sapi/nsapi/nsapi.c ident
|
||||
sapi/continuity/capi.c ident
|
||||
Zend/RFCs/002.txt ident
|
||||
Zend/RFCs/003.txt ident
|
||||
NEWS merge=NEWS
|
||||
/ext/bz2/tests/005.phpt -crlf
|
||||
/ext/dom/tests/dom005.phpt -crlf
|
||||
/ext/dom/tests/DOMImplementation_createDocumentType_basic.phpt -crlf
|
||||
/ext/ereg/tests/009.phpt -crlf
|
||||
/ext/iconv/tests/eucjp2sjis.phpt -crlf
|
||||
/ext/iconv/tests/eucjp2utf8.phpt -crlf
|
||||
/ext/iconv/tests/iconv_stream_filter_delimiter.phpt -crlf
|
||||
/ext/iconv/tests/iconv_stream_filter.phpt -crlf
|
||||
/ext/mbstring/tests/mb_split-compat-01.phpt -crlf
|
||||
/ext/phar/tests/005.phpt -crlf
|
||||
/ext/phar/tests/phar_commitwrite.phpt -crlf
|
||||
/ext/phar/tests/phar_create_in_cwd.phpt -crlf
|
||||
/ext/phar/tests/phar_mount.phpt -crlf
|
||||
/ext/reflection/tests/009.phpt -crlf
|
||||
/ext/reflection/tests/025.phpt -crlf
|
||||
/ext/standard/tests/general_functions/highlight_heredoc.phpt -crlf
|
||||
/ext/standard/tests/general_functions/parse_ini_file.phpt -crlf
|
||||
/ext/standard/tests/general_functions/parse_ini_string_002.phpt -crlf
|
||||
/ext/standard/tests/strings/006.phpt -crlf
|
||||
/ext/standard/tests/strings/addslashes_variation2.phpt -crlf
|
||||
/ext/standard/tests/strings/addslashes_variation3.phpt -crlf
|
||||
/ext/standard/tests/strings/bug21453.phpt -crlf
|
||||
/ext/standard/tests/strings/chop_variation3.phpt -crlf
|
||||
/ext/standard/tests/strings/chunk_split_variation11.phpt -crlf
|
||||
/ext/standard/tests/strings/chunk_split_variation12.phpt -crlf
|
||||
/ext/standard/tests/strings/chunk_split_variation4.phpt -crlf
|
||||
/ext/standard/tests/strings/crc32_variation2.phpt -crlf
|
||||
/ext/standard/tests/strings/crc32_variation3.phpt -crlf
|
||||
/ext/standard/tests/strings/crc32_variation4.phpt -crlf
|
||||
/ext/standard/tests/strings/highlight_file.phpt -crlf
|
||||
/ext/standard/tests/strings/htmlentities_html4.phpt -crlf
|
||||
/ext/standard/tests/strings/lcfirst.phpt -crlf
|
||||
/ext/standard/tests/strings/ltrim.phpt -crlf
|
||||
/ext/standard/tests/strings/nl2br_variation2.phpt -crlf
|
||||
/ext/standard/tests/strings/php_strip_whitespace.phpt -crlf
|
||||
/ext/standard/tests/strings/rtrim.phpt -crlf
|
||||
/ext/standard/tests/strings/sprintf_f_2.phpt -crlf
|
||||
/ext/standard/tests/strings/sprintf_variation15.phpt -crlf
|
||||
/ext/standard/tests/strings/strcspn_variation6.phpt -crlf
|
||||
/ext/standard/tests/strings/strcspn_variation7.phpt -crlf
|
||||
/ext/standard/tests/strings/strcspn_variation8.phpt -crlf
|
||||
/ext/standard/tests/strings/stripos_variation1.phpt -crlf
|
||||
/ext/standard/tests/strings/stripos_variation3.phpt -crlf
|
||||
/ext/standard/tests/strings/stripos_variation4.phpt -crlf
|
||||
/ext/standard/tests/strings/stripos_variation5.phpt -crlf
|
||||
/ext/standard/tests/strings/stripos_variation6.phpt -crlf
|
||||
/ext/standard/tests/strings/stripslashes_variation2.phpt -crlf
|
||||
/ext/standard/tests/strings/stripslashes_variation3.phpt -crlf
|
||||
/ext/standard/tests/strings/stripslashes_variation4.phpt -crlf
|
||||
/ext/standard/tests/strings/stripslashes_variation5.phpt -crlf
|
||||
/ext/standard/tests/strings/str_ireplace.phpt -crlf
|
||||
/ext/standard/tests/strings/strnatcmp_basic.phpt -crlf
|
||||
/ext/standard/tests/strings/strncasecmp_variation9.phpt -crlf
|
||||
/ext/standard/tests/strings/strpos.phpt -crlf
|
||||
/ext/standard/tests/strings/strrchr_variation1.phpt -crlf
|
||||
/ext/standard/tests/strings/strrchr_variation2.phpt -crlf
|
||||
/ext/standard/tests/strings/strrchr_variation3.phpt -crlf
|
||||
/ext/standard/tests/strings/strrchr_variation4.phpt -crlf
|
||||
/ext/standard/tests/strings/strrchr_variation6.phpt -crlf
|
||||
/ext/standard/tests/strings/strrchr_variation7.phpt -crlf
|
||||
/ext/standard/tests/strings/str_replace.phpt -crlf
|
||||
/ext/standard/tests/strings/strrev_variation3.phpt -crlf
|
||||
/ext/standard/tests/strings/strrev_variation4.phpt -crlf
|
||||
/ext/standard/tests/strings/strripos_variation1.phpt -crlf
|
||||
/ext/standard/tests/strings/strripos_variation2.phpt -crlf
|
||||
/ext/standard/tests/strings/strripos_variation3.phpt -crlf
|
||||
/ext/standard/tests/strings/strripos_variation4.phpt -crlf
|
||||
/ext/standard/tests/strings/strripos_variation5.phpt -crlf
|
||||
/ext/standard/tests/strings/strrpos_variation1.phpt -crlf
|
||||
/ext/standard/tests/strings/strrpos_variation2.phpt -crlf
|
||||
/ext/standard/tests/strings/strrpos_variation3.phpt -crlf
|
||||
/ext/standard/tests/strings/strrpos_variation4.phpt -crlf
|
||||
/ext/standard/tests/strings/strrpos_variation5.phpt -crlf
|
||||
/ext/standard/tests/strings/strrpos_variation6.phpt -crlf
|
||||
/ext/standard/tests/strings/strspn_variation5.phpt -crlf
|
||||
/ext/standard/tests/strings/strspn_variation6.phpt -crlf
|
||||
/ext/standard/tests/strings/strspn_variation7.phpt -crlf
|
||||
/ext/standard/tests/strings/strspn_variation8.phpt -crlf
|
||||
/ext/standard/tests/strings/strstr.phpt -crlf
|
||||
/ext/standard/tests/strings/strtok_variation1.phpt -crlf
|
||||
/ext/standard/tests/strings/strtok_variation3.phpt -crlf
|
||||
/ext/standard/tests/strings/strtr_variation1.phpt -crlf
|
||||
/ext/standard/tests/strings/strtr_variation2.phpt -crlf
|
||||
/ext/standard/tests/strings/str_word_count.phpt -crlf
|
||||
/ext/standard/tests/strings/trim1.phpt -crlf
|
||||
/ext/standard/tests/strings/ucfirst.phpt -crlf
|
||||
/ext/standard/tests/strings/vfprintf_variation10.phpt -crlf
|
||||
/ext/standard/tests/strings/vfprintf_variation12.phpt -crlf
|
||||
/ext/standard/tests/strings/vfprintf_variation16.phpt -crlf
|
||||
/ext/standard/tests/strings/vfprintf_variation18.phpt -crlf
|
||||
/ext/standard/tests/strings/vfprintf_variation4.phpt -crlf
|
||||
/ext/standard/tests/strings/vfprintf_variation6.phpt -crlf
|
||||
/ext/standard/tests/strings/vfprintf_variation7.phpt -crlf
|
||||
/ext/standard/tests/strings/vfprintf_variation8.phpt -crlf
|
||||
/ext/standard/tests/strings/vprintf_variation10.phpt -crlf
|
||||
/ext/standard/tests/strings/vprintf_variation12.phpt -crlf
|
||||
/ext/standard/tests/strings/vprintf_variation14.phpt -crlf
|
||||
/ext/standard/tests/strings/vprintf_variation18.phpt -crlf
|
||||
/ext/standard/tests/strings/vprintf_variation4.phpt -crlf
|
||||
/ext/standard/tests/strings/vprintf_variation6.phpt -crlf
|
||||
/ext/standard/tests/strings/vprintf_variation7.phpt -crlf
|
||||
/ext/standard/tests/strings/vprintf_variation8.phpt -crlf
|
||||
/ext/standard/tests/strings/vsprintf_variation10.phpt -crlf
|
||||
/ext/standard/tests/strings/vsprintf_variation12.phpt -crlf
|
||||
/ext/standard/tests/strings/vsprintf_variation14.phpt -crlf
|
||||
/ext/standard/tests/strings/vsprintf_variation16.phpt -crlf
|
||||
/ext/standard/tests/strings/vsprintf_variation4.phpt -crlf
|
||||
/ext/standard/tests/strings/vsprintf_variation6.phpt -crlf
|
||||
/ext/standard/tests/strings/vsprintf_variation7.phpt -crlf
|
||||
/ext/standard/tests/strings/vsprintf_variation8.phpt -crlf
|
||||
/ext/standard/tests/strings/wordwrap.phpt -crlf
|
||||
/ext/tidy/tests/010.phpt -crlf
|
||||
/ext/tidy/tests/012.phpt -crlf
|
||||
/ext/tidy/tests/025.phpt -crlf
|
||||
/ext/tidy/tests/030.phpt -crlf
|
||||
/ext/tokenizer/tests/bug26463.phpt -crlf
|
||||
/ext/tokenizer/tests/token_get_all_variation12.phpt -crlf
|
||||
/ext/tokenizer/tests/token_get_all_variation13.phpt -crlf
|
||||
/ext/tokenizer/tests/token_get_all_variation14.phpt -crlf
|
||||
/ext/tokenizer/tests/token_get_all_variation15.phpt -crlf
|
||||
/ext/tokenizer/tests/token_get_all_variation16.phpt -crlf
|
||||
/ext/tokenizer/tests/token_get_all_variation17.phpt -crlf
|
||||
/ext/tokenizer/tests/token_get_all_variation18.phpt -crlf
|
||||
/ext/tokenizer/tests/token_get_all_variation19.phpt -crlf
|
||||
/ext/tokenizer/tests/token_get_all_variation4.phpt -crlf
|
||||
/ext/tokenizer/tests/token_get_all_variation5.phpt -crlf
|
||||
/ext/tokenizer/tests/token_get_all_variation6.phpt -crlf
|
||||
/ext/tokenizer/tests/token_get_all_variation7.phpt -crlf
|
||||
/ext/tokenizer/tests/token_get_all_variation8.phpt -crlf
|
||||
/ext/tokenizer/tests/token_get_all_variation9.phpt -crlf
|
||||
/ext/xml/tests/bug26614_libxml.phpt -crlf
|
||||
/ext/xmlwriter/tests/004.phpt -crlf
|
||||
/ext/xmlwriter/tests/OO_004.phpt -crlf
|
||||
/ext/zlib/tests/005.phpt -crlf
|
||||
/ext/zlib/tests/gzfile_basic2.phpt -crlf
|
||||
/ext/zlib/tests/gzfile_basic.phpt -crlf
|
||||
/ext/zlib/tests/gzfilegzreadfile.phpt -crlf
|
||||
/ext/zlib/tests/readgzfile_basic2.phpt -crlf
|
||||
/ext/zlib/tests/readgzfile_basic.phpt -crlf
|
||||
/sapi/cli/tests/014.phpt -crlf
|
||||
/tests/run-test/test010.phpt -crlf
|
||||
/Zend/tests/bug35655.phpt -crlf
|
||||
/Zend/tests/bug48930.phpt -crlf
|
||||
/Zend/tests/bug61095.phpt -crlf
|
||||
/Zend/tests/heredoc_017.phpt -crlf
|
||||
/Zend/tests/heredoc_018.phpt -crlf
|
||||
/Zend/tests/nowdoc_013.phpt -crlf
|
||||
/Zend/tests/nowdoc_014.phpt -crlf
|
||||
/Zend/tests/nowdoc_015.phpt -crlf
|
||||
-254
@@ -1,254 +0,0 @@
|
||||
# General Ignores
|
||||
*~
|
||||
.#*
|
||||
*.
|
||||
*.slo
|
||||
*.mk
|
||||
*.mem
|
||||
*.gcda
|
||||
*.gcno
|
||||
*.la
|
||||
*.lo
|
||||
*.o
|
||||
*.a
|
||||
*.ncb
|
||||
*.opt
|
||||
*.plg
|
||||
*swp
|
||||
*.patch
|
||||
*.tgz
|
||||
*.tar.gz
|
||||
*.tar.bz2
|
||||
.FBCIndex
|
||||
.FBCLockFolder
|
||||
.deps
|
||||
.libs
|
||||
phpt.*
|
||||
core
|
||||
dynlib.m4
|
||||
Debug
|
||||
Debug_TS
|
||||
Makefile
|
||||
Makefile.fragments
|
||||
Makefile.objects
|
||||
Release
|
||||
Release_TS
|
||||
Release_TSDbg
|
||||
Release_TS_inline
|
||||
Release_inline
|
||||
ZendEngine1
|
||||
_libs
|
||||
acconfig.h
|
||||
aclocal.m4
|
||||
autom4te.cache
|
||||
bsd_converted
|
||||
buildconf.stamp
|
||||
buildmk.stamp
|
||||
confdefs.h
|
||||
config.h
|
||||
config.guess
|
||||
config.cache
|
||||
config.h.in
|
||||
config.log
|
||||
config.nice
|
||||
config.nice.bat
|
||||
config.status
|
||||
config.sub
|
||||
config_vars.mk
|
||||
configuration-parser.c
|
||||
configuration-parser.h
|
||||
configuration-parser.output
|
||||
configuration-scanner.c
|
||||
configure
|
||||
configure.bat
|
||||
configure.js
|
||||
conftest
|
||||
conftest.c
|
||||
debug.log
|
||||
diff
|
||||
generated_lists
|
||||
include
|
||||
install-sh
|
||||
internal_functions.c
|
||||
lcov_data
|
||||
lcov_html
|
||||
libs
|
||||
libtool
|
||||
meta_cc
|
||||
meta_ccld
|
||||
missing
|
||||
mkinstalldirs
|
||||
modules
|
||||
php
|
||||
php-*.tar.gz
|
||||
php5.spec
|
||||
php_lcov.info
|
||||
php_test_results_*.txt
|
||||
php_version.h
|
||||
results.txt
|
||||
shlibtool
|
||||
stamp-h
|
||||
test.php3
|
||||
tmp-php.ini
|
||||
want_dependencies
|
||||
x64
|
||||
stamp-h.in
|
||||
scan_makefile_in.awk
|
||||
TSRM/tsrm_config.h
|
||||
Zend/zend_config.h
|
||||
Zend/zend_ini_parser.c
|
||||
Zend/zend_ini_parser.h
|
||||
Zend/zend_ini_parser.output
|
||||
Zend/zend_language_parser.c
|
||||
Zend/zend_language_parser.h
|
||||
Zend/zend_language_parser.output
|
||||
ext/date/lib/timelib_config.h
|
||||
ext/iconv/php_iconv_aliased_libiconv.h
|
||||
ext/phar/phar.php
|
||||
main/php_config.h
|
||||
main/php_config.h.in
|
||||
|
||||
# Test specific Ignores
|
||||
tests/*/*.diff
|
||||
tests/*/*.out
|
||||
tests/*/*.php
|
||||
tests/*/*.exp
|
||||
tests/*/*.log
|
||||
tests/*/*.sh
|
||||
*/tests/*.diff
|
||||
*/tests/*.out
|
||||
*/tests/*.php
|
||||
*/tests/*.exp
|
||||
*/tests/*.log
|
||||
*/tests/*.sh
|
||||
*/tests/*/*.diff
|
||||
*/tests/*/*.out
|
||||
*/tests/*/*.php
|
||||
*/tests/*/*.exp
|
||||
*/tests/*/*.log
|
||||
*/tests/*/*.sh
|
||||
*/*/tests/*.diff
|
||||
*/*/tests/*.out
|
||||
*/*/tests/*.php
|
||||
*/*/tests/*.exp
|
||||
*/*/tests/*.log
|
||||
*/*/tests/*.sh
|
||||
*/*/tests/*/*.diff
|
||||
*/*/tests/*/*.out
|
||||
*/*/tests/*/*.php
|
||||
*/*/tests/*/*.exp
|
||||
*/*/tests/*/*.log
|
||||
*/*/tests/*/*.sh
|
||||
|
||||
# Extension specifc ignores
|
||||
ext/*/configure.in
|
||||
ext/*/ltmain.sh
|
||||
ext/*/libs.mk
|
||||
ext/*/build
|
||||
ext/*/scan_makefile_in.awk
|
||||
ext/*/Makefile.global
|
||||
ext/*/acinclude.m4
|
||||
ext/*/config.sub
|
||||
|
||||
# Extension specific
|
||||
ext/iconv/scan_makefile_in.awk
|
||||
ext/iconv/php_have_bsd_iconv.h
|
||||
ext/iconv/php_have_ibm_iconv.h
|
||||
ext/iconv/php_have_libiconv.h
|
||||
ext/iconv/php_php_iconv_h_path.h
|
||||
ext/iconv/php_have_glibc_iconv.h
|
||||
ext/iconv/php_php_iconv_impl.h
|
||||
ext/iconv/php_have_iconv.h
|
||||
ext/iconv/php_iconv_supports_errno.h
|
||||
ext/mbstring/libmbfl/Makefile.in
|
||||
ext/mbstring/libmbfl/autoscan.log
|
||||
ext/mbstring/libmbfl/config.sub
|
||||
ext/mbstring/libmbfl/depcomp
|
||||
ext/mbstring/libmbfl/ltmain.sh
|
||||
ext/mbstring/libmbfl/stamp-h1
|
||||
ext/mbstring/libmbfl/*.dll
|
||||
ext/mbstring/libmbfl/*.lib
|
||||
ext/mbstring/libmbfl/*.RES
|
||||
ext/mbstring/libmbfl/*.res
|
||||
ext/mbstring/libmbfl/*.obj
|
||||
ext/mbstring/libmbfl/*.tds
|
||||
ext/mbstring/libmbfl/filters/Makefile.in
|
||||
ext/mbstring/libmbfl/mbfl/Makefile.in
|
||||
ext/mbstring/libmbfl/mbfl/EastAsianWidth.txt
|
||||
ext/mbstring/libmbfl/nls/Makefile.in
|
||||
ext/mssql/#*#
|
||||
ext/mssql/Makefile.global
|
||||
ext/mssql/acinclude.m4
|
||||
ext/mssql/config.sub
|
||||
ext/mssql/configure.in
|
||||
ext/mssql/ltmain.sh
|
||||
ext/mysql/weztest.sqlite
|
||||
ext/oci8/tests/*.tmp
|
||||
ext/oci8/tests/*.vglog
|
||||
ext/pdo/conftest*
|
||||
ext/pdo/tests/*.db
|
||||
ext/pdo/tests/*.tmp
|
||||
ext/pdo_firebird/conftest*
|
||||
ext/pdo_mysql/conftest*
|
||||
ext/pdo_mysql/tests/*.db
|
||||
ext/pdo_mysql/tests/*.tmp
|
||||
ext/pdo_oci/conftest*
|
||||
ext/pdo_odbc/tests/*.db
|
||||
ext/pdo_odbc/tests/*.tmp
|
||||
ext/pdo_odbc/tests/*.mdb
|
||||
ext/pdo_pgsql/conftest*
|
||||
ext/pdo_pgsql/tests/*.db
|
||||
ext/pdo_pgsql/tests/*.tmp
|
||||
ext/pdo_sqlite/conftest*
|
||||
ext/pdo_sqlite/sqlite3.h
|
||||
ext/pdo_sqlite/tests/*.db
|
||||
ext/pdo_sqlite/tests/*.tmp
|
||||
ext/phar/phar.phar
|
||||
ext/pspell/tests/*.tmp
|
||||
ext/reflection/xml
|
||||
ext/reflection/html
|
||||
ext/reflection/spl.chm
|
||||
ext/simplexml/examples/security.new.xml
|
||||
ext/spl/examples/.htaccess
|
||||
ext/spl/examples/*.phps
|
||||
ext/sqlite/weztest.sqlite
|
||||
ext/sqlite/libsqlite/src/sqlite.h
|
||||
ext/sqlite/libsqlite/src/parse.out
|
||||
ext/sqlite/libsqlite/src/libsqlite.dsw
|
||||
ext/sqlite3/tests/phpsql*
|
||||
ext/sqlite3/tests/*.db
|
||||
ext/sqlite3/tests/*.tmp
|
||||
ext/standard/tests/misc/*.txt
|
||||
ext/standard/tests/strings/*.txt
|
||||
main/build-defs.h
|
||||
main/internal_functions_cli.c
|
||||
main/config.w32.h
|
||||
main/stamp-h1
|
||||
main/streams/build-defs.h
|
||||
main/streams/stamp-h1
|
||||
pear/install-pear-nozlib.phar
|
||||
pear/phpize
|
||||
pear/run-tests
|
||||
pear/php-config
|
||||
pear/scripts
|
||||
sapi/apache/libphp5.module
|
||||
sapi/apache2handler/libphp5.module
|
||||
sapi/apache_hooks/libphp5.module
|
||||
sapi/cgi/php-cgi
|
||||
sapi/cli/php.1
|
||||
sapi/fpm/php-fpm
|
||||
sapi/fpm/php-fpm.1
|
||||
sapi/fpm/init.d.php-fpm
|
||||
sapi/fpm/php-fpm.conf
|
||||
sapi/fpm/fpm/php-cgi
|
||||
scripts/php-config
|
||||
scripts/phpize
|
||||
scripts/man1/*.1
|
||||
win32/*.suo
|
||||
win32/*.aps
|
||||
win32/*.positions
|
||||
win32/ext
|
||||
win32/phpts.def
|
||||
win32/wsyslog.h
|
||||
win32/win32.dsp
|
||||
win32/php.dsw
|
||||
+1
-1
@@ -337,7 +337,7 @@ MAINTENANCE: Maintained
|
||||
STATUS: Working
|
||||
-------------------------------------------------------------------------------
|
||||
EXTENSION: curl
|
||||
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>, Ilia Alshanetsky <iliaa@php.net>, Pierrick Charron <pierrick@php.net>
|
||||
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>,Ilia Alshanetsky <iliaa@php.net>
|
||||
MAINTENANCE: Maintained
|
||||
STATUS: Working
|
||||
SINCE: 4.0.2
|
||||
|
||||
+1
-2
@@ -12,8 +12,7 @@ php_lcov.info: lcov-test
|
||||
@rm -rf lcov_data/
|
||||
@$(mkinstalldirs) lcov_data/
|
||||
@echo
|
||||
-@files=`find . -name \*.gcda -o -name \*.gcno -o -name \*.da -o -name \*.h | sed -e 's/^\.\///' | sed -e 's/\.gcda//g' -e 's/\.gcno//g' -e 's/\.da//g' | uniq` ;\
|
||||
for x in $$files; do \
|
||||
-@find . -name \*.gcda -o -name \*.gcno -o -name \*.da -o -name \*.h | sed -e 's/^\.\///' | sed -e 's/\.gcda//g' -e 's/\.gcno//g' -e 's/\.da//g' | uniq | while read x; do \
|
||||
echo -n . ;\
|
||||
y=`echo $$x | sed -e 's!\.libs/!!'`; \
|
||||
dir=lcov_data/`dirname $$x`; \
|
||||
|
||||
@@ -1,252 +1,13 @@
|
||||
PHP NEWS
|
||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||
14 Jun 2012, PHP 5.3.14
|
||||
|
||||
- CLI SAPI:
|
||||
. Fixed bug #61546 (functions related to current script failed when chdir()
|
||||
in cli sapi). (Laruence, reeze.xia@gmail.com)
|
||||
|
||||
- CURL:
|
||||
. Fixed bug #61948 (CURLOPT_COOKIEFILE '' raises open_basedir restriction).
|
||||
(Laruence)
|
||||
|
||||
- COM:
|
||||
. Fixed bug #62146 com_dotnet cannot be built shared. (Johannes)
|
||||
03 Nov 2011, PHP 5.3.9RC1
|
||||
|
||||
- Core:
|
||||
. Fixed CVE-2012-2143. (Solar Designer)
|
||||
. Fixed bug #62005 (unexpected behavior when incrementally assigning to a
|
||||
member of a null object). (Laruence)
|
||||
. Fixed bug #61730 (Segfault from array_walk modifying an array passed by
|
||||
reference). (Laruence)
|
||||
. Fixed missing bound check in iptcparse(). (chris at chiappa.net)
|
||||
. Fixed bug #61764 ('I' unpacks n as signed if n > 2^31-1 on LP64). (Gustavo)
|
||||
. Fixed bug #54197 ([PATH=] sections incompatibility with user_ini.filename
|
||||
set to null). (Anatoliy)
|
||||
. Fixed bug #61713 (Logic error in charset detection for htmlentities).
|
||||
(Anatoliy)
|
||||
. Fixed bug #61991 (long overflow in realpath_cache_get()). (Anatoliy)
|
||||
. Changed php://fd to be available only for CLI.
|
||||
|
||||
- Fileinfo:
|
||||
. Fixed bug #61812 (Uninitialised value used in libmagic).
|
||||
(Laruence, Gustavo)
|
||||
|
||||
- Iconv extension:
|
||||
. Fixed a bug that iconv extension fails to link to the correct library
|
||||
when another extension makes use of a library that links to the iconv
|
||||
library. See https://bugs.gentoo.org/show_bug.cgi?id=364139 for detail.
|
||||
(Moriyoshi)
|
||||
|
||||
- Intl:
|
||||
. Fixed bug #62082 (Memory corruption in internal function
|
||||
get_icu_disp_value_src_php()). (Gustavo)
|
||||
|
||||
- JSON
|
||||
. Fixed bug #61537 (json_encode() incorrectly truncates/discards
|
||||
information). (Adam)
|
||||
|
||||
- PDO:
|
||||
. Fixed bug #61755 (A parsing bug in the prepared statements can lead to
|
||||
access violations). (Johannes)
|
||||
|
||||
- Phar:
|
||||
. Fix bug #61065 (Secunia SA44335). (Rasmus)
|
||||
|
||||
- Streams:
|
||||
. Fixed bug #61961 (file_get_contents leaks when access empty file with
|
||||
maxlen set). (Reeze)
|
||||
|
||||
08 May 2012, PHP 5.3.13
|
||||
- CGI
|
||||
. Improve fix for PHP-CGI query string parameter vulnerability, CVE-2012-2311.
|
||||
(Stas)
|
||||
|
||||
03 May 2012, PHP 5.3.12
|
||||
- Fix PHP-CGI query string parameter vulnerability, CVE-2012-1823. (Rasmus)
|
||||
|
||||
26 Apr 2012, PHP 5.3.11
|
||||
|
||||
- Core:
|
||||
. Fixed bug #61650 (ini parser crashes when using ${xxxx} ini variables
|
||||
(without apache2)). (Laruence)
|
||||
. Fixed bug #61273 (call_user_func_array with more than 16333 arguments
|
||||
leaks / crashes). (Laruence)
|
||||
. Fixed bug #61165 (Segfault - strip_tags()). (Laruence)
|
||||
. Improved max_input_vars directive to check nested variables (Dmitry).
|
||||
. Fixed bug #61095 (Incorect lexing of 0x00*+<NUM>). (Etienne)
|
||||
. Fixed bug #61087 (Memory leak in parse_ini_file when specifying
|
||||
invalid scanner mode). (Nikic, Laruence)
|
||||
. Fixed bug #61072 (Memory leak when restoring an exception handler).
|
||||
(Nikic, Laruence)
|
||||
. Fixed bug #61058 (array_fill leaks if start index is PHP_INT_MAX).
|
||||
(Laruence)
|
||||
. Fixed bug #61043 (Regression in magic_quotes_gpc fix for CVE-2012-0831).
|
||||
(Ondřej Surý)
|
||||
. Fixed bug #61000 (Exceeding max nesting level doesn't delete numerical
|
||||
vars). (Laruence)
|
||||
. Fixed bug #60895 (Possible invalid handler usage in windows random
|
||||
functions). (Pierre)
|
||||
. Fixed bug #60825 (Segfault when running symfony 2 tests).
|
||||
(Dmitry, Laruence)
|
||||
. Fixed bug #60801 (strpbrk() mishandles NUL byte). (Adam)
|
||||
. Fixed bug #60569 (Nullbyte truncates Exception $message). (Ilia)
|
||||
. Fixed bug #60227 (header() cannot detect the multi-line header with CR).
|
||||
(rui, Gustavo)
|
||||
. Fixed bug #60222 (time_nanosleep() does validate input params). (Ilia)
|
||||
. Fixed bug #54374 (Insufficient validating of upload name leading to
|
||||
corrupted $_FILES indices). (CVE-2012-1172). (Stas, lekensteyn at
|
||||
gmail dot com, Pierre)
|
||||
. Fixed bug #52719 (array_walk_recursive crashes if third param of the
|
||||
function is by reference). (Nikita Popov)
|
||||
. Fixed bug #51860 (Include fails with toplevel symlink to /). (Dmitry)
|
||||
|
||||
- DOM
|
||||
. Added debug info handler to DOM objects. (Gustavo, Joey Smith)
|
||||
|
||||
- FPM
|
||||
. Fixed bug #61430 (Transposed memset() params in sapi/fpm/fpm/fpm_shm.c).
|
||||
(michaelhood at gmail dot com, Ilia)
|
||||
|
||||
- Ibase
|
||||
. Fixed bug #60947 (Segmentation fault while executing ibase_db_info).
|
||||
(Ilia)
|
||||
|
||||
- Installation
|
||||
. Fixed bug #61172 (Add Apache 2.4 support). (Chris Jones)
|
||||
|
||||
- Fileinfo
|
||||
. Upgraded libmagic to 5.11 (Pierre, Anatoliy)
|
||||
. Fixed bug #61565 where php_stream_open_wrapper_ex tries to open a
|
||||
directory descriptor under windows. (Anatoliy)
|
||||
. Fixed bug #61566 failure caused by the posix lseek and read versions
|
||||
under windows in cdf_read(). (Anatoliy)
|
||||
. Fixed bug #61173 (Unable to detect error from finfo constructor). (Gustavo)
|
||||
|
||||
- Firebird Database extension (ibase):
|
||||
. Fixed bug #60802 (ibase_trans() gives segfault when passing params).
|
||||
|
||||
- Libxml:
|
||||
. Fixed bug #61367 (open_basedir bypass using libxml RSHUTDOWN).
|
||||
(Tim Starling)
|
||||
|
||||
- mysqli
|
||||
. Fixed bug #61003 (mysql_stat() require a valid connection). (Johannes).
|
||||
|
||||
- PDO_mysql
|
||||
. Fixed bug #61207 (PDO::nextRowset() after a multi-statement query doesn't
|
||||
always work). (Johannes)
|
||||
. Fixed bug #61194 (PDO should export compression flag with myslqnd).
|
||||
(Johannes)
|
||||
|
||||
- PDO_odbc
|
||||
. Fixed bug #61212 (PDO ODBC Segfaults on SQL_SUCESS_WITH_INFO). (Ilia)
|
||||
|
||||
- PDO_pgsql
|
||||
. Fixed bug #61267 (pdo_pgsql's PDO::exec() returns the number of SELECTed
|
||||
rows on postgresql >= 9). (ben dot pineau at gmail dot com)
|
||||
|
||||
- PDO_Sqlite extension:
|
||||
. Add createCollation support. (Damien)
|
||||
|
||||
- pgsql:
|
||||
. Fixed bug #60718 (Compile problem with libpq (PostgreSQL 7.3 or less).
|
||||
(Yasuo Ohgaki)
|
||||
|
||||
- Phar:
|
||||
. Fixed bug #61184 (Phar::webPhar() generates headers with trailing NUL
|
||||
bytes). (Nikic)
|
||||
|
||||
- PHP-FPM SAPI:
|
||||
. Fixed bug #60811 (php-fpm compilation problem). (rasmus)
|
||||
|
||||
- Readline:
|
||||
. Fixed bug #61088 (Memory leak in readline_callback_handler_install).
|
||||
(Nikic, Laruence)
|
||||
. Add open_basedir checks to readline_write_history and readline_read_history.
|
||||
(Rasmus, reported by Mateusz Goik)
|
||||
|
||||
- Reflection:
|
||||
. Fixed bug #61388 (ReflectionObject:getProperties() issues invalid reads
|
||||
when get_properties returns a hash table with (inaccessible) dynamic
|
||||
numeric properties). (Gustavo)
|
||||
. Fixed bug #60968 (Late static binding doesn't work with
|
||||
ReflectionMethod::invokeArgs()). (Laruence)
|
||||
|
||||
- SOAP
|
||||
. Fixed basic HTTP authentication for WSDL sub requests. (Dmitry)
|
||||
. Fixed bug #60887 (SoapClient ignores user_agent option and sends no
|
||||
User-Agent header). (carloschilazo at gmail dot com)
|
||||
. Fixed bug #60842, #51775 (Chunked response parsing error when
|
||||
chunksize length line is > 10 bytes). (Ilia)
|
||||
. Fixed bug #49853 (Soap Client stream context header option ignored).
|
||||
(Dmitry)
|
||||
|
||||
- SPL
|
||||
. Fixed memory leak when calling SplFileInfo's constructor twice. (Felipe)
|
||||
. Fixed bug #61418 (Segmentation fault when DirectoryIterator's or
|
||||
FilesystemIterator's iterators are requested more than once without
|
||||
having had its dtor callback called in between). (Gustavo)
|
||||
. Fixed bug #61347 (inconsistent isset behavior of Arrayobject). (Laruence)
|
||||
. Fixed bug #61326 (ArrayObject comparison). (Gustavo)
|
||||
|
||||
- SQLite3 extension:
|
||||
. Add createCollation() method. (Brad Dewar)
|
||||
|
||||
- Session:
|
||||
. Fixed bug #60860 (session.save_handler=user without defined function core
|
||||
dumps). (Felipe)
|
||||
. Fixed bug #60634 (Segmentation fault when trying to die() in
|
||||
SessionHandler::write()). (Ilia)
|
||||
|
||||
- Streams:
|
||||
. Fixed bug #61371 (stream_context_create() causes memory leaks on use
|
||||
streams_socket_create). (Gustavo)
|
||||
. Fixed bug #61253 (Wrappers opened with errors concurrency problem on ZTS).
|
||||
(Gustavo)
|
||||
. Fixed bug #61115 (stream related segfault on fatal error in
|
||||
php_stream_context_link). (Gustavo)
|
||||
. Fixed bug #60817 (stream_get_line() reads from stream even when there is
|
||||
already sufficient data buffered). stream_get_line() now behaves more like
|
||||
fgets(), as is documented. (Gustavo)
|
||||
. Further fix for bug #60455 (stream_get_line misbehaves if EOF is not
|
||||
detected together with the last read). (Gustavo)
|
||||
. Fixed bug #60106 (stream_socket_server silently truncates long unix
|
||||
socket paths). (Ilia)
|
||||
|
||||
- Tidy:
|
||||
. Fixed bug #54682 (tidy null pointer dereference). (Tony, David Soria Parra)
|
||||
|
||||
- XMLRPC:
|
||||
. Fixed bug #61264 (xmlrpc_parse_method_descriptions leaks temporary
|
||||
variable). (Nikita Popov)
|
||||
. Fixed bug #61097 (Memory leak in xmlrpc functions copying zvals). (Nikic)
|
||||
|
||||
- Zlib:
|
||||
. Fixed bug #61139 (gzopen leaks when specifying invalid mode). (Nikic)
|
||||
|
||||
02 Feb 2012, PHP 5.3.10
|
||||
|
||||
- Core:
|
||||
. Fixed arbitrary remote code execution vulnerability reported by Stefan
|
||||
Esser, CVE-2012-0830. (Stas, Dmitry)
|
||||
|
||||
10 Jan 2012, PHP 5.3.9
|
||||
|
||||
- Core:
|
||||
. Added max_input_vars directive to prevent attacks based on hash collisions
|
||||
(CVE-2011-4885) (Dmitry).
|
||||
. Fixed bug #60205 (possible integer overflow in content_length). (Laruence)
|
||||
. Fixed bug #60139 (Anonymous functions create cycles not detected by the
|
||||
GC). (Dmitry)
|
||||
. Fixed bug #60138 (GC crash with referenced array in RecursiveArrayIterator)
|
||||
(Dmitry).
|
||||
. Fixed bug #60120 (proc_open's streams may hang with stdin/out/err when
|
||||
the data exceeds or is equal to 2048 bytes). (Pierre, Pascal Borreli)
|
||||
. Fixed bug #60099 (__halt_compiler() works in braced namespaces). (Felipe)
|
||||
. Fixed bug #60019 (Function time_nanosleep() is undefined on OS X). (Ilia)
|
||||
. Fixed bug #55874 (GCC does not provide __sync_fetch_and_add on some archs).
|
||||
(klightspeed at netspace dot net dot au)
|
||||
. Fixed bug #55798 (serialize followed by unserialize with numeric object
|
||||
prop. gives integer prop). (Gustavo)
|
||||
. Fixed bug #55749 (TOCTOU issue in getenv() on Windows builds). (Pierre)
|
||||
@@ -270,86 +31,22 @@ PHP NEWS
|
||||
. Fixed bug #55366 (keys lost when using substr_replace an array). (Arpad)
|
||||
. Fixed bug #55273 (base64_decode() with strict rejects whitespace after
|
||||
pad). (Ilia)
|
||||
. Fixed bug #52624 (tempnam() by-pass open_basedir with nonnexistent
|
||||
directory). (Felipe)
|
||||
. Fixed bug #50982 (incorrect assumption of PAGE_SIZE size). (Dmitry)
|
||||
. Fixed invalid free in call_user_method() function. (Felipe)
|
||||
. Fixed bug #43200 (Interface implementation / inheritence not possible in
|
||||
abstract classes). (Felipe)
|
||||
|
||||
|
||||
- BCmath:
|
||||
. Fixed bug #60377 (bcscale related crashes on 64bits platforms). (shm)
|
||||
|
||||
- Calendar:
|
||||
. Fixed bug #55797 (Integer overflow in SdnToGregorian leads to segfault (in
|
||||
optimized builds). (Gustavo)
|
||||
|
||||
- cURL:
|
||||
. Fixed bug #60439 (curl_copy_handle segfault when used with
|
||||
CURLOPT_PROGRESSFUNCTION). (Pierrick)
|
||||
- Curl:
|
||||
. Fixed bug #54798 (Segfault when CURLOPT_STDERR file pointer is closed
|
||||
before calling curl_exec). (Hannes)
|
||||
. Fixed issues were curl_copy_handle() would sometimes lose copied
|
||||
preferences. (Hannes)
|
||||
|
||||
- DateTime:
|
||||
. Fixed bug #60373 (Startup errors with log_errors on cause segfault).
|
||||
(Derick)
|
||||
. Fixed bug #60236 (TLA timezone dates are not converted properly from
|
||||
timestamp). (Derick)
|
||||
. Fixed bug #55253 (DateTime::add() and sub() result -1 hour on objects with
|
||||
time zone type 2). (Derick)
|
||||
. Fixed bug #54851 (DateTime::createFromFormat() doesn't interpret "D").
|
||||
(Derick)
|
||||
. Fixed bug #53502 (strtotime with timezone memory leak). (Derick)
|
||||
. Fixed bug #52062 (large timestamps with DateTime::getTimestamp and
|
||||
DateTime::setTimestamp). (Derick)
|
||||
. Fixed bug #51994 (date_parse_from_format is parsing invalid date using 'yz'
|
||||
format). (Derick)
|
||||
. Fixed bug #52113 (Seg fault while creating (by unserialization)
|
||||
DatePeriod). (Derick)
|
||||
. Fixed bug #48476 (cloning extended DateTime class without calling
|
||||
parent::__constr crashed PHP). (Hannes)
|
||||
|
||||
- EXIF:
|
||||
. Fixed bug #60150 (Integer overflow during the parsing of invalid exif
|
||||
header). (CVE-2011-4566) (Stas, flolechaud at gmail dot com)
|
||||
|
||||
- Fileinfo:
|
||||
. Fixed bug #60094 (C++ comment fails in c89). (Laruence)
|
||||
. Fixed possible memory leak in finfo_open(). (Felipe)
|
||||
. Fixed memory leak when calling the Finfo constructor twice. (Felipe)
|
||||
|
||||
- Filter:
|
||||
. Fixed Bug #55478 (FILTER_VALIDATE_EMAIL fails with internationalized
|
||||
domain name addresses containing >1 -). (Ilia)
|
||||
|
||||
- FTP:
|
||||
. Fixed bug #60183 (out of sync ftp responses). (bram at ebskamp dot me,
|
||||
rasmus)
|
||||
|
||||
- Gd:
|
||||
. Fixed bug #60160 (imagefill() doesn't work correctly
|
||||
for small images). (Florian)
|
||||
|
||||
- Intl:
|
||||
. Fixed bug #61487 (Incorrent bounds checking in grapheme_strpos).
|
||||
(Stas)
|
||||
. Fixed bug #60192 (SegFault when Collator not constructed
|
||||
properly). (Florian)
|
||||
. Fixed memory leak in several Intl locale functions. (Felipe)
|
||||
|
||||
- Json:
|
||||
. Fixed bug #55543 (json_encode() with JSON_NUMERIC_CHECK fails on objects
|
||||
with numeric string properties). (Ilia, dchurch at sciencelogic dot com)
|
||||
|
||||
- Mbstring:
|
||||
. Fixed possible crash in mb_ereg_search_init() using empty pattern. (Felipe)
|
||||
|
||||
- MS SQL:
|
||||
. Fixed bug #60267 (Compile failure with freetds 0.91). (Felipe)
|
||||
|
||||
- MySQL:
|
||||
. Fixed bug #55550 (mysql.trace_mode miscounts result sets). (Johannes)
|
||||
|
||||
@@ -365,33 +62,13 @@ PHP NEWS
|
||||
. Fixed bug #55067 (MySQL doesn't support compression - wrong config option).
|
||||
(Andrey)
|
||||
|
||||
- NSAPI SAPI:
|
||||
. Don't set $_SERVER['HTTPS'] on unsecure connection (bug #55403). (Uwe
|
||||
Schindler)
|
||||
|
||||
- OpenSSL:
|
||||
. Fixed bug #60279 (Fixed NULL pointer dereference in
|
||||
stream_socket_enable_crypto, case when ssl_handle of session_stream is not
|
||||
initialized.) (shm)
|
||||
. Fix segfault with older versions of OpenSSL. (Scott)
|
||||
|
||||
- Oracle Database extension (OCI8):
|
||||
. Fixed bug #59985 (show normal warning text for OCI_NO_DATA).
|
||||
. Increased maxium Oracle error message buffer length for new 11.2.0.3 size.
|
||||
(Chris Jones)
|
||||
. Increased maximum Oracle error message buffer length for new 11.2.0.3 size.
|
||||
(Chris Jones)
|
||||
. Improve internal initalization failure error messages. (Chris Jones)
|
||||
|
||||
- PDO
|
||||
. Fixed bug #55776 (PDORow to session bug). (Johannes)
|
||||
|
||||
- PDO Firebird:
|
||||
. Fixed bug #48877 ("bindValue" and "bindParam" do not work for PDO Firebird).
|
||||
(Mariuz)
|
||||
. Fixed bug #47415 (PDO_Firebird segfaults when passing lowercased column name to bindColumn).
|
||||
. Fixed bug #53280 (PDO_Firebird segfaults if query column count less than param count).
|
||||
(Mariuz)
|
||||
|
||||
- PDO MySQL driver:
|
||||
. Fixed bug #60155 (pdo_mysql.default_socket ignored). (Johannes)
|
||||
. Fixed bug #55870 (PDO ignores all SSL parameters when used with mysql
|
||||
@@ -404,87 +81,69 @@ PHP NEWS
|
||||
killed). (mikhail dot v dot gavrilov at gmail dot com, Chris Jones, Tony)
|
||||
|
||||
- Phar:
|
||||
. Fixed bug #60261 (NULL pointer dereference in phar). (Felipe)
|
||||
. Fixed bug #60164 (Stubs of a specific length break phar_open_from_fp
|
||||
scanning for __HALT_COMPILER). (Ralph Schindler)
|
||||
. Fixed bug #53872 (internal corruption of phar). (Hannes)
|
||||
. Fixed bug #52013 (Unable to decompress files in a compressed phar). (Hannes)
|
||||
. Fixed bug #53872 (internal corruption of phar). (Hannes)
|
||||
|
||||
- PHP-FPM SAPI:
|
||||
. Dropped restriction of not setting the same value multiple times, the last
|
||||
one holds. (giovanni at giacobbi dot net, fat)
|
||||
. Added .phar to default authorized extensions. (fat)
|
||||
. Fixed bug #60659 (FPM does not clear auth_user on request accept).
|
||||
(bonbons at linux-vserver dot org)
|
||||
. Fixed bug #60629 (memory corruption when web server closed the fcgi fd).
|
||||
(fat)
|
||||
. Enhance error log when the primary script can't be open. FR #60199. (fat)
|
||||
. Fixed bug #60179 (php_flag and php_value does not work properly). (fat)
|
||||
. Fixed bug #55577 (status.html does not install). (fat)
|
||||
. Fixed bug #55533 (The -d parameter doesn't work). (fat)
|
||||
. Fixed bug #55526 (Heartbeat causes a lot of unnecessary events). (fat)
|
||||
. Fixed bug #55533 (The -d parameter doesn't work). (fat)
|
||||
. Implemented FR #52569 (Add the "ondemand" process-manager
|
||||
to allow zero children). (fat)
|
||||
. Fixed bug #55486 (status show BIG processes number). (fat)
|
||||
. Enhanced security by limiting access to user defined extensions.
|
||||
FR #55181. (fat)
|
||||
. Added process.max to control the number of process FPM can fork. FR #55166.
|
||||
(fat)
|
||||
. Fixed bug #55577 (status.html does not install). (fat)
|
||||
. Backported from 5.4 branch (Dropped restriction of not setting the same
|
||||
value multiple times, the last one holds).
|
||||
(giovanni at giacobbi dot net, fat)
|
||||
. Backported FR #55166 from 5.4 branch (Added process.max to control
|
||||
the number of process FPM can fork). (fat)
|
||||
. Backported FR #55181 from 5.4 branch (Enhance security by limiting access
|
||||
to user defined extensions). (fat)
|
||||
. Backported FR #54098 from 5.4 branch (Lowered process manager
|
||||
default value). (fat)
|
||||
. Backported FR #52052 from 5.4 branch (Added partial syslog support). (fat)
|
||||
. Implemented FR #54577 (Enhanced status page with full status and details
|
||||
about each processes. Also provide a web page (status.html) for
|
||||
real-time FPM status. (fat)
|
||||
. Lowered default value for Process Manager. FR #54098. (fat)
|
||||
. Implemented FR #52569 (Add the "ondemand" process-manager
|
||||
to allow zero children). (fat)
|
||||
. Added partial syslog support (on error_log only). FR #52052. (fat)
|
||||
|
||||
- Postgres:
|
||||
. Fixed bug #60244 (pg_fetch_* functions do not validate that row param
|
||||
is >0). (Ilia)
|
||||
|
||||
- Reflection:
|
||||
. Fixed bug #60367 (Reflection and Late Static Binding). (Laruence)
|
||||
|
||||
- Session:
|
||||
. Fixed bug #55267 (session_regenerate_id fails after header sent). (Hannes)
|
||||
|
||||
- NSAPI SAPI:
|
||||
. Don't set $_SERVER['HTTPS'] on unsecure connection (bug #55403). (Uwe
|
||||
Schindler)
|
||||
|
||||
- SimpleXML:
|
||||
. Reverted the SimpleXML->query() behaviour to returning empty arrays
|
||||
instead of false when no nodes are found as it was since 5.3.3
|
||||
(bug #48601). (chregu, rrichards)
|
||||
|
||||
- SOAP
|
||||
. Fixed bug #54911 (Access to a undefined member in inherit SoapClient may
|
||||
cause Segmentation Fault). (Dmitry)
|
||||
. Fixed bug #48216 (PHP Fatal error: SOAP-ERROR: Parsing WSDL:
|
||||
Extra content at the end of the doc, when server uses chunked transfer
|
||||
encoding with spaces after chunk size). (Dmitry)
|
||||
. Fixed bug #44686 (SOAP-ERROR: Parsing WSDL with references). (Dmitry)
|
||||
|
||||
- Sockets:
|
||||
. Fixed bug #60048 (sa_len a #define on IRIX). (china at thewrittenword dot
|
||||
com)
|
||||
|
||||
- SPL:
|
||||
. Fixed bug #60082 (Crash in ArrayObject() when using recursive references).
|
||||
(Tony)
|
||||
. Fixed bug #55807 (Wrong value for splFileObject::SKIP_EMPTY).
|
||||
(jgotti at modedemploi dot fr, Hannes)
|
||||
. Fixed bug #54304 (RegexIterator::accept() doesn't work with scalar values).
|
||||
(Hannes)
|
||||
|
||||
- Streams:
|
||||
. Fixed bug #60455 (stream_get_line misbehaves if EOF is not detected together
|
||||
with the last read). (Gustavo)
|
||||
|
||||
- Tidy:
|
||||
. Fixed bug #54682 (Tidy::diagnose() NULL pointer dereference).
|
||||
(Maksymilian Arciemowicz, Felipe)
|
||||
|
||||
|
||||
- XSL:
|
||||
. Added xsl.security_prefs ini option to define forbidden operations within
|
||||
XSLT stylesheets, default is not to enable write operations. This option
|
||||
won't be in 5.4, since there's a new method. Fixes Bug #54446. (Chregu,
|
||||
Nicolas Gregoire)
|
||||
|
||||
- Fileinfo:
|
||||
. Fixed bug #60094 (C++ comment fails in c89). (Laruence)
|
||||
|
||||
- FTP:
|
||||
. Fixed bug #60183 (out of sync ftp responses). (bram at ebskamp dot me,
|
||||
rasmus)
|
||||
|
||||
- SAPI:
|
||||
. Fixed bug #60205 (possible integer overflow in content_length). (Laruence)
|
||||
|
||||
|
||||
23 Aug 2011, PHP 5.3.8
|
||||
|
||||
- Core:
|
||||
@@ -608,7 +267,7 @@ PHP NEWS
|
||||
exception and fatal error). (Hannes)
|
||||
|
||||
- DBA extension:
|
||||
. Supress warning on non-existent file open with Berkeley DB 5.2. (Chris Jones)
|
||||
. Supress warning on non-existent file open with Berkeley DB 5.2 (Chris Jones)
|
||||
. Fixed bug #54242 (dba_insert returns true if key already exists). (Felipe)
|
||||
|
||||
- Exif extesion:
|
||||
@@ -677,7 +336,7 @@ PHP NEWS
|
||||
|
||||
- Oracle Database extension (OCI8):
|
||||
. Added oci_client_version() returning the runtime Oracle client library
|
||||
version. (Chris Jones)
|
||||
version (Chris Jones)
|
||||
|
||||
. PCRE extension:
|
||||
. Increased the backtrack limit from 100000 to 1000000 (Rasmus)
|
||||
@@ -976,7 +635,7 @@ PHP NEWS
|
||||
|
||||
- Tokenizer Extension
|
||||
. Fixed bug #54089 (token_get_all() does not stop after __halt_compiler).
|
||||
(Nikita Popov, Ilia)
|
||||
(Ilia)
|
||||
|
||||
- XSL extension:
|
||||
. Fixed memory leaked introduced by the NULL poisoning patch.
|
||||
|
||||
@@ -1,124 +0,0 @@
|
||||
====================
|
||||
Git Commit Rules
|
||||
====================
|
||||
|
||||
This is the first file you should be reading when contributing code via Git.
|
||||
We'll assume you're basically familiar with Git, but feel free to post
|
||||
your questions on the mailing list. Please have a look at
|
||||
http://git-scm.com/ for more detailed information on Git.
|
||||
|
||||
PHP is developed through the efforts of a large number of people.
|
||||
Collaboration is a Good Thing(tm), and Git lets us do this. Thus, following
|
||||
some basic rules with regards to Git usage will::
|
||||
|
||||
a. Make everybody happier, especially those responsible for maintaining
|
||||
Git itself.
|
||||
|
||||
b. Keep the changes consistently well documented and easily trackable.
|
||||
|
||||
c. Prevent some of those 'Oops' moments.
|
||||
|
||||
d. Increase the general level of good will on planet Earth.
|
||||
|
||||
Having said that, here are the organizational rules::
|
||||
|
||||
1. Respect other people working on the project.
|
||||
|
||||
2. Discuss any significant changes on the list before committing and get
|
||||
confirmation from the release manager for the given branch.
|
||||
|
||||
3. Look at EXTENSIONS file to see who is the primary maintainer of
|
||||
the code you want to contribute to.
|
||||
|
||||
4. If you "strongly disagree" about something another person did, don't
|
||||
start fighting publicly - take it up in private email.
|
||||
|
||||
5. If you don't know how to do something, ask first!
|
||||
|
||||
6. Test your changes before committing them. We mean it. Really.
|
||||
To do so use "make test".
|
||||
|
||||
7. For development use the --enable-maintainer-zts switch to ensure your
|
||||
code handles TSRM correctly and doesn't break for those who need that.
|
||||
|
||||
Currently we have the following branches in use::
|
||||
|
||||
master The active development branch.
|
||||
|
||||
PHP-5.4 Is used to release the PHP 5.4.x series. It still allows for
|
||||
larger enhancements.
|
||||
|
||||
PHP-5.3 Is used to release the PHP 5.3.x series. This is current
|
||||
stable version and is open for bugfixes only.
|
||||
|
||||
PHP-5.2 Is used to release the PHP 5.2.x series. It is closed for
|
||||
changes now.
|
||||
|
||||
PHP-5.1 This branch is closed.
|
||||
|
||||
PHP-4.4 This branch is closed.
|
||||
|
||||
The next few rules are more of a technical nature::
|
||||
|
||||
1. All changes should first go to the lowest branch (i.e. 5.3) and then
|
||||
get merged up to all other branches. If a change is not needed for
|
||||
later branches (i.e. fixes for features which where dropped from later
|
||||
branches) an empty merge should be done.
|
||||
|
||||
2. All news updates intended for public viewing, such as new features,
|
||||
bug fixes, improvements, etc., should go into the NEWS file of the
|
||||
*first* to be released version with the given change. In other words
|
||||
any NEWS file change only needs to done in one branch.
|
||||
|
||||
3. Do not commit multiple file and dump all messages in one commit. If you
|
||||
modified several unrelated files, commit each group separately and
|
||||
provide a nice commit message for each one. See example below.
|
||||
|
||||
4. Do write your commit message in such a way that it makes sense even
|
||||
without the corresponding diff. One should be able to look at it, and
|
||||
immediately know what was modified. Definitely include the function name
|
||||
in the message as shown below.
|
||||
|
||||
5. In your commit messages, keep each line shorter than 80 characters. And
|
||||
try to align your lines vertically, if they wrap. It looks bad otherwise.
|
||||
|
||||
6. If you modified a function that is callable from PHP, prepend PHP to
|
||||
the function name as shown below.
|
||||
|
||||
|
||||
The format of the commit messages is pretty simple.
|
||||
|
||||
<max 79 characters short description>\n
|
||||
\n
|
||||
<long description, 79 chars per line>
|
||||
\n
|
||||
|
||||
An Example from the git project (commit 2b34e486bc):
|
||||
|
||||
pack-objects: Fix compilation with NO_PTHREDS
|
||||
|
||||
It looks like commit 99fb6e04 (pack-objects: convert to use
|
||||
parse_options(), 2012-02-01) moved the #ifdef NO_PTHREDS around but
|
||||
hasn't noticed that the 'arg' variable no longer is available.
|
||||
|
||||
If you fix some bugs, you should note the bug ID numbers in your
|
||||
commit message. Bug ID should be prefixed by "#" for easier access to
|
||||
bug report when developers are browsing CVS via LXR or Bonsai.
|
||||
|
||||
Example::
|
||||
|
||||
Fixed bug #14016 (pgsql notice handler double free crash bug.)
|
||||
|
||||
When you change the NEWS file for a bug fix, then please keep the bugs
|
||||
sorted in decreasing order under the fixed version.
|
||||
|
||||
You can use OpenGrok (http://lxr.php.net/) and gitweb (http://git.php.net/)
|
||||
to look at PHP Git repository in various ways.
|
||||
|
||||
|
||||
For further information on the process and further details please refer to
|
||||
https://wiki.php.net/vcs/gitworkflow and https://wiki.php.net/vcs/gitfaq
|
||||
|
||||
Happy hacking,
|
||||
|
||||
PHP Team
|
||||
+26
-29
@@ -20,18 +20,12 @@ php/QA/bug websites try to have someone from the webmaster team (Bjori) on hand.
|
||||
|
||||
5. Verify the tags to be extra sure everything was tagged properly.
|
||||
|
||||
6. Moving extensions from/to PECL requires write acces to the destination.
|
||||
Most developers should have this.
|
||||
6. Moving extensions from/to PECL requires root level access to the CVS server.
|
||||
Contact systems@php.net to get this taken care of.
|
||||
|
||||
Moving extensions from php-src to PECL
|
||||
- Checkout the pecl directory, most likely you want a sparse-root checkout
|
||||
svn co --depth=empty https://svn.php.net/repository/pecl
|
||||
- Create an directory for the extension incl. branch and tag structure,
|
||||
no trunk at this point and commit this to svn
|
||||
cd pecl; mkdir foo foo/tags foo/branches; svn add foo; svn commit
|
||||
- Move the extension from php-src to the new location
|
||||
svn mv https://svn.php.net/repository/php/php-src/trunk/ext/foo \
|
||||
https://svn.php.net/repository/pecl/foo/trunk
|
||||
- Filesystem: cp -r php-src/ext/foo pecl/foo
|
||||
- cvs rm php-src/ext/foo
|
||||
|
||||
If the extension is still usable or not dead, in cooperation with the extension
|
||||
maintainers if any:
|
||||
@@ -39,24 +33,26 @@ maintainers if any:
|
||||
- create the package.xml, commit
|
||||
- release the package
|
||||
|
||||
For Moving extensions from PECL to php-src the svn mv has to be tone the other
|
||||
way round.
|
||||
Moving extensions from PECL to php-src
|
||||
- Filesystem: cp -r pecl/foo php-src/ext/foo
|
||||
OR depending on the wishes from the PECL extension maintainer.
|
||||
- Filesystem: ln -s pecl/foo php-src/ext/foo
|
||||
|
||||
Rolling a non stable release (alpha/beta/RC)
|
||||
--------------------------------------------
|
||||
|
||||
1. Check windows snapshot builder logs (http://windows.php.net/downloads/snaps/ the last revision)
|
||||
1. Check windows snapshot builder logs (http://snaps.php.net/win32/snapshot-STABLE.log f.e.)
|
||||
|
||||
2. run the "scripts/dev/credits" script in php-src and commit the changes in the
|
||||
credits files in ext/standard.
|
||||
|
||||
3. Bump the version numbers in ``main/php_version.h``, ``configure.in`` and possibly ``NEWS``.
|
||||
2. Bump the version numbers in ``main/php_version.h``, ``configure.in`` and possibly ``NEWS``.
|
||||
Do not use abbreviations for alpha and beta.
|
||||
|
||||
4. Commit those changes and note the revision id.
|
||||
3. Commit those changes
|
||||
|
||||
5. tag the repository with the version. To do the tag in a fast way do a svn copy on the server using full URLs. You should use the revision id from the above commit to prevent mistakes in case there was a commit in between. f.e. "``svn cp https://svn.php.net/repository/php/php-src/branches/PHP_5_3@308399 https://svn.php.net/repository/php/php-src/tags/php_5_3_6RC1``"
|
||||
(of course, you need to change that to the version you're rolling an RC for). Mail php-internals to announce the tag so tests/validation/check can be done prior to package it. It is especially important for RCs.
|
||||
4. run the "scripts/dev/credits" script in php-src and commit the changes in the
|
||||
credits files in ext/standard.
|
||||
|
||||
5. tag the repository with the version f.e. "``cvs tag php_4_4_1RC1``"
|
||||
(of course, you need to change that to the version you're rolling an RC for).
|
||||
|
||||
6. Bump up the version numbers in ``main/php_version.h``, ``configure.in``
|
||||
and possibly ``NEWS`` again, to the **next** version. F.e. if the release
|
||||
@@ -69,7 +65,7 @@ correctly work.
|
||||
8. Log in onto the snaps box and go into the correct tree (f.e. the PHP_4_4
|
||||
branch if you're rolling 4.4.x releases).
|
||||
|
||||
9. You do not have to update the tree, but of course you can with "``svn up``".
|
||||
9. You do not have to update the tree, but of course you can with "``cvs up -dP``".
|
||||
|
||||
10. run: ``./makedist php 4.4.1RC1``, this will export the tree, create configure
|
||||
and build two tarballs (one gz and one bz2).
|
||||
@@ -104,7 +100,7 @@ Derick) run the following commands for you:
|
||||
|
||||
``sudo -u ezmlm ezmlm-sub ~ezmlm/primary-qa-tester/mod moderator-email-address``
|
||||
|
||||
3. Update ``qa.git/include/release-qa.php`` with the appropriate information.
|
||||
3. Update ``web/qa/trunk/include/release-qa.php`` with the appropriate information.
|
||||
See the documentation within release-qa.php for more information, but all releases
|
||||
and RCs are configured here. Only $QA_RELEASES needs to be edited.
|
||||
|
||||
@@ -113,21 +109,22 @@ Derick) run the following commands for you:
|
||||
|
||||
Note: Remember to update the MD5 checksum information.
|
||||
|
||||
4. Update ``php.git/include/version.inc`` (x=major version number)
|
||||
1. Update in ``php-bugs/trunk/include/functions.inc`` the ``show_version_option``
|
||||
function to include the new RC and commit.
|
||||
|
||||
2. Update ``phpweb/include/version.inc`` (x=major version number)
|
||||
|
||||
a. ``$PHP_x_RC`` = "5.3.0RC1"
|
||||
|
||||
b. ``$PHP_x_RC_DATE`` = "06 September 2007"
|
||||
|
||||
5. Commit and push those changes:
|
||||
3. Commit those changes:
|
||||
|
||||
a. ``git commit -a && git push origin master``
|
||||
a. ``cvs commit include/version.inc include/releases.inc``
|
||||
|
||||
6. For the first RC, write the doc team (phpdoc@lists.php.net) about updating the
|
||||
4. For the first RC, write the doc team (phpdoc@lists.php.net) about updating the
|
||||
INSTALL and win32/install.txt files which are generated from the PHP manual sources.
|
||||
|
||||
7. Publish the announce on www.php.net as well (for all releases, alpha, RCs or other)
|
||||
|
||||
Rolling a stable release
|
||||
------------------------
|
||||
|
||||
@@ -165,7 +162,7 @@ and build two tarballs (one gz and one bz2).
|
||||
|
||||
13. Once the release has been tagged, contact the PHP Windows development team
|
||||
(internals-win@lists.php.net) so that Windows binaries can be created. Once
|
||||
those are made, they should be committed to SVN too.
|
||||
those are made, they should be committed to CVS too.
|
||||
|
||||
14. Check if the pear files are updated (phar for 5.1+ or run pear/make-pear-bundle.php with 4.4)
|
||||
|
||||
|
||||
@@ -0,0 +1,146 @@
|
||||
====================
|
||||
SVN Commit Rules
|
||||
====================
|
||||
|
||||
This is the first file you should be reading after you get your SVN account.
|
||||
We'll assume you're basically familiar with SVN, but feel free to post
|
||||
your questions on the mailing list. Please have a look at
|
||||
http://svnbook.red-bean.com/ for more detailed information on SVN.
|
||||
|
||||
PHP is developed through the efforts of a large number of people.
|
||||
Collaboration is a Good Thing(tm), and SVN lets us do this. Thus, following
|
||||
some basic rules with regards to SVN usage will::
|
||||
|
||||
a. Make everybody happier, especially those responsible for maintaining
|
||||
the SVN itself.
|
||||
|
||||
b. Keep the changes consistently well documented and easily trackable.
|
||||
|
||||
c. Prevent some of those 'Oops' moments.
|
||||
|
||||
d. Increase the general level of good will on planet Earth.
|
||||
|
||||
Having said that, here are the organizational rules::
|
||||
|
||||
1. Respect other people working on the project.
|
||||
|
||||
2. Discuss any significant changes on the list before committing and get
|
||||
confirmation from the release manager for the given branch.
|
||||
|
||||
3. Look at EXTENSIONS file to see who is the primary maintainer of
|
||||
the code you want to contribute to.
|
||||
|
||||
4. If you "strongly disagree" about something another person did, don't
|
||||
start fighting publicly - take it up in private email.
|
||||
|
||||
5. If you don't know how to do something, ask first!
|
||||
|
||||
6. Test your changes before committing them. We mean it. Really.
|
||||
To do so use "make test".
|
||||
|
||||
7. For development use the --enable-maintainer-zts switch to ensure your
|
||||
code handles TSRM correctly and doesn't break for thos who need that.
|
||||
|
||||
Currently we have the following branches in use::
|
||||
|
||||
trunk Will become PHP 6.0. This CVS branch is for active development.
|
||||
|
||||
branches/PHP_5_3 Is used to release the PHP 5.3.x series. It still allows for
|
||||
larger enhancements.
|
||||
|
||||
branches/PHP_5_2 Is used to release the PHP 5.2.x series. Only bugfixes are permitted
|
||||
on this branch (Consult the releasemaster prior to commit).
|
||||
|
||||
branches/PHP_5_1 This branch is closed.
|
||||
|
||||
branches/PHP_4_4 This branch is closed.
|
||||
|
||||
The next few rules are more of a technical nature::
|
||||
|
||||
1. All changes should first go to trunk and then get merged from trunk
|
||||
(aka MFH'ed) to all other relevant branches.
|
||||
|
||||
2. DO NOT TOUCH ChangeLog! It is automagically updated from the commit
|
||||
messages every day. Woe be to those who attempt to mess with it.
|
||||
|
||||
3. All news updates intended for public viewing, such as new features,
|
||||
bug fixes, improvements, etc., should go into the NEWS file of the
|
||||
*first* to be released version with the given change. In other words
|
||||
any NEWS file change only needs to done in one branch.
|
||||
|
||||
NB! Lines, starting with @ will go automagically into NEWS file, but
|
||||
this is NOT recommended, though. Please, add news entries directly to
|
||||
NEWS file and don't forget to keep them adjusted and sorted.
|
||||
|
||||
4. Do not commit multiple file and dump all messages in one commit. If you
|
||||
modified several unrelated files, commit each group separately and
|
||||
provide a nice commit message for each one. See example below.
|
||||
|
||||
5. Do write your commit message in such a way that it makes sense even
|
||||
without the corresponding diff. One should be able to look at it, and
|
||||
immediately know what was modified. Definitely include the function name
|
||||
in the message as shown below.
|
||||
|
||||
6. In your commit messages, keep each line shorter than 80 characters. And
|
||||
try to align your lines vertically, if they wrap. It looks bad otherwise.
|
||||
|
||||
7. If you modified a function that is callable from PHP, prepend PHP to
|
||||
the function name as shown below.
|
||||
|
||||
|
||||
The format of the commit messages is pretty simple.
|
||||
|
||||
Use a - to start a new item in your commit message.
|
||||
|
||||
If a line begins with #, it is taken to be a comment and will not appear
|
||||
in the ChangeLog. Everything else goes into the ChangeLog.
|
||||
|
||||
It is important to note that if your comment or news logline spans multiple
|
||||
lines, you have to put # at the beginning of **every** such line.
|
||||
|
||||
Example. Say you modified two files, datetime.c and string.c. In datetime.c you
|
||||
added a new format option for the date() function, and in string.c you fixed a
|
||||
memory leak in php_trim(). Don't commit both of these at once. Commit them
|
||||
separately and try to make sure your commit messages look something like the
|
||||
following.
|
||||
|
||||
For datetime.c::
|
||||
|
||||
- Added new 'K' format modifier to date() for printing out number of days
|
||||
until New Year's Eve.
|
||||
|
||||
For string.c::
|
||||
|
||||
- Fixed a memory leak in php_trim() resulting from improper use of zval_dtor().
|
||||
#- Man, that thing was leaking all over the place!
|
||||
|
||||
The # lines will be omitted from the ChangeLog automagically.
|
||||
|
||||
Use the [DOC] tag in your log message whenever you feel that your changes
|
||||
imply a documentation modification. The php-doc team will automatically
|
||||
get notified about your commit through the php-doc mailing list.
|
||||
|
||||
If you fix some bugs, you should note the bug ID numbers in your
|
||||
commit message. Bug ID should be prefixed by "#" for easier access to
|
||||
bug report when developers are browsing CVS via LXR or Bonsai.
|
||||
|
||||
Example::
|
||||
|
||||
Fixed bug #14016 (pgsql notice handler double free crash bug.)
|
||||
|
||||
If you don't see your messages in ChangeLog right away, don't worry!
|
||||
These files are updated once a day, so your stuff will not show up until
|
||||
somewhat later.
|
||||
|
||||
When you change the NEWS file for a bug fix, then please keep the bugs
|
||||
sorted in decreasing order under the fixed version.
|
||||
|
||||
You can use LXR (http://lxr.php.net/) and Bonsai (http://bonsai.php.net/)
|
||||
to look at PHP SVN repository in various ways.
|
||||
|
||||
To receive daily updates to ChangeLog and NEWS, send an empty message to
|
||||
php-cvs-daily-subscribe@lists.php.net.
|
||||
|
||||
Happy hacking,
|
||||
|
||||
PHP Team
|
||||
+112
@@ -0,0 +1,112 @@
|
||||
Using PHP 5 with the Zeus Web Server
|
||||
-----------------------------------
|
||||
|
||||
Zeus fully supports running PHP in combination with our
|
||||
webserver. There are three different interfaces that can be used to
|
||||
enable PHP:
|
||||
|
||||
* CGI
|
||||
* ISAPI
|
||||
* FastCGI
|
||||
|
||||
Of the three, we recommend using FastCGI, which has been tested and
|
||||
benchmarked as providing the best performance and reliability.
|
||||
|
||||
Full details of how to install PHP are available from our
|
||||
website, at:
|
||||
|
||||
http://support.zeus.com/products/php.html
|
||||
|
||||
If you have any problems, please check the support site for more
|
||||
up-to-date information and advice.
|
||||
|
||||
|
||||
Quick guide to installing CGI/FastCGI with Zeus
|
||||
-----------------------------------------------
|
||||
|
||||
Step 1 - Compile PHP as FastCGI.
|
||||
|
||||
Compile as follows:
|
||||
./configure --enable-fastcgi
|
||||
make
|
||||
|
||||
Note that PHP has many options to the configure script -
|
||||
e.g. --with-mysql. You will probably want to select your usual options
|
||||
before compiling; the above is just a bare minimum, for illustration.
|
||||
|
||||
After compilation finishes, you will be left with an executable
|
||||
program called 'php'. Copy this into your document root, under a
|
||||
dedicated FastCGI directory (e.g. $DOCROOT/fcgi-bin/php)
|
||||
|
||||
|
||||
Step 2 - configure Zeus
|
||||
|
||||
Four stages:
|
||||
- enable FastCGI
|
||||
- configure FastCGI
|
||||
- setup alias for FastCGI
|
||||
- setup alias for PHP
|
||||
|
||||
1) Using the admin server, go to the 'module configuration' page for
|
||||
your virtual server, and ensure that 'fastcgi' is enabled (select the
|
||||
tickbox to the left).
|
||||
|
||||
2) While we can run FastCGI's locally, there are known problems with
|
||||
some OS's (specifically, the communication between web server and
|
||||
FastCGI happens over a unix domain socket, and some OS's have trouble
|
||||
sustaining high connection rates over these sockets). So instead, we
|
||||
are going to set up the PHP FastCGI to run 'remotely' over localhost
|
||||
(this uses TCP sockets, which do not suffer this problem). Go to the
|
||||
'fastcgi configuration' page, and under 'add remote fastcgi':
|
||||
Add Remote FastCGI
|
||||
Docroot path /fcgi-bin/php
|
||||
Remote machine localhost:8002
|
||||
The first entry is where you saved PHP, above.
|
||||
The second entry is localhost:<any unused port>
|
||||
We will start the FastCGI listening on this port shortly.
|
||||
Click 'update' to commit these changes.
|
||||
|
||||
3) Go to the path mapping module and add an alias for FastCGI:
|
||||
Add Alias
|
||||
Docroot path /fcgi-bin
|
||||
Filesystem directory /path/to/docroot/fcgi-bin
|
||||
Alias type fastcgi
|
||||
Click 'update' to commit these changes
|
||||
|
||||
4) Also on the path mapping module, add a handler for PHP:
|
||||
Add handler
|
||||
File extension php
|
||||
Handler /fcgi-bin/php
|
||||
Click 'update' to commit these changes
|
||||
|
||||
Finally restart your virtual server for these changes to take effect.
|
||||
|
||||
|
||||
Step 3 - start PHP as a FastCGI runner
|
||||
|
||||
When you start PHP, it will pre-fork a given number of child processes
|
||||
to handle incoming PHP requests. Each process will handle a given
|
||||
number of requests before exiting (and being replaced by a newly
|
||||
forked process). You can control these two parameters by setting the
|
||||
following environment variables BEFORE starting the FastCGI runner:
|
||||
|
||||
PHP_FCGI_CHILDREN - the number of child processes to pre-fork. This
|
||||
variable MUST be set, if not then the PHP will not run as a FastCGI.
|
||||
We recommend a value of 8 for a fairly busy site. If you have many,
|
||||
long-running PHP scripts, then you may need to increase this further.
|
||||
|
||||
PHP_FCGI_MAX_REQUESTS - the number of requests each PHP child process
|
||||
handles before exiting. If not set, defaults to 500.
|
||||
|
||||
To start the FastCGI runner, execute '$ZEUSHOME/web/bin/fcgirunner
|
||||
8002 $DOCROOT/fcgi-bin/php'. Substitute the appropriate values for
|
||||
$ZEUSHOME and $DOCROOT; also substitute for 8002 the port you chose,
|
||||
above.
|
||||
|
||||
To stop the runner (e.g. to experiment with the above environment
|
||||
variables) you will need to manually stop and running PHP
|
||||
processes. (Use 'ps' and 'kill'). As it is PHP which is forking lots
|
||||
of children and not the runner, Zeus unfortunately cannot keep track
|
||||
of what processes are running, sorry. A typical command line may look
|
||||
like 'ps -efl | grep $DOCROOT/fcgi-bin/php | grep -v grep | awk
|
||||
'{print $4}' | xargs kill'
|
||||
+1
-1
@@ -88,7 +88,7 @@ PHP_MINFO_FUNCTION(my_input_filter)
|
||||
{
|
||||
php_info_print_table_start();
|
||||
php_info_print_table_row( 2, "My Input Filter Support", "enabled" );
|
||||
php_info_print_table_row( 2, "Revision", "$Id$");
|
||||
php_info_print_table_row( 2, "Revision", "$Revision$");
|
||||
php_info_print_table_end();
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2012 The PHP Group |
|
||||
| Copyright (c) 1997-2011 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2012 The PHP Group |
|
||||
| Copyright (c) 1997-2011 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+4
-16
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2012 The PHP Group |
|
||||
| Copyright (c) 1997-2011 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -773,9 +773,6 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
|
||||
|
||||
while (1) {
|
||||
if (len <= start) {
|
||||
if (link_is_dir) {
|
||||
*link_is_dir = 1;
|
||||
}
|
||||
return start;
|
||||
}
|
||||
|
||||
@@ -792,10 +789,6 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
|
||||
continue;
|
||||
} else if (i == len - 2 && path[i] == '.' && path[i+1] == '.') {
|
||||
/* remove '..' and previous directory */
|
||||
is_dir = 1;
|
||||
if (link_is_dir) {
|
||||
*link_is_dir = 1;
|
||||
}
|
||||
if (i - 1 <= start) {
|
||||
return start ? start : len;
|
||||
}
|
||||
@@ -1221,14 +1214,9 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func
|
||||
return 1;
|
||||
}
|
||||
memcpy(resolved_path, state->cwd, state_cwd_length);
|
||||
if (resolved_path[state_cwd_length-1] == DEFAULT_SLASH) {
|
||||
memcpy(resolved_path + state_cwd_length, path, path_length + 1);
|
||||
path_length += state_cwd_length;
|
||||
} else {
|
||||
resolved_path[state_cwd_length] = DEFAULT_SLASH;
|
||||
memcpy(resolved_path + state_cwd_length + 1, path, path_length + 1);
|
||||
path_length += state_cwd_length + 1;
|
||||
}
|
||||
resolved_path[state_cwd_length] = DEFAULT_SLASH;
|
||||
memcpy(resolved_path + state_cwd_length + 1, path, path_length + 1);
|
||||
path_length += state_cwd_length + 1;
|
||||
}
|
||||
} else {
|
||||
#ifdef TSRM_WIN32
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2012 The PHP Group |
|
||||
| Copyright (c) 1997-2011 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2012 The PHP Group |
|
||||
| Copyright (c) 1997-2011 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2012 The PHP Group |
|
||||
| Copyright (c) 1997-2011 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -163,11 +163,6 @@ UPGRADE NOTES - PHP 5.3
|
||||
xsl.security_prefs. This option will be marked as deprecated in 5.4 again.
|
||||
Use the method XsltProcess::setSecurityPrefs($options) there.
|
||||
|
||||
- the following new directives were added
|
||||
|
||||
- max_input_vars - specifies how many GET/POST/COOKIE input variables may be
|
||||
accepted. default value 1000.
|
||||
|
||||
=============
|
||||
5. Deprecated
|
||||
=============
|
||||
@@ -348,9 +343,6 @@ UPGRADE NOTES - PHP 5.3
|
||||
|
||||
- A new directive, request_order, controls the behavior of $_REQUEST
|
||||
independently of variables_order.
|
||||
- A new directive, called windows.show_crt_warning, has been introduced.
|
||||
This directive shows the CRT warnings when enabled. These warnings were
|
||||
displayed by default until now. It is disabled by default.
|
||||
|
||||
- New INI directives:
|
||||
- mail.add_x_header
|
||||
|
||||
@@ -24,14 +24,6 @@ Zend MM disabled:
|
||||
|
||||
$ USE_ZEND_ALLOC=0 valgrind --leak-check=full sapi/cli/php -r 'leak();'
|
||||
|
||||
Shared extensions:
|
||||
------------------
|
||||
|
||||
Since PHP 5.3.11 it is possible to prevent shared extensions from unloading so
|
||||
that valgrind can correctly track the memory leaks in shared extensions. For
|
||||
this there is the ZEND_DONT_UNLOAD_MODULES environment variable. If set, then
|
||||
DL_UNLOAD() is skipped during the shutdown of shared extensions.
|
||||
|
||||
Tweaking:
|
||||
---------
|
||||
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
Title: Zend 2.0 Namespaces
|
||||
Version: $Id$
|
||||
Version: $Revision$
|
||||
Status: declined
|
||||
Maintainer: Stig S. Bakken <ssb@php.net>
|
||||
Created: 2001-09-08
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
Title: Loose type requirements for functions
|
||||
Version: $Id$
|
||||
Version: $Revision$
|
||||
Status: draft
|
||||
Maintainer: Brian Moon <brianm@dealnews.com>
|
||||
Created: 2001-09-17
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
--TEST--
|
||||
Bug #34199 (if($obj)/if(!$obj) inconsistency because of cast handler)
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("simplexml")) print "skip SimpleXML extension required"; ?>
|
||||
<?php if (!extension_loaded("simplexml")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
$xml = "<root></root>";
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
--TEST--
|
||||
Bug #39602 (Invalid session.save_handler crashes PHP)
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("session")) die("skip session extension required"); ?>
|
||||
<?php if (!extension_loaded("session")) die("skip"); ?>
|
||||
--INI--
|
||||
session.save_handler=qwerty
|
||||
error_reporting=0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
--TEST--
|
||||
Bug #42819 (namespaces in indexes of constant arrays)
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("spl")) print "skip SPL extension required"; ?>
|
||||
<?php if (!extension_loaded("spl")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
namespace foo\foo;
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
--TEST--
|
||||
Bug #43200 (Interface implementation / inheritence not possible in abstract classes)
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
interface a {
|
||||
function foo();
|
||||
function bar();
|
||||
}
|
||||
interface b {
|
||||
function foo();
|
||||
}
|
||||
|
||||
abstract class c {
|
||||
function bar() { }
|
||||
}
|
||||
|
||||
class x extends c implements a, b {
|
||||
function foo() { }
|
||||
}
|
||||
|
||||
ReflectionClass::export('x');
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Class [ <user> class x extends c implements a, b ] {
|
||||
@@ %s 15-17
|
||||
|
||||
- Constants [0] {
|
||||
}
|
||||
|
||||
- Static properties [0] {
|
||||
}
|
||||
|
||||
- Static methods [0] {
|
||||
}
|
||||
|
||||
- Properties [0] {
|
||||
}
|
||||
|
||||
- Methods [2] {
|
||||
Method [ <user, prototype b> public method foo ] {
|
||||
@@ %s 16 - 16
|
||||
}
|
||||
|
||||
Method [ <user, inherits c, prototype a> public method bar ] {
|
||||
@@ %s 12 - 12
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
--TEST--
|
||||
Bug #43200.2 (Interface implementation / inheritence not possible in abstract classes)
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
interface A {
|
||||
function foo();
|
||||
}
|
||||
|
||||
abstract class B implements A {
|
||||
abstract public function foo();
|
||||
}
|
||||
|
||||
class C extends B {
|
||||
public function foo() {
|
||||
echo 'works';
|
||||
}
|
||||
}
|
||||
|
||||
$o = new C();
|
||||
$o->foo();
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
works
|
||||
@@ -1,7 +1,7 @@
|
||||
--TEST--
|
||||
Bug #43918 (Segmentation fault in garbage collector)
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("simplexml")) print "skip SimpleXML extension required"; ?>
|
||||
<?php if (!extension_loaded("simplexml")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
$xmlstr = <<<XML
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
--TEST--
|
||||
Bug #50174 (Incorrectly matched docComment)
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded('reflection') || !extension_loaded('spl')) print "skip SPL and reflection extensions required"; ?>
|
||||
<?php if (!extension_loaded('reflection') || !extension_loaded('spl')) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
--TEST--
|
||||
Bug #60099 (__halt_compiler() works in braced namespaces)
|
||||
--FILE--
|
||||
<?php
|
||||
namespace foo {
|
||||
__halt_compiler();
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Fatal error: __HALT_COMPILER() can only be used from the outermost scope in %s on line %d
|
||||
@@ -1,16 +0,0 @@
|
||||
--TEST--
|
||||
Bug #60138 (GC crash with referenced array in RecursiveArrayIterator)
|
||||
--FILE--
|
||||
<?php
|
||||
$tree = array(array("f"));
|
||||
$category =& $tree[0];
|
||||
|
||||
$iterator = new RecursiveIteratorIterator(
|
||||
new RecursiveArrayIterator($tree),
|
||||
RecursiveIteratorIterator::SELF_FIRST
|
||||
);
|
||||
foreach($iterator as $file);
|
||||
echo "ok\n";
|
||||
?>
|
||||
--EXPECT--
|
||||
ok
|
||||
@@ -1,7 +1,5 @@
|
||||
--TEST--
|
||||
Bug #60139 (Anonymous functions create cycles not detected by the GC)
|
||||
--INI--
|
||||
zend.enable_gc=1
|
||||
--FILE--
|
||||
<?php
|
||||
class Foo {
|
||||
|
||||
Binary file not shown.
@@ -1,9 +0,0 @@
|
||||
--TEST--
|
||||
test of larger than 8kb text file being parsed by require statement
|
||||
--FILE--
|
||||
<?php
|
||||
file_put_contents('test.php',str_repeat('passed, ',1024));
|
||||
require('test.php');
|
||||
?>
|
||||
--EXPECT--
|
||||
passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed,Line truncated
|
||||
@@ -1,19 +0,0 @@
|
||||
--TEST--
|
||||
Bug #60825 (Segfault when running symfony 2 tests)
|
||||
--DESCRIPTION--
|
||||
run this with valgrind
|
||||
--FILE--
|
||||
<?php
|
||||
class test {
|
||||
public static $x;
|
||||
public function __toString() {
|
||||
self::$x = $this;
|
||||
return __FILE__;
|
||||
}
|
||||
}
|
||||
$a = new test;
|
||||
require_once $a;
|
||||
debug_zval_dump(test::$x);
|
||||
?>
|
||||
--EXPECTF--
|
||||
string(%d) "%sbug60825.php" refcount(2)
|
||||
@@ -1,10 +0,0 @@
|
||||
--TEST--
|
||||
Bug #61087 (Memory leak in parse_ini_file when specifying invalid scanner mode)
|
||||
--FILE--
|
||||
<?php
|
||||
// the used file is actually irrelevant, so just use this file
|
||||
// even though it's not an .ini
|
||||
parse_ini_file(__FILE__, false, 100);
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: Invalid scanner mode in %s on line %d
|
||||
@@ -1,9 +0,0 @@
|
||||
--TEST--
|
||||
Bug #61095 (Lexing 0x00*+<NUM> incorectly)
|
||||
--FILE--
|
||||
<?php
|
||||
echo 0x00+2;
|
||||
echo "\n";
|
||||
?>
|
||||
--EXPECT--
|
||||
2
|
||||
@@ -1,28 +0,0 @@
|
||||
--TEST--
|
||||
Bug #61165 (Segfault - strip_tags())
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
$handler = NULL;
|
||||
class T {
|
||||
public $_this;
|
||||
|
||||
public function __toString() {
|
||||
global $handler;
|
||||
$handler = $this;
|
||||
$this->_this = $this; // <-- uncoment this
|
||||
return 'A';
|
||||
}
|
||||
}
|
||||
|
||||
$t = new T;
|
||||
for ($i = 0; $i < 3; $i++) {
|
||||
strip_tags($t);
|
||||
strip_tags(new T);
|
||||
}
|
||||
var_dump($handler);
|
||||
--EXPECTF--
|
||||
object(T)#%d (1) {
|
||||
["_this"]=>
|
||||
*RECURSION*
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
--TEST--
|
||||
Bug #61273 (call_user_func_array with more than 16333 arguments leaks / crashes)
|
||||
--FILE--
|
||||
<?php
|
||||
/**
|
||||
* for 5.3 #define ZEND_VM_STACK_PAGE_SIZE ((64 * 1024) - 64)
|
||||
* for 5.4 #define ZEND_VM_STACK_PAGE_SIZE ((16 * 1024) - 16)
|
||||
* we should trick EG(argument_stack) into growing
|
||||
*/
|
||||
$args = array_fill(0, 64 * 1024 - 64, 0);
|
||||
call_user_func_array(function(&$a) {}, $args);
|
||||
echo strval("okey");
|
||||
--EXPECTF--
|
||||
Warning: Parameter 1 to {closure}() expected to be a reference, value given in %sbug61273.php on line %d
|
||||
okey
|
||||
@@ -1,15 +0,0 @@
|
||||
--TEST--
|
||||
Bug #62005 (unexpected behavior when incrementally assigning to a member of a null object)
|
||||
--FILE--
|
||||
<?php
|
||||
function add_points($player, $points) {
|
||||
$player->energy += $points;
|
||||
print_r($player);
|
||||
}
|
||||
add_points(NULL, 2);
|
||||
--EXPECTF--
|
||||
Strict Standards: Creating default object from empty value in %sbug62005.php on line %d
|
||||
stdClass Object
|
||||
(
|
||||
[energy] => 2
|
||||
)
|
||||
@@ -3,7 +3,7 @@ GC 024: GC and objects with non-standard handlers
|
||||
--INI--
|
||||
zend.enable_gc=1
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("spl")) print "skip SPL extension required"; ?>
|
||||
<?php if (!extension_loaded("spl")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
$a = new ArrayObject();
|
||||
|
||||
@@ -17,4 +17,4 @@ interface a extends d, w { }
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Fatal error: Cannot make non static method c::B() static in class d in %s on line %d
|
||||
Fatal error: Can't inherit abstract function c::B() (previously declared abstract in d) in %s on line %d
|
||||
@@ -14,8 +14,6 @@ interface b {
|
||||
interface c extends a, b {
|
||||
}
|
||||
|
||||
echo "done!\n";
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
done!
|
||||
Fatal error: Can't inherit abstract function b::b() (previously declared abstract in a) in %s on line %d
|
||||
Binary file not shown.
@@ -14,8 +14,6 @@ interface Itest2 {
|
||||
interface Itest3 extends Itest, Itest2 {
|
||||
}
|
||||
|
||||
echo "done!\n";
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
done!
|
||||
Fatal error: Can't inherit abstract function Itest2::a() (previously declared abstract in Itest) in %s on line %d
|
||||
@@ -1,7 +1,7 @@
|
||||
--TEST--
|
||||
unset() CV 10 (unset() of global variable in ArrayObject::offsetUnset($GLOBALS))
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("spl")) print "skip SPL extension required"; ?>
|
||||
<?php if (!extension_loaded("spl")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
$a = new ArrayObject($GLOBALS);
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -114,7 +114,7 @@ ZEND_API zval zval_used_for_init; /* True global variable */
|
||||
/* version information */
|
||||
static char *zend_version_info;
|
||||
static uint zend_version_info_length;
|
||||
#define ZEND_CORE_VERSION_INFO "Zend Engine v" ZEND_VERSION ", Copyright (c) 1998-2012 Zend Technologies\n"
|
||||
#define ZEND_CORE_VERSION_INFO "Zend Engine v" ZEND_VERSION ", Copyright (c) 1998-2011 Zend Technologies\n"
|
||||
#define PRINT_ZVAL_INDENT 4
|
||||
|
||||
static void print_hash(zend_write_func_t write_func, HashTable *ht, int indent, zend_bool is_object TSRMLS_DC) /* {{{ */
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+6
-9
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -33,6 +33,7 @@
|
||||
#endif
|
||||
|
||||
/* these variables are true statics/globals, and have to be mutex'ed on every access */
|
||||
static int module_count=0;
|
||||
ZEND_API HashTable module_registry;
|
||||
|
||||
/* this function doesn't check for too many parameters */
|
||||
@@ -253,14 +254,10 @@ ZEND_API int zend_get_object_classname(const zval *object, char **class_name, ze
|
||||
static int parse_arg_object_to_string(zval **arg TSRMLS_DC) /* {{{ */
|
||||
{
|
||||
if (Z_OBJ_HANDLER_PP(arg, cast_object)) {
|
||||
zval *obj;
|
||||
MAKE_STD_ZVAL(obj);
|
||||
if (Z_OBJ_HANDLER_P(*arg, cast_object)(*arg, obj, IS_STRING TSRMLS_CC) == SUCCESS) {
|
||||
zval_ptr_dtor(arg);
|
||||
*arg = obj;
|
||||
SEPARATE_ZVAL_IF_NOT_REF(arg);
|
||||
if (Z_OBJ_HANDLER_PP(arg, cast_object)(*arg, *arg, IS_STRING TSRMLS_CC) == SUCCESS) {
|
||||
return SUCCESS;
|
||||
}
|
||||
efree(obj);
|
||||
}
|
||||
/* Standard PHP objects */
|
||||
if (Z_OBJ_HT_PP(arg) == &std_object_handlers || !Z_OBJ_HANDLER_PP(arg, cast_object)) {
|
||||
@@ -2137,7 +2134,7 @@ void module_destructor(zend_module_entry *module) /* {{{ */
|
||||
|
||||
#if HAVE_LIBDL
|
||||
#if !(defined(NETWARE) && defined(APACHE_1_BUILD))
|
||||
if (module->handle && !getenv("ZEND_DONT_UNLOAD_MODULES")) {
|
||||
if (module->handle) {
|
||||
DL_UNLOAD(module->handle);
|
||||
}
|
||||
#endif
|
||||
@@ -2183,7 +2180,7 @@ int module_registry_unload_temp(const zend_module_entry *module TSRMLS_DC) /* {{
|
||||
/* return the next free module number */
|
||||
int zend_next_free_module(void) /* {{{ */
|
||||
{
|
||||
return zend_hash_num_elements(&module_registry) + 1;
|
||||
return ++module_count;
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -1516,7 +1516,8 @@ ZEND_FUNCTION(set_exception_handler)
|
||||
RETURN_TRUE;
|
||||
}
|
||||
|
||||
MAKE_COPY_ZVAL(&exception_handler, EG(user_exception_handler))
|
||||
*EG(user_exception_handler) = *exception_handler;
|
||||
zval_copy_ctor(EG(user_exception_handler));
|
||||
|
||||
if (!had_orig_exception_handler) {
|
||||
RETURN_NULL();
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+2
-8
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -2628,8 +2628,7 @@ static zend_bool do_inherit_method_check(HashTable *child_function_table, zend_f
|
||||
return 1; /* method doesn't exist in child, copy from parent */
|
||||
}
|
||||
|
||||
if ((parent->common.scope->ce_flags & ZEND_ACC_INTERFACE) == 0
|
||||
&& parent->common.fn_flags & ZEND_ACC_ABSTRACT
|
||||
if (parent->common.fn_flags & ZEND_ACC_ABSTRACT
|
||||
&& parent->common.scope != (child->common.prototype ? child->common.prototype->common.scope : child->common.scope)
|
||||
&& child->common.fn_flags & (ZEND_ACC_ABSTRACT|ZEND_ACC_IMPLEMENTED_ABSTRACT)) {
|
||||
zend_error(E_COMPILE_ERROR, "Can't inherit abstract function %s::%s() (previously declared abstract in %s)",
|
||||
@@ -3758,11 +3757,6 @@ void zend_do_halt_compiler_register(TSRMLS_D) /* {{{ */
|
||||
char *name, *cfilename;
|
||||
char haltoff[] = "__COMPILER_HALT_OFFSET__";
|
||||
int len, clen;
|
||||
|
||||
if (CG(has_bracketed_namespaces) && CG(in_namespace)) {
|
||||
zend_error(E_COMPILE_ERROR, "__HALT_COMPILER() can only be used from the outermost scope");
|
||||
}
|
||||
|
||||
cfilename = zend_get_compiled_filename(TSRMLS_C);
|
||||
clen = strlen(cfilename);
|
||||
zend_mangle_property_name(&name, &len, haltoff, sizeof(haltoff) - 1, cfilename, clen, 0);
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -192,7 +192,7 @@ ZEND_METHOD(exception, __construct)
|
||||
object = getThis();
|
||||
|
||||
if (message) {
|
||||
zend_update_property_stringl(default_exception_ce, object, "message", sizeof("message")-1, message, message_len TSRMLS_CC);
|
||||
zend_update_property_string(default_exception_ce, object, "message", sizeof("message")-1, message TSRMLS_CC);
|
||||
}
|
||||
|
||||
if (code) {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+3
-2
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -432,10 +432,11 @@ static inline void make_real_object(zval **object_ptr TSRMLS_DC)
|
||||
|| (Z_TYPE_PP(object_ptr) == IS_BOOL && Z_LVAL_PP(object_ptr) == 0)
|
||||
|| (Z_TYPE_PP(object_ptr) == IS_STRING && Z_STRLEN_PP(object_ptr) == 0)
|
||||
) {
|
||||
zend_error(E_STRICT, "Creating default object from empty value");
|
||||
|
||||
SEPARATE_ZVAL_IF_NOT_REF(object_ptr);
|
||||
zval_dtor(*object_ptr);
|
||||
object_init(*object_ptr);
|
||||
zend_error(E_STRICT, "Creating default object from empty value");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -865,11 +865,10 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS
|
||||
&& (EX(function_state).function->common.fn_flags & ZEND_ACC_CALL_VIA_HANDLER) == 0
|
||||
&& !ARG_SHOULD_BE_SENT_BY_REF(EX(function_state).function, i + 1)
|
||||
&& PZVAL_IS_REF(*fci->params[i])) {
|
||||
ALLOC_ZVAL(param);
|
||||
*param = **(fci->params[i]);
|
||||
INIT_PZVAL(param);
|
||||
zval_copy_ctor(param);
|
||||
} else if (ARG_SHOULD_BE_SENT_BY_REF(EX(function_state).function, i + 1)
|
||||
SEPARATE_ZVAL(fci->params[i]);
|
||||
}
|
||||
|
||||
if (ARG_SHOULD_BE_SENT_BY_REF(EX(function_state).function, i + 1)
|
||||
&& !PZVAL_IS_REF(*fci->params[i])) {
|
||||
|
||||
if (Z_REFCOUNT_PP(fci->params[i]) > 1) {
|
||||
@@ -877,7 +876,7 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS
|
||||
|
||||
if (fci->no_separation &&
|
||||
!ARG_MAY_BE_SENT_BY_REF(EX(function_state).function, i + 1)) {
|
||||
if (i || UNEXPECTED(ZEND_VM_STACK_ELEMETS(EG(argument_stack)) == EG(argument_stack)->top)) {
|
||||
if(i) {
|
||||
/* hack to clean up the stack */
|
||||
zend_vm_stack_push_nocheck((void *) (zend_uintptr_t)i TSRMLS_CC);
|
||||
zend_vm_stack_clear_multiple(TSRMLS_C);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
+117
-120
@@ -1,10 +1,10 @@
|
||||
/* Generated by re2c 0.13.5 on Sat Feb 25 22:07:14 2012 */
|
||||
/* Generated by re2c 0.13.5 on Fri Aug 26 18:01:17 2011 */
|
||||
#line 1 "Zend/zend_ini_scanner.l"
|
||||
/*
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -230,12 +230,9 @@ int zend_ini_open_file_for_scanning(zend_file_handle *fh, int scanner_mode TSRML
|
||||
char *buf;
|
||||
size_t size;
|
||||
|
||||
if (zend_stream_fixup(fh, &buf, &size TSRMLS_CC) == FAILURE) {
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
if (init_ini_scanner(scanner_mode, fh TSRMLS_CC) == FAILURE) {
|
||||
zend_file_handle_dtor(fh TSRMLS_CC);
|
||||
if (zend_stream_fixup(fh, &buf, &size TSRMLS_CC) == FAILURE ||
|
||||
init_ini_scanner(scanner_mode, fh TSRMLS_CC) == FAILURE
|
||||
) {
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
@@ -333,7 +330,7 @@ restart:
|
||||
}
|
||||
}
|
||||
|
||||
#line 337 "Zend/zend_ini_scanner.c"
|
||||
#line 334 "Zend/zend_ini_scanner.c"
|
||||
{
|
||||
YYCTYPE yych;
|
||||
unsigned int yyaccept = 0;
|
||||
@@ -462,7 +459,7 @@ yy2:
|
||||
yy3:
|
||||
YYDEBUG(3, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 429 "Zend/zend_ini_scanner.l"
|
||||
#line 426 "Zend/zend_ini_scanner.l"
|
||||
{ /* Get option name */
|
||||
/* Eat leading whitespace */
|
||||
EAT_LEADING_WHITESPACE();
|
||||
@@ -472,7 +469,7 @@ yy3:
|
||||
|
||||
RETURN_TOKEN(TC_LABEL, yytext, yyleng);
|
||||
}
|
||||
#line 476 "Zend/zend_ini_scanner.c"
|
||||
#line 473 "Zend/zend_ini_scanner.c"
|
||||
yy4:
|
||||
YYDEBUG(4, *YYCURSOR);
|
||||
yyaccept = 0;
|
||||
@@ -481,24 +478,24 @@ yy4:
|
||||
yy5:
|
||||
YYDEBUG(5, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 547 "Zend/zend_ini_scanner.l"
|
||||
#line 544 "Zend/zend_ini_scanner.l"
|
||||
{
|
||||
/* eat whitespace */
|
||||
goto restart;
|
||||
}
|
||||
#line 490 "Zend/zend_ini_scanner.c"
|
||||
#line 487 "Zend/zend_ini_scanner.c"
|
||||
yy6:
|
||||
YYDEBUG(6, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
yy7:
|
||||
YYDEBUG(7, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 552 "Zend/zend_ini_scanner.l"
|
||||
#line 549 "Zend/zend_ini_scanner.l"
|
||||
{
|
||||
SCNG(lineno)++;
|
||||
return END_OF_LINE;
|
||||
}
|
||||
#line 502 "Zend/zend_ini_scanner.c"
|
||||
#line 499 "Zend/zend_ini_scanner.c"
|
||||
yy8:
|
||||
YYDEBUG(8, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -533,11 +530,11 @@ yy10:
|
||||
++YYCURSOR;
|
||||
YYDEBUG(11, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 475 "Zend/zend_ini_scanner.l"
|
||||
#line 472 "Zend/zend_ini_scanner.l"
|
||||
{ /* Disallow these chars outside option values */
|
||||
return yytext[0];
|
||||
}
|
||||
#line 541 "Zend/zend_ini_scanner.c"
|
||||
#line 538 "Zend/zend_ini_scanner.c"
|
||||
yy12:
|
||||
YYDEBUG(12, *YYCURSOR);
|
||||
yyaccept = 1;
|
||||
@@ -554,11 +551,11 @@ yy14:
|
||||
goto yy54;
|
||||
YYDEBUG(15, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 575 "Zend/zend_ini_scanner.l"
|
||||
#line 572 "Zend/zend_ini_scanner.l"
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#line 562 "Zend/zend_ini_scanner.c"
|
||||
#line 559 "Zend/zend_ini_scanner.c"
|
||||
yy16:
|
||||
YYDEBUG(16, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -567,7 +564,7 @@ yy16:
|
||||
yy17:
|
||||
YYDEBUG(17, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 439 "Zend/zend_ini_scanner.l"
|
||||
#line 436 "Zend/zend_ini_scanner.l"
|
||||
{ /* Start option value */
|
||||
if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
|
||||
yy_push_state(ST_RAW TSRMLS_CC);
|
||||
@@ -576,7 +573,7 @@ yy17:
|
||||
}
|
||||
return '=';
|
||||
}
|
||||
#line 580 "Zend/zend_ini_scanner.c"
|
||||
#line 577 "Zend/zend_ini_scanner.c"
|
||||
yy18:
|
||||
YYDEBUG(18, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -632,7 +629,7 @@ yy23:
|
||||
++YYCURSOR;
|
||||
YYDEBUG(24, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 358 "Zend/zend_ini_scanner.l"
|
||||
#line 355 "Zend/zend_ini_scanner.l"
|
||||
{ /* Section start */
|
||||
/* Enter section data lookup state */
|
||||
if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
|
||||
@@ -642,7 +639,7 @@ yy23:
|
||||
}
|
||||
return TC_SECTION;
|
||||
}
|
||||
#line 646 "Zend/zend_ini_scanner.c"
|
||||
#line 643 "Zend/zend_ini_scanner.c"
|
||||
yy25:
|
||||
YYDEBUG(25, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -672,7 +669,7 @@ yy28:
|
||||
}
|
||||
YYDEBUG(30, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 383 "Zend/zend_ini_scanner.l"
|
||||
#line 380 "Zend/zend_ini_scanner.l"
|
||||
{ /* Start of option with offset */
|
||||
/* Eat leading whitespace */
|
||||
EAT_LEADING_WHITESPACE();
|
||||
@@ -685,7 +682,7 @@ yy28:
|
||||
|
||||
RETURN_TOKEN(TC_OFFSET, yytext, yyleng);
|
||||
}
|
||||
#line 689 "Zend/zend_ini_scanner.c"
|
||||
#line 686 "Zend/zend_ini_scanner.c"
|
||||
yy31:
|
||||
YYDEBUG(31, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -733,11 +730,11 @@ yy31:
|
||||
yy33:
|
||||
YYDEBUG(33, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 421 "Zend/zend_ini_scanner.l"
|
||||
#line 418 "Zend/zend_ini_scanner.l"
|
||||
{ /* TRUE value (when used outside option value/offset this causes parse error!) */
|
||||
RETURN_TOKEN(BOOL_TRUE, "1", 1);
|
||||
}
|
||||
#line 741 "Zend/zend_ini_scanner.c"
|
||||
#line 738 "Zend/zend_ini_scanner.c"
|
||||
yy34:
|
||||
YYDEBUG(34, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -807,11 +804,11 @@ yy39:
|
||||
yy41:
|
||||
YYDEBUG(41, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 425 "Zend/zend_ini_scanner.l"
|
||||
#line 422 "Zend/zend_ini_scanner.l"
|
||||
{ /* FALSE value (when used outside option value/offset this causes parse error!)*/
|
||||
RETURN_TOKEN(BOOL_FALSE, "", 0);
|
||||
}
|
||||
#line 815 "Zend/zend_ini_scanner.c"
|
||||
#line 812 "Zend/zend_ini_scanner.c"
|
||||
yy42:
|
||||
YYDEBUG(42, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -926,13 +923,13 @@ yy55:
|
||||
yy56:
|
||||
YYDEBUG(56, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 557 "Zend/zend_ini_scanner.l"
|
||||
#line 554 "Zend/zend_ini_scanner.l"
|
||||
{ /* Comment */
|
||||
BEGIN(INITIAL);
|
||||
SCNG(lineno)++;
|
||||
return END_OF_LINE;
|
||||
}
|
||||
#line 936 "Zend/zend_ini_scanner.c"
|
||||
#line 933 "Zend/zend_ini_scanner.c"
|
||||
yy57:
|
||||
YYDEBUG(57, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -1012,14 +1009,14 @@ yy64:
|
||||
yy65:
|
||||
YYDEBUG(65, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 563 "Zend/zend_ini_scanner.l"
|
||||
#line 560 "Zend/zend_ini_scanner.l"
|
||||
{ /* #Comment */
|
||||
zend_error(E_DEPRECATED, "Comments starting with '#' are deprecated in %s on line %d", zend_ini_scanner_get_filename(TSRMLS_C), SCNG(lineno));
|
||||
BEGIN(INITIAL);
|
||||
SCNG(lineno)++;
|
||||
return END_OF_LINE;
|
||||
}
|
||||
#line 1023 "Zend/zend_ini_scanner.c"
|
||||
#line 1020 "Zend/zend_ini_scanner.c"
|
||||
yy66:
|
||||
YYDEBUG(66, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -1159,7 +1156,7 @@ yyc_ST_DOUBLE_QUOTES:
|
||||
yy76:
|
||||
YYDEBUG(76, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 507 "Zend/zend_ini_scanner.l"
|
||||
#line 504 "Zend/zend_ini_scanner.l"
|
||||
{ /* Escape double quoted string contents */
|
||||
if (YYCURSOR > YYLIMIT) {
|
||||
return 0;
|
||||
@@ -1195,7 +1192,7 @@ yy76:
|
||||
zend_ini_escape_string(ini_lval, yytext, yyleng, '"' TSRMLS_CC);
|
||||
return TC_QUOTED_STRING;
|
||||
}
|
||||
#line 1199 "Zend/zend_ini_scanner.c"
|
||||
#line 1196 "Zend/zend_ini_scanner.c"
|
||||
yy77:
|
||||
YYDEBUG(77, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -1204,12 +1201,12 @@ yy77:
|
||||
yy78:
|
||||
YYDEBUG(78, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 502 "Zend/zend_ini_scanner.l"
|
||||
#line 499 "Zend/zend_ini_scanner.l"
|
||||
{ /* Double quoted '"' string ends */
|
||||
yy_pop_state(TSRMLS_C);
|
||||
return '"';
|
||||
}
|
||||
#line 1213 "Zend/zend_ini_scanner.c"
|
||||
#line 1210 "Zend/zend_ini_scanner.c"
|
||||
yy79:
|
||||
YYDEBUG(79, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -1218,12 +1215,12 @@ yy79:
|
||||
++YYCURSOR;
|
||||
YYDEBUG(81, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 401 "Zend/zend_ini_scanner.l"
|
||||
#line 398 "Zend/zend_ini_scanner.l"
|
||||
{ /* Variable start */
|
||||
yy_push_state(ST_VARNAME TSRMLS_CC);
|
||||
return TC_DOLLAR_CURLY;
|
||||
}
|
||||
#line 1227 "Zend/zend_ini_scanner.c"
|
||||
#line 1224 "Zend/zend_ini_scanner.c"
|
||||
yy82:
|
||||
YYDEBUG(82, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -1323,11 +1320,11 @@ yy86:
|
||||
yy87:
|
||||
YYDEBUG(87, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 493 "Zend/zend_ini_scanner.l"
|
||||
#line 490 "Zend/zend_ini_scanner.l"
|
||||
{ /* Get rest as section/offset value */
|
||||
RETURN_TOKEN(TC_STRING, yytext, yyleng);
|
||||
}
|
||||
#line 1331 "Zend/zend_ini_scanner.c"
|
||||
#line 1328 "Zend/zend_ini_scanner.c"
|
||||
yy88:
|
||||
YYDEBUG(88, *YYCURSOR);
|
||||
yyaccept = 0;
|
||||
@@ -1344,23 +1341,23 @@ yy89:
|
||||
yy90:
|
||||
YYDEBUG(90, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 575 "Zend/zend_ini_scanner.l"
|
||||
#line 572 "Zend/zend_ini_scanner.l"
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#line 1352 "Zend/zend_ini_scanner.c"
|
||||
#line 1349 "Zend/zend_ini_scanner.c"
|
||||
yy91:
|
||||
YYDEBUG(91, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
yy92:
|
||||
YYDEBUG(92, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 497 "Zend/zend_ini_scanner.l"
|
||||
#line 494 "Zend/zend_ini_scanner.l"
|
||||
{ /* Double quoted '"' string start */
|
||||
yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
|
||||
return '"';
|
||||
}
|
||||
#line 1364 "Zend/zend_ini_scanner.c"
|
||||
#line 1361 "Zend/zend_ini_scanner.c"
|
||||
yy93:
|
||||
YYDEBUG(93, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -1422,11 +1419,11 @@ yy97:
|
||||
yy98:
|
||||
YYDEBUG(98, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 471 "Zend/zend_ini_scanner.l"
|
||||
#line 468 "Zend/zend_ini_scanner.l"
|
||||
{ /* Get number option value as string */
|
||||
RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
|
||||
}
|
||||
#line 1430 "Zend/zend_ini_scanner.c"
|
||||
#line 1427 "Zend/zend_ini_scanner.c"
|
||||
yy99:
|
||||
YYDEBUG(99, *YYCURSOR);
|
||||
yyaccept = 3;
|
||||
@@ -1452,11 +1449,11 @@ yy99:
|
||||
yy100:
|
||||
YYDEBUG(100, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 467 "Zend/zend_ini_scanner.l"
|
||||
#line 464 "Zend/zend_ini_scanner.l"
|
||||
{ /* Get constant option value */
|
||||
RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
|
||||
}
|
||||
#line 1460 "Zend/zend_ini_scanner.c"
|
||||
#line 1457 "Zend/zend_ini_scanner.c"
|
||||
yy101:
|
||||
YYDEBUG(101, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -1467,12 +1464,12 @@ yy102:
|
||||
yy103:
|
||||
YYDEBUG(103, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 396 "Zend/zend_ini_scanner.l"
|
||||
#line 393 "Zend/zend_ini_scanner.l"
|
||||
{ /* End of section or an option offset */
|
||||
BEGIN(INITIAL);
|
||||
return ']';
|
||||
}
|
||||
#line 1476 "Zend/zend_ini_scanner.c"
|
||||
#line 1473 "Zend/zend_ini_scanner.c"
|
||||
yy104:
|
||||
YYDEBUG(104, *YYCURSOR);
|
||||
yyaccept = 0;
|
||||
@@ -1762,7 +1759,7 @@ yy125:
|
||||
++YYCURSOR;
|
||||
YYDEBUG(128, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 368 "Zend/zend_ini_scanner.l"
|
||||
#line 365 "Zend/zend_ini_scanner.l"
|
||||
{ /* Raw string */
|
||||
/* Eat leading and trailing single quotes */
|
||||
if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
|
||||
@@ -1771,18 +1768,18 @@ yy125:
|
||||
}
|
||||
RETURN_TOKEN(TC_RAW, yytext, yyleng);
|
||||
}
|
||||
#line 1775 "Zend/zend_ini_scanner.c"
|
||||
#line 1772 "Zend/zend_ini_scanner.c"
|
||||
yy129:
|
||||
YYDEBUG(129, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
YYDEBUG(130, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 401 "Zend/zend_ini_scanner.l"
|
||||
#line 398 "Zend/zend_ini_scanner.l"
|
||||
{ /* Variable start */
|
||||
yy_push_state(ST_VARNAME TSRMLS_CC);
|
||||
return TC_DOLLAR_CURLY;
|
||||
}
|
||||
#line 1786 "Zend/zend_ini_scanner.c"
|
||||
#line 1783 "Zend/zend_ini_scanner.c"
|
||||
yy131:
|
||||
YYDEBUG(131, *YYCURSOR);
|
||||
yyaccept = 0;
|
||||
@@ -1887,12 +1884,12 @@ yyc_ST_RAW:
|
||||
++YYCURSOR;
|
||||
YYDEBUG(138, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 570 "Zend/zend_ini_scanner.l"
|
||||
#line 567 "Zend/zend_ini_scanner.l"
|
||||
{ /* End of option value (if EOF is reached before EOL */
|
||||
BEGIN(INITIAL);
|
||||
return END_OF_LINE;
|
||||
}
|
||||
#line 1896 "Zend/zend_ini_scanner.c"
|
||||
#line 1893 "Zend/zend_ini_scanner.c"
|
||||
yy139:
|
||||
YYDEBUG(139, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -1901,7 +1898,7 @@ yy139:
|
||||
yy140:
|
||||
YYDEBUG(140, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 448 "Zend/zend_ini_scanner.l"
|
||||
#line 445 "Zend/zend_ini_scanner.l"
|
||||
{ /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
|
||||
/* Eat leading and trailing double quotes */
|
||||
if (yytext[0] == '"' && yytext[yyleng - 1] == '"') {
|
||||
@@ -1910,7 +1907,7 @@ yy140:
|
||||
}
|
||||
RETURN_TOKEN(TC_RAW, yytext, yyleng);
|
||||
}
|
||||
#line 1914 "Zend/zend_ini_scanner.c"
|
||||
#line 1911 "Zend/zend_ini_scanner.c"
|
||||
yy141:
|
||||
YYDEBUG(141, *YYCURSOR);
|
||||
yyaccept = 0;
|
||||
@@ -1932,13 +1929,13 @@ yy142:
|
||||
yy143:
|
||||
YYDEBUG(143, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 461 "Zend/zend_ini_scanner.l"
|
||||
#line 458 "Zend/zend_ini_scanner.l"
|
||||
{ /* End of option value */
|
||||
BEGIN(INITIAL);
|
||||
SCNG(lineno)++;
|
||||
return END_OF_LINE;
|
||||
}
|
||||
#line 1942 "Zend/zend_ini_scanner.c"
|
||||
#line 1939 "Zend/zend_ini_scanner.c"
|
||||
yy144:
|
||||
YYDEBUG(144, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -1966,13 +1963,13 @@ yy148:
|
||||
yy149:
|
||||
YYDEBUG(149, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 557 "Zend/zend_ini_scanner.l"
|
||||
#line 554 "Zend/zend_ini_scanner.l"
|
||||
{ /* Comment */
|
||||
BEGIN(INITIAL);
|
||||
SCNG(lineno)++;
|
||||
return END_OF_LINE;
|
||||
}
|
||||
#line 1976 "Zend/zend_ini_scanner.c"
|
||||
#line 1973 "Zend/zend_ini_scanner.c"
|
||||
yy150:
|
||||
YYDEBUG(150, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -2071,21 +2068,21 @@ yyc_ST_SECTION_RAW:
|
||||
yy160:
|
||||
YYDEBUG(160, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 457 "Zend/zend_ini_scanner.l"
|
||||
#line 454 "Zend/zend_ini_scanner.l"
|
||||
{ /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
|
||||
RETURN_TOKEN(TC_RAW, yytext, yyleng);
|
||||
}
|
||||
#line 2079 "Zend/zend_ini_scanner.c"
|
||||
#line 2076 "Zend/zend_ini_scanner.c"
|
||||
yy161:
|
||||
YYDEBUG(161, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
YYDEBUG(162, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 575 "Zend/zend_ini_scanner.l"
|
||||
#line 572 "Zend/zend_ini_scanner.l"
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#line 2089 "Zend/zend_ini_scanner.c"
|
||||
#line 2086 "Zend/zend_ini_scanner.c"
|
||||
yy163:
|
||||
YYDEBUG(163, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -2094,13 +2091,13 @@ yy163:
|
||||
yy164:
|
||||
YYDEBUG(164, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 377 "Zend/zend_ini_scanner.l"
|
||||
#line 374 "Zend/zend_ini_scanner.l"
|
||||
{ /* End of section */
|
||||
BEGIN(INITIAL);
|
||||
SCNG(lineno)++;
|
||||
return ']';
|
||||
}
|
||||
#line 2104 "Zend/zend_ini_scanner.c"
|
||||
#line 2101 "Zend/zend_ini_scanner.c"
|
||||
yy165:
|
||||
YYDEBUG(165, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -2222,11 +2219,11 @@ yy173:
|
||||
yy174:
|
||||
YYDEBUG(174, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 493 "Zend/zend_ini_scanner.l"
|
||||
#line 490 "Zend/zend_ini_scanner.l"
|
||||
{ /* Get rest as section/offset value */
|
||||
RETURN_TOKEN(TC_STRING, yytext, yyleng);
|
||||
}
|
||||
#line 2230 "Zend/zend_ini_scanner.c"
|
||||
#line 2227 "Zend/zend_ini_scanner.c"
|
||||
yy175:
|
||||
YYDEBUG(175, *YYCURSOR);
|
||||
yyaccept = 0;
|
||||
@@ -2245,23 +2242,23 @@ yy176:
|
||||
yy177:
|
||||
YYDEBUG(177, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 575 "Zend/zend_ini_scanner.l"
|
||||
#line 572 "Zend/zend_ini_scanner.l"
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#line 2253 "Zend/zend_ini_scanner.c"
|
||||
#line 2250 "Zend/zend_ini_scanner.c"
|
||||
yy178:
|
||||
YYDEBUG(178, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
yy179:
|
||||
YYDEBUG(179, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 497 "Zend/zend_ini_scanner.l"
|
||||
#line 494 "Zend/zend_ini_scanner.l"
|
||||
{ /* Double quoted '"' string start */
|
||||
yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
|
||||
return '"';
|
||||
}
|
||||
#line 2265 "Zend/zend_ini_scanner.c"
|
||||
#line 2262 "Zend/zend_ini_scanner.c"
|
||||
yy180:
|
||||
YYDEBUG(180, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -2323,11 +2320,11 @@ yy184:
|
||||
yy185:
|
||||
YYDEBUG(185, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 471 "Zend/zend_ini_scanner.l"
|
||||
#line 468 "Zend/zend_ini_scanner.l"
|
||||
{ /* Get number option value as string */
|
||||
RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
|
||||
}
|
||||
#line 2331 "Zend/zend_ini_scanner.c"
|
||||
#line 2328 "Zend/zend_ini_scanner.c"
|
||||
yy186:
|
||||
YYDEBUG(186, *YYCURSOR);
|
||||
yyaccept = 3;
|
||||
@@ -2353,11 +2350,11 @@ yy186:
|
||||
yy187:
|
||||
YYDEBUG(187, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 467 "Zend/zend_ini_scanner.l"
|
||||
#line 464 "Zend/zend_ini_scanner.l"
|
||||
{ /* Get constant option value */
|
||||
RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
|
||||
}
|
||||
#line 2361 "Zend/zend_ini_scanner.c"
|
||||
#line 2358 "Zend/zend_ini_scanner.c"
|
||||
yy188:
|
||||
YYDEBUG(188, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -2370,13 +2367,13 @@ yy189:
|
||||
yy190:
|
||||
YYDEBUG(190, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 377 "Zend/zend_ini_scanner.l"
|
||||
#line 374 "Zend/zend_ini_scanner.l"
|
||||
{ /* End of section */
|
||||
BEGIN(INITIAL);
|
||||
SCNG(lineno)++;
|
||||
return ']';
|
||||
}
|
||||
#line 2380 "Zend/zend_ini_scanner.c"
|
||||
#line 2377 "Zend/zend_ini_scanner.c"
|
||||
yy191:
|
||||
YYDEBUG(191, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -2688,7 +2685,7 @@ yy216:
|
||||
++YYCURSOR;
|
||||
YYDEBUG(219, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 368 "Zend/zend_ini_scanner.l"
|
||||
#line 365 "Zend/zend_ini_scanner.l"
|
||||
{ /* Raw string */
|
||||
/* Eat leading and trailing single quotes */
|
||||
if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
|
||||
@@ -2697,18 +2694,18 @@ yy216:
|
||||
}
|
||||
RETURN_TOKEN(TC_RAW, yytext, yyleng);
|
||||
}
|
||||
#line 2701 "Zend/zend_ini_scanner.c"
|
||||
#line 2698 "Zend/zend_ini_scanner.c"
|
||||
yy220:
|
||||
YYDEBUG(220, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
YYDEBUG(221, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 401 "Zend/zend_ini_scanner.l"
|
||||
#line 398 "Zend/zend_ini_scanner.l"
|
||||
{ /* Variable start */
|
||||
yy_push_state(ST_VARNAME TSRMLS_CC);
|
||||
return TC_DOLLAR_CURLY;
|
||||
}
|
||||
#line 2712 "Zend/zend_ini_scanner.c"
|
||||
#line 2709 "Zend/zend_ini_scanner.c"
|
||||
yy222:
|
||||
YYDEBUG(222, *YYCURSOR);
|
||||
yyaccept = 0;
|
||||
@@ -2888,12 +2885,12 @@ yy227:
|
||||
yy228:
|
||||
YYDEBUG(228, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 570 "Zend/zend_ini_scanner.l"
|
||||
#line 567 "Zend/zend_ini_scanner.l"
|
||||
{ /* End of option value (if EOF is reached before EOL */
|
||||
BEGIN(INITIAL);
|
||||
return END_OF_LINE;
|
||||
}
|
||||
#line 2897 "Zend/zend_ini_scanner.c"
|
||||
#line 2894 "Zend/zend_ini_scanner.c"
|
||||
yy229:
|
||||
YYDEBUG(229, *YYCURSOR);
|
||||
yyaccept = 0;
|
||||
@@ -2902,11 +2899,11 @@ yy229:
|
||||
yy230:
|
||||
YYDEBUG(230, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 489 "Zend/zend_ini_scanner.l"
|
||||
#line 486 "Zend/zend_ini_scanner.l"
|
||||
{ /* Get everything else as option/offset value */
|
||||
RETURN_TOKEN(TC_STRING, yytext, yyleng);
|
||||
}
|
||||
#line 2910 "Zend/zend_ini_scanner.c"
|
||||
#line 2907 "Zend/zend_ini_scanner.c"
|
||||
yy231:
|
||||
YYDEBUG(231, *YYCURSOR);
|
||||
yyaccept = 1;
|
||||
@@ -2915,24 +2912,24 @@ yy231:
|
||||
yy232:
|
||||
YYDEBUG(232, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 543 "Zend/zend_ini_scanner.l"
|
||||
#line 540 "Zend/zend_ini_scanner.l"
|
||||
{
|
||||
RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng);
|
||||
}
|
||||
#line 2923 "Zend/zend_ini_scanner.c"
|
||||
#line 2920 "Zend/zend_ini_scanner.c"
|
||||
yy233:
|
||||
YYDEBUG(233, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
yy234:
|
||||
YYDEBUG(234, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 461 "Zend/zend_ini_scanner.l"
|
||||
#line 458 "Zend/zend_ini_scanner.l"
|
||||
{ /* End of option value */
|
||||
BEGIN(INITIAL);
|
||||
SCNG(lineno)++;
|
||||
return END_OF_LINE;
|
||||
}
|
||||
#line 2936 "Zend/zend_ini_scanner.c"
|
||||
#line 2933 "Zend/zend_ini_scanner.c"
|
||||
yy235:
|
||||
YYDEBUG(235, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -2946,23 +2943,23 @@ yy236:
|
||||
yy237:
|
||||
YYDEBUG(237, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 479 "Zend/zend_ini_scanner.l"
|
||||
#line 476 "Zend/zend_ini_scanner.l"
|
||||
{ /* Boolean operators */
|
||||
return yytext[0];
|
||||
}
|
||||
#line 2954 "Zend/zend_ini_scanner.c"
|
||||
#line 2951 "Zend/zend_ini_scanner.c"
|
||||
yy238:
|
||||
YYDEBUG(238, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
yy239:
|
||||
YYDEBUG(239, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 497 "Zend/zend_ini_scanner.l"
|
||||
#line 494 "Zend/zend_ini_scanner.l"
|
||||
{ /* Double quoted '"' string start */
|
||||
yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
|
||||
return '"';
|
||||
}
|
||||
#line 2966 "Zend/zend_ini_scanner.c"
|
||||
#line 2963 "Zend/zend_ini_scanner.c"
|
||||
yy240:
|
||||
YYDEBUG(240, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -3038,11 +3035,11 @@ yy244:
|
||||
yy245:
|
||||
YYDEBUG(245, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 471 "Zend/zend_ini_scanner.l"
|
||||
#line 468 "Zend/zend_ini_scanner.l"
|
||||
{ /* Get number option value as string */
|
||||
RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
|
||||
}
|
||||
#line 3046 "Zend/zend_ini_scanner.c"
|
||||
#line 3043 "Zend/zend_ini_scanner.c"
|
||||
yy246:
|
||||
YYDEBUG(246, *YYCURSOR);
|
||||
yyaccept = 2;
|
||||
@@ -3053,13 +3050,13 @@ yy247:
|
||||
++YYCURSOR;
|
||||
YYDEBUG(248, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 483 "Zend/zend_ini_scanner.l"
|
||||
#line 480 "Zend/zend_ini_scanner.l"
|
||||
{ /* Make = used in option value to trigger error */
|
||||
yyless(0);
|
||||
BEGIN(INITIAL);
|
||||
return END_OF_LINE;
|
||||
}
|
||||
#line 3063 "Zend/zend_ini_scanner.c"
|
||||
#line 3060 "Zend/zend_ini_scanner.c"
|
||||
yy249:
|
||||
YYDEBUG(249, *YYCURSOR);
|
||||
yyaccept = 4;
|
||||
@@ -3095,11 +3092,11 @@ yy249:
|
||||
yy250:
|
||||
YYDEBUG(250, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 467 "Zend/zend_ini_scanner.l"
|
||||
#line 464 "Zend/zend_ini_scanner.l"
|
||||
{ /* Get constant option value */
|
||||
RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
|
||||
}
|
||||
#line 3103 "Zend/zend_ini_scanner.c"
|
||||
#line 3100 "Zend/zend_ini_scanner.c"
|
||||
yy251:
|
||||
YYDEBUG(251, *YYCURSOR);
|
||||
yyaccept = 4;
|
||||
@@ -3591,11 +3588,11 @@ yy266:
|
||||
yy267:
|
||||
YYDEBUG(267, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 421 "Zend/zend_ini_scanner.l"
|
||||
#line 418 "Zend/zend_ini_scanner.l"
|
||||
{ /* TRUE value (when used outside option value/offset this causes parse error!) */
|
||||
RETURN_TOKEN(BOOL_TRUE, "1", 1);
|
||||
}
|
||||
#line 3599 "Zend/zend_ini_scanner.c"
|
||||
#line 3596 "Zend/zend_ini_scanner.c"
|
||||
yy268:
|
||||
YYDEBUG(268, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -3795,11 +3792,11 @@ yy273:
|
||||
yy274:
|
||||
YYDEBUG(274, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 425 "Zend/zend_ini_scanner.l"
|
||||
#line 422 "Zend/zend_ini_scanner.l"
|
||||
{ /* FALSE value (when used outside option value/offset this causes parse error!)*/
|
||||
RETURN_TOKEN(BOOL_FALSE, "", 0);
|
||||
}
|
||||
#line 3803 "Zend/zend_ini_scanner.c"
|
||||
#line 3800 "Zend/zend_ini_scanner.c"
|
||||
yy275:
|
||||
YYDEBUG(275, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -4175,13 +4172,13 @@ yy286:
|
||||
yy287:
|
||||
YYDEBUG(287, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 557 "Zend/zend_ini_scanner.l"
|
||||
#line 554 "Zend/zend_ini_scanner.l"
|
||||
{ /* Comment */
|
||||
BEGIN(INITIAL);
|
||||
SCNG(lineno)++;
|
||||
return END_OF_LINE;
|
||||
}
|
||||
#line 4185 "Zend/zend_ini_scanner.c"
|
||||
#line 4182 "Zend/zend_ini_scanner.c"
|
||||
yy288:
|
||||
YYDEBUG(288, *YYCURSOR);
|
||||
yych = *++YYCURSOR;
|
||||
@@ -4393,7 +4390,7 @@ yy297:
|
||||
++YYCURSOR;
|
||||
YYDEBUG(300, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 368 "Zend/zend_ini_scanner.l"
|
||||
#line 365 "Zend/zend_ini_scanner.l"
|
||||
{ /* Raw string */
|
||||
/* Eat leading and trailing single quotes */
|
||||
if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
|
||||
@@ -4402,18 +4399,18 @@ yy297:
|
||||
}
|
||||
RETURN_TOKEN(TC_RAW, yytext, yyleng);
|
||||
}
|
||||
#line 4406 "Zend/zend_ini_scanner.c"
|
||||
#line 4403 "Zend/zend_ini_scanner.c"
|
||||
yy301:
|
||||
YYDEBUG(301, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
YYDEBUG(302, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 401 "Zend/zend_ini_scanner.l"
|
||||
#line 398 "Zend/zend_ini_scanner.l"
|
||||
{ /* Variable start */
|
||||
yy_push_state(ST_VARNAME TSRMLS_CC);
|
||||
return TC_DOLLAR_CURLY;
|
||||
}
|
||||
#line 4417 "Zend/zend_ini_scanner.c"
|
||||
#line 4414 "Zend/zend_ini_scanner.c"
|
||||
yy303:
|
||||
YYDEBUG(303, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -4542,7 +4539,7 @@ yyc_ST_VARNAME:
|
||||
yy313:
|
||||
YYDEBUG(313, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 406 "Zend/zend_ini_scanner.l"
|
||||
#line 403 "Zend/zend_ini_scanner.l"
|
||||
{ /* Variable name */
|
||||
/* Eat leading whitespace */
|
||||
EAT_LEADING_WHITESPACE();
|
||||
@@ -4552,28 +4549,28 @@ yy313:
|
||||
|
||||
RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
|
||||
}
|
||||
#line 4556 "Zend/zend_ini_scanner.c"
|
||||
#line 4553 "Zend/zend_ini_scanner.c"
|
||||
yy314:
|
||||
YYDEBUG(314, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
YYDEBUG(315, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 575 "Zend/zend_ini_scanner.l"
|
||||
#line 572 "Zend/zend_ini_scanner.l"
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#line 4566 "Zend/zend_ini_scanner.c"
|
||||
#line 4563 "Zend/zend_ini_scanner.c"
|
||||
yy316:
|
||||
YYDEBUG(316, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
YYDEBUG(317, *YYCURSOR);
|
||||
yyleng = YYCURSOR - SCNG(yy_text);
|
||||
#line 416 "Zend/zend_ini_scanner.l"
|
||||
#line 413 "Zend/zend_ini_scanner.l"
|
||||
{ /* Variable end */
|
||||
yy_pop_state(TSRMLS_C);
|
||||
return '}';
|
||||
}
|
||||
#line 4577 "Zend/zend_ini_scanner.c"
|
||||
#line 4574 "Zend/zend_ini_scanner.c"
|
||||
yy318:
|
||||
YYDEBUG(318, *YYCURSOR);
|
||||
++YYCURSOR;
|
||||
@@ -4587,6 +4584,6 @@ yy319:
|
||||
goto yy313;
|
||||
}
|
||||
}
|
||||
#line 579 "Zend/zend_ini_scanner.l"
|
||||
#line 576 "Zend/zend_ini_scanner.l"
|
||||
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -228,12 +228,9 @@ int zend_ini_open_file_for_scanning(zend_file_handle *fh, int scanner_mode TSRML
|
||||
char *buf;
|
||||
size_t size;
|
||||
|
||||
if (zend_stream_fixup(fh, &buf, &size TSRMLS_CC) == FAILURE) {
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
if (init_ini_scanner(scanner_mode, fh TSRMLS_CC) == FAILURE) {
|
||||
zend_file_handle_dtor(fh TSRMLS_CC);
|
||||
if (zend_stream_fixup(fh, &buf, &size TSRMLS_CC) == FAILURE ||
|
||||
init_ini_scanner(scanner_mode, fh TSRMLS_CC) == FAILURE
|
||||
) {
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* Generated by re2c 0.13.5 on Sat Feb 25 22:07:14 2012 */
|
||||
/* Generated by re2c 0.13.5 on Fri Aug 26 18:01:17 2011 */
|
||||
#line 3 "Zend/zend_ini_scanner_defs.h"
|
||||
|
||||
enum YYCONDTYPE {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
@@ -127,7 +127,7 @@ ZEND_API zval *zend_user_it_new_iterator(zend_class_entry *ce, zval *object TSRM
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
/* {{{ zend_user_it_invalidate_current */
|
||||
/* {{{ zend_user_it_dtor */
|
||||
ZEND_API void zend_user_it_invalidate_current(zend_object_iterator *_iter TSRMLS_DC)
|
||||
{
|
||||
zend_user_iterator *iter = (zend_user_iterator*)_iter;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
| Zend Engine |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.00 of the Zend license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
|
||||
Loaded 100 of 1279 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user