#38325 [Ver->Csd]: spl_autoload_register() gaves wrong line for "class not found"
ID: 38325 Updated by: [EMAIL PROTECTED] Reported By: marcos dot neves at gmail dot com -Status: Verified +Status: Closed Bug Type: SPL related Operating System: WINXP PHP Version: 5CVS-2006-08-04 (snap) New Comment: This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: [2006-08-04 03:38:52] marcos dot neves at gmail dot com Description: The code above gives-me: Fatal error: Class 'Foo' not found in autoLoad.php on line 5 That´s ok, the line shows where the error occurs. Uncomment the spl_autoload_register() and the error will become: Fatal error: Class 'Foo' not found in autoLoad.php on line 7 The line error, goes to the last line of the script. Inside a big script, with many requires, can be very difficult to find where the errors really occurs Reproduce code: --- Expected result: Fatal error: Class 'Foo' not found in autoLoad.php on line 5 Correct line Actual result: -- Fatal error: Class 'Foo' not found in autoLoad.php on line 7 Wrong line (always the last one) -- Edit this bug report at http://bugs.php.net/?id=38325&edit=1
#40056 [Opn->Bgs]: Member Overloading methods ignore access modifiers
ID: 40056 Updated by: [EMAIL PROTECTED] Reported By: bugs dot php dot net at andrewprendergast dot com -Status: Open +Status: Bogus Bug Type: Class/Object related Operating System: Linux Red Hat EL PHP Version: 5.2.1RC2 New Comment: Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php The reasons this works is because the methods are not called directly but rather internally by the class handler. Because they are called by the class handler private/protected check works. Previous Comments: [2007-01-08 02:16:20] bugs dot php dot net at andrewprendergast dot com Description: The access modifiers public & private are ignored when used on the methods __set(), __get(), __isset() & __unset() allowing encapsulation to be breached. Reproduce code: --- Refer to example 19-20 http://au.php.net/manual/en/language.oop5.overloading.php Note that even though the __get() and __set() methods are defined as private, they can be invoked from outside the classs scope (by setting or getting an overloaded member variable). Expected result: If __get() & __set() are defined private, then attempting to manipulate member variables with them from outside a class's scope should generate an error. Actual result: -- No error is generated. -- Edit this bug report at http://bugs.php.net/?id=40056&edit=1
#40056 [NEW]: Member Overloading methods ignore access modifiers
From: bugs dot php dot net at andrewprendergast dot com Operating system: Linux Red Hat EL PHP version: 5.2.1RC2 PHP Bug Type: Class/Object related Bug description: Member Overloading methods ignore access modifiers Description: The access modifiers public & private are ignored when used on the methods __set(), __get(), __isset() & __unset() allowing encapsulation to be breached. Reproduce code: --- Refer to example 19-20 http://au.php.net/manual/en/language.oop5.overloading.php Note that even though the __get() and __set() methods are defined as private, they can be invoked from outside the classs scope (by setting or getting an overloaded member variable). Expected result: If __get() & __set() are defined private, then attempting to manipulate member variables with them from outside a class's scope should generate an error. Actual result: -- No error is generated. -- Edit bug report at http://bugs.php.net/?id=40056&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=40056&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=40056&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=40056&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=40056&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=40056&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=40056&r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=40056&r=needscript Try newer version:http://bugs.php.net/fix.php?id=40056&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=40056&r=support Expected behavior:http://bugs.php.net/fix.php?id=40056&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=40056&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=40056&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=40056&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=40056&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=40056&r=dst IIS Stability:http://bugs.php.net/fix.php?id=40056&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=40056&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=40056&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=40056&r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=40056&r=mysqlcfg
#40055 [NEW]: ob_gzhandler do not work correctly for register_shutdown_function
From: hightman at twomice dot net Operating system: Linux/FreeBSD PHP version: 4.4.4 PHP Bug Type: Output Control Bug description: ob_gzhandler do not work correctly for register_shutdown_function Description: If there are some outputs on the functions called by `register_shutdown_function`, the `ob_gzhandler` do not work correctly for these outputs messages. In other words, these messages have not been compressed with the other outpus msg. It is serious problem for the Web Browsers, because they will get the error check sum of contents, so the page content can't not be display fullly. Reproduce code: --- Expected result: The output of function `foo` will be added to all output msg and compressed by ob_gzhandler Actual result: -- "Normal output\n" were compressed, and the ouput of `foo()` never been compressed. -- Edit bug report at http://bugs.php.net/?id=40055&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=40055&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=40055&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=40055&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=40055&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=40055&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=40055&r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=40055&r=needscript Try newer version:http://bugs.php.net/fix.php?id=40055&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=40055&r=support Expected behavior:http://bugs.php.net/fix.php?id=40055&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=40055&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=40055&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=40055&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=40055&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=40055&r=dst IIS Stability:http://bugs.php.net/fix.php?id=40055&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=40055&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=40055&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=40055&r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=40055&r=mysqlcfg
#40048 [Bgs]: SQL IN (...) and = ANY (...) not supported by PDO
ID: 40048 User updated by: bugs dot php dot net at andrewprendergast dot com Reported By: bugs dot php dot net at andrewprendergast dot com Status: Bogus Bug Type: PDO related Operating System: Linux Red Hat EL PHP Version: 5.2.1RC2 New Comment: Just to re-iterate some comments made about this on IRC: again PDO is not design to "modify" or extend SQL query language about definition, PDO is "only" a wrapper not an abstraction layer, it does not abstract anything (besides Specifically PDO does not do any parsing of SQL queries, it just passes them directly to the database engine in question so PDO is unable to re-write the SQL to support this feature. The solution is to re-write queries to use IN (?, ?, ) Previous Comments: [2007-01-07 23:46:51] [EMAIL PROTECTED] I also came across this problem last week: it would be could if we could bind an array to IN(). Probably it would be too dificult, but we could support this syntax in our sql re2c lexer.. [2007-01-07 17:44:11] [EMAIL PROTECTED] Sorry, but your problem does not imply a bug in PHP itself. For a list of more appropriate places to ask for help using PHP, please visit http://www.php.net/support.php as this bug system is not the appropriate forum for asking support questions. Due to the volume of reports we can not explain in detail here why your report is not a bug. The support channels will be able to provide an explanation for you. Thank you for your interest in PHP. PDO does not implement query parsing it is entirely up to the database. So the features you are talking about would only work if supported by the underlying database. [2007-01-07 13:35:55] bugs dot php dot net at andrewprendergast dot com Description: PDO doesn't allow one to SELECT or DELETE groups of records based on their primary key. Specifically, the SQL clauses WHERE ... IN (...) and WHERE ... = ANY (...) does not work for more than one record. As a workaround I can construct an SQL query and execute it myself but that defeats the niceness of PDO. Reproduce code: --- the following should return the records with ID 1 & 2: $dbh = new PDO('mysql:host=localhost;dbname=mobop', "root", ""); $stmt = $dbh->prepare("SELECT * FROM news_item WHERE news_item_id IN(?)"); if ( $stmt->execute(array("1, 2")) ) while ( ($row = $stmt->fetch()) ) print_r($row); But it doesn't. The following execute statement fails as well: $stmt->execute(array(array(2,1))) NB: The intention of the 2nd example is that when binding an array, it seems natural that PDO would assume its part of an IN or =ANY clause and convert it into a bunch of comma separated keys automagically. Some of the higher level PDO based O/R abstractions currently bouncing around like Doctrine would then be able to support (without any modificaiton) queries that affect multiple records. Expected result: Two records should be loaded. Actual result: -- One record is loaded. -- Edit this bug report at http://bugs.php.net/?id=40048&edit=1
#40048 [Bgs]: SQL IN (...) and = ANY (...) not supported by PDO
ID: 40048 Updated by: [EMAIL PROTECTED] Reported By: bugs dot php dot net at andrewprendergast dot com Status: Bogus Bug Type: PDO related Operating System: Linux Red Hat EL PHP Version: 5.2.1RC2 New Comment: I also came across this problem last week: it would be could if we could bind an array to IN(). Probably it would be too dificult, but we could support this syntax in our sql re2c lexer.. Previous Comments: [2007-01-07 17:44:11] [EMAIL PROTECTED] Sorry, but your problem does not imply a bug in PHP itself. For a list of more appropriate places to ask for help using PHP, please visit http://www.php.net/support.php as this bug system is not the appropriate forum for asking support questions. Due to the volume of reports we can not explain in detail here why your report is not a bug. The support channels will be able to provide an explanation for you. Thank you for your interest in PHP. PDO does not implement query parsing it is entirely up to the database. So the features you are talking about would only work if supported by the underlying database. [2007-01-07 13:35:55] bugs dot php dot net at andrewprendergast dot com Description: PDO doesn't allow one to SELECT or DELETE groups of records based on their primary key. Specifically, the SQL clauses WHERE ... IN (...) and WHERE ... = ANY (...) does not work for more than one record. As a workaround I can construct an SQL query and execute it myself but that defeats the niceness of PDO. Reproduce code: --- the following should return the records with ID 1 & 2: $dbh = new PDO('mysql:host=localhost;dbname=mobop', "root", ""); $stmt = $dbh->prepare("SELECT * FROM news_item WHERE news_item_id IN(?)"); if ( $stmt->execute(array("1, 2")) ) while ( ($row = $stmt->fetch()) ) print_r($row); But it doesn't. The following execute statement fails as well: $stmt->execute(array(array(2,1))) NB: The intention of the 2nd example is that when binding an array, it seems natural that PDO would assume its part of an IN or =ANY clause and convert it into a bunch of comma separated keys automagically. Some of the higher level PDO based O/R abstractions currently bouncing around like Doctrine would then be able to support (without any modificaiton) queries that affect multiple records. Expected result: Two records should be loaded. Actual result: -- One record is loaded. -- Edit this bug report at http://bugs.php.net/?id=40048&edit=1
#37462 [NoF->Opn]: install fails for sapi/cgi/php
ID: 37462 User updated by: ionut dot aivanesei at amdocs dot com Reported By: ionut dot aivanesei at amdocs dot com -Status: No Feedback +Status: Open Bug Type: Compile Failure Operating System: AIX 5.3 -PHP Version: 5.1.4 +PHP Version: 5.2.0 New Comment: Hi there, The same thing is happenign again for 5.2.0 Ionutz Previous Comments: [2006-10-19 23:37:16] sharanu_mudgal at yahoo dot com Hi! I am having almost the same issue on AIX 5.2. Here is the sequence of things I did. 1) Tried to build php5.1.4 for apache2.2. Build failed with the following error /opt/freeware/bin/bash: -c: line 1: unexpected EOF while looking for matching `'' make: The error code from the last command is 2. 2) After searching for some time for help found the link to below bug which pointed towards using gnu make instead of the native AIX. http://bugs.php.net/bug.php?id=35888 3)used the gnu make for the build. The build was successfull. However I get the following messages in the log files <> echo '#! .' > php.sym && echo >>php.sym && nm -BCpg `echo ext/libxml/libxml.lo ext/pcre/pcrelib/pcre_chartables.lo ext/pcre/pcrelib/pcre_ucp_searchfuncs.lo ext/pcre/pcrelib/pcre_compile.lo ext/pcre/pcrelib/pcre_config.lo ext/pcre/pcrelib/pcre_dfa_exec.lo ext/pcre/pcrelib/pcre_exec.lo ext/pcre/pcrelib/pcre_fullinfo.lo ext/pcre/pcrelib/pcre_get.lo ext/pcre/pcrelib/pcre_globals.lo ext/pcre/pcrelib/pcre_info.lo ext/pcre/pcrelib/pcre_maketables.lo ext/pcre/pcrelib/pcre_ord2utf8.lo ext/pcre/pcrelib/pcre_refcount.lo ext/pcre/pcrelib/pcre_study.lo ext/pcre/pcrelib/pcre_tables.lo ext/pcre/pcrelib/pcre_try_flipped.lo ext/pcre/pcrelib/pcre_valid_utf8.lo ext/pcre/pcrelib/pcre_version.lo ext/pcre/pcrelib/pcre_xclass.lo ext/pcre/php_pcre.lo ext/ctype/ctype.lo ext/date/php_date.lo ext/date/lib/astro.lo ext/date/lib/dow.lo ext/date/lib/parse_date.lo ext/date/lib/parse_tz.lo ext/date/lib/timelib.lo ext/date/lib/tm2unixtime.lo ext/date/lib/unixtime2tm.lo ext/dom/php_dom.lo ext/dom/attr.lo ext/dom/document.lo ext/dom/domerrorhandler.lo ext/dom/domstringlist.lo ext/dom/domexception.lo ext/dom/namelist.lo ext/dom/processinginstruction.lo ext/dom/cdatasection.lo ext/dom/documentfragment.lo ext/dom/domimplementation.lo ext/dom/element.lo ext/dom/node.lo ext/dom/string_extend.lo ext/dom/characterdata.lo ext/dom/documenttype.lo ext/dom/domimplementationlist.lo ext/dom/entity.lo ext/dom/nodelist.lo ext/dom/text.lo ext/dom/comment.lo ext/dom/domconfiguration.lo ext/dom/domimplementationsource.lo ext/dom/entityreference.lo ext/dom/notation.lo ext/dom/xpath.lo ext/dom/dom_iterators.lo ext/dom/typeinfo.lo ext/dom/domerror.lo ext/dom/domlocator.lo ext/dom/namednodemap.lo ext/dom/userdatahandler.lo ext/ftp/php_ftp.lo ext/ftp/ftp.lo ext/gettext/gettext.lo ext/hash/hash.lo ext/hash/hash_md.lo ext/hash/hash_sha.lo ext/hash/hash_ripemd.lo ext/hash/hash_haval.lo ext/hash/hash_tiger.lo ext/hash/hash_gost.lo ext/hash/hash_snefru.lo ext/hash/hash_whirlpool.lo ext/hash/hash_adler32.lo ext/hash/hash_crc32.lo ext/iconv/iconv.lo ext/mbstring/oniguruma/regcomp.lo ext/mbstring/oniguruma/regerror.lo ext/mbstring/oniguruma/regexec.lo ext/mbstring/oniguruma/reggnu.lo ext/mbstring/oniguruma/regparse.lo ext/mbstring/oniguruma/regenc.lo ext/mbstring/oniguruma/regext.lo ext/mbstring/oniguruma/regsyntax.lo ext/mbstring/oniguruma/regtrav.lo ext/mbstring/oniguruma/regversion.lo ext/mbstring/oniguruma/st.lo ext/mbstring/oniguruma/enc/unicode.lo ext/mbstring/oniguruma/enc/ascii.lo ext/mbstring/oniguruma/enc/utf8.lo ext/mbstring/oniguruma/enc/euc_jp.lo ext/mbstring/oniguruma/enc/euc_tw.lo ext/mbstring/oniguruma/enc/euc_kr.lo ext/mbstring/oniguruma/enc/sjis.lo ext/mbstring/oniguruma/enc/iso8859_1.lo ext/mbstring/oniguruma/enc/iso8859_2.lo ext/mbstring/oniguruma/enc/iso8859_3.lo ext/mbstring/oniguruma/enc/iso8859_4.lo ext/mbstring/oniguruma/enc/iso8859_5.lo ext/mbstring/oniguruma/enc/iso8859_6.lo ext/mbstring/oniguruma/enc/iso8859_7.lo ext/mbstring/oniguruma/enc/iso8859_8.lo ext/mbstring/oniguruma/enc/iso8859_9.lo ext/mbstring/oniguruma/enc/iso8859_10.lo ext/mbstring/oniguruma/enc/iso8859_11.lo ext/mbstring/oniguruma/enc/iso8859_13.lo ext/mbstring/oniguruma/enc/iso8859_14.lo ext/mbstring/oniguruma/enc/iso8859_15.lo ext/mbstring/oniguruma/enc/iso8859_16.lo ext/mbstring/oniguruma/enc/koi8.lo ext/mbstring/oniguruma/enc/koi8_r.lo ext/mbstring/oniguruma/enc/big5.lo ext/mbstring/oniguruma/enc/utf16_be.lo ext/mbstring/oniguruma/enc/utf16_le.lo ext/mbstring/oniguruma/enc/utf32_be.lo ext/mbstring/oniguruma/enc/utf32_le.lo ext/mbstring/libmbfl/filters/html_entities.lo ext/mbstring/libmbfl/filters/mbfilter_7bit.lo ext/mbstring/libmbfl/filters/mbfilter_ascii.lo ext/mbstring/libmbfl/filters/mbfilter_base64.lo ext/mbstring/libmbfl/filters/mbfilter_big5.lo ext/mbstring/libmbfl/filters/mbfilter_byte2.lo ext/mbstring/libmbfl/filters/mbfilter_byte4.lo ext/mbstring/libmbfl/
#40052 [Opn]: wddx_deserialize compiling incorrect multibyte strings from nodes
ID: 40052 User updated by: tim at whiteinteractive dot com Reported By: tim at whiteinteractive dot com Status: Open Bug Type: *Unicode Issues Operating System: Mac OS X & Redhat PHP Version: 4.4.5RC1 New Comment: Interactive example: http://whiteinteractive.com/utf8bug/test2.php and source: http://whiteinteractive.com/utf8bug/test2.phps Previous Comments: [2007-01-07 22:11:27] tim at whiteinteractive dot com Description: Problem with *De*serialization of multibyte characters in WDDX. Correct sequences of nodes (describing UTF8 characters) are deserializing incorrectly. I am experiencing this with 4.4.5 (snapshot)on Mac OS X and also 4.3.11 on Redhat. The newer version serializes into nodes correctly whereas the older version seems to leave these characters raw, but in both versions the deserialization is incorrect. Reproduce code: --- http://whiteinteractive.com/utf8bug/test.phps Expected result: -- Create double byte character -- string(2) "£" dec: 194 163 bin: 1110 10100011 hex: C2 A3 -- Serialize with wddx_serialize_value -- -- Deserialize with wddx_deserialize -- string(2) "£" dec: 194 163 bin: 1110 10100011 hex: C2 A3 Actual result: -- -- Create double byte character -- string(2) "£" dec: 194 163 bin: 1110 10100011 hex: C2 A3 -- Serialize with wddx_serialize_value -- -- Deserialize with wddx_deserialize -- string(2) "��" dec: 128 163 bin: 1000 10100011 hex: 80 A3 -- Edit this bug report at http://bugs.php.net/?id=40052&edit=1
#40050 [Bgs]: Array assignment without references
ID: 40050 User updated by: BenBE at omorphia dot de Reported By: BenBE at omorphia dot de Status: Bogus Bug Type: Scripting Engine problem Operating System: Windows 2K PHP Version: 5.2.0 New Comment: Please quote in detail the page of the manual you are referring to, as I can't find any reason why assigning an array with = should create such a weird pointer structure. As mentioned below the =& assignment is right, only the = assignment is in question (and most likely wrong IMHO). Previous Comments: [2007-01-07 21:58:01] [EMAIL PROTECTED] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php . [2007-01-07 19:57:47] BenBE at omorphia dot de Description: When assigning an array by-value into itself PHP will insert a self-referencing Array into the new entry Reproduce code: --- $a = array(); $a[] =& $a; print_r($a); $b = array(); $b[] = $b; print_r($b); Expected result: array(1) { [0]=> array(1) { [0]=> array(1) { [0]=> *RECURSION* } } } array(1) { [0]=> array(0) { } } $b[0] should contain an empty array because $b was assigned by-value, i.e. should get copied. Actual result: -- array(1) { [0]=> array(1) { [0]=> array(1) { [0]=> *RECURSION* } } } array(1) { [0]=> array(1) { [0]=> array(1) { [0]=> *RECURSION* } } } Comparing the references (see my entry regarding Spotting References) you find that $b and $b[0] are different pointers and $b[0] is an array like the one created in $a. -- Edit this bug report at http://bugs.php.net/?id=40050&edit=1
#40052 [NEW]: wddx_deserialize compiling incorrect multibyte strings from nodes
From: tim at whiteinteractive dot com Operating system: Mac OS X & Redhat PHP version: 4.4.5RC1 PHP Bug Type: *Unicode Issues Bug description: wddx_deserialize compiling incorrect multibyte strings from nodes Description: Problem with *De*serialization of multibyte characters in WDDX. Correct sequences of nodes (describing UTF8 characters) are deserializing incorrectly. I am experiencing this with 4.4.5 (snapshot)on Mac OS X and also 4.3.11 on Redhat. The newer version serializes into nodes correctly whereas the older version seems to leave these characters raw, but in both versions the deserialization is incorrect. Reproduce code: --- http://whiteinteractive.com/utf8bug/test.phps Expected result: -- Create double byte character -- string(2) "£" dec: 194 163 bin: 1110 10100011 hex: C2 A3 -- Serialize with wddx_serialize_value -- -- Deserialize with wddx_deserialize -- string(2) "£" dec: 194 163 bin: 1110 10100011 hex: C2 A3 Actual result: -- -- Create double byte character -- string(2) "£" dec: 194 163 bin: 1110 10100011 hex: C2 A3 -- Serialize with wddx_serialize_value -- -- Deserialize with wddx_deserialize -- string(2) "��" dec: 128 163 bin: 1000 10100011 hex: 80 A3 -- Edit bug report at http://bugs.php.net/?id=40052&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=40052&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=40052&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=40052&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=40052&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=40052&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=40052&r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=40052&r=needscript Try newer version:http://bugs.php.net/fix.php?id=40052&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=40052&r=support Expected behavior:http://bugs.php.net/fix.php?id=40052&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=40052&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=40052&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=40052&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=40052&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=40052&r=dst IIS Stability:http://bugs.php.net/fix.php?id=40052&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=40052&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=40052&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=40052&r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=40052&r=mysqlcfg
#40039 [Opn->Fbk]: Seg fault during uksort
ID: 40039 Updated by: [EMAIL PROTECTED] Reported By: aren at corp dot oodle dot com -Status: Open +Status: Feedback Bug Type: Reproducible crash Operating System: Linux 2.6.5 PHP Version: 5.2.0 New Comment: Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with , is max. 10-20 lines long and does not require any external resources such as databases, etc. If the script requires a database to demonstrate the issue, please make sure it creates all necessary tables, stored procedures etc. Please avoid embedding huge scripts into the report. Without a reproduce script it would be impossible for us to replicate and resolve the problem. Previous Comments: [2007-01-07 22:01:58] aren at corp dot oodle dot com A contrived example does not exhibit the crash. Even a different code path through the code that is crashing does not crash. It is only this particular case that crashes every time. From the debugging I've done, it looks like memory is being accidentally overwritten. [2007-01-06 16:43:06] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with , is max. 10-20 lines long and does not require any external resources such as databases, etc. If the script requires a database to demonstrate the issue, please make sure it creates all necessary tables, stored procedures etc. Please avoid embedding huge scripts into the report. [2007-01-06 00:11:16] aren at corp dot oodle dot com Description: I reliably get a seg fault during execution of uksort() in our web application. Unfortunately, the seg fault is not reproducible with any simpler test case, and other code paths over the same code work fine. PHP line in question: uksort($arr_values, array($this, '_compare_values')); GDB output: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1208600896 (LWP 30559)] 0x01063602 in zend_call_function (fci=0xbfe7e950, fci_cache=0x0) at /php-5.2.0/Zend/zend_execute_API .c:661 661 if (Z_TYPE_P(fci->function_name)==IS_ARRAY) { /* assume array($obj, $name) couple */ (gdb) print fci.function_name $3 = (zval *) 0x0 Actual result: -- Segfault trace: (gdb) bt #0 0x01063602 in zend_call_function (fci=0xbfe7e950, fci_cache=0x0) at /php-5.2.0/Zend/zend_execute_API.c:661 #1 0x01064660 in call_user_function_ex (function_table=0x0, object_pp=0x0, function_name=0x0, retval_ptr_ptr=0x0, param_count=0, params=0x0, no_separation=0, symbol_table=0x0) at /php-5.2.0/Zend/zend_execute_API.c:602 #2 0x0106469c in call_user_function (function_table=0x95c12f0, object_pp=0x0, function_name=0x0, retval_ptr=0xbfe7ea00, param_count=2, params=0xbfe7e9f8) at /php-5.2.0/Zend/zend_execute_API.c:575 #3 0x00fd3b12 in array_user_key_compare (a=0xb765d404, b=0xb765d3fc) at /php-5.2.0/ext/standard/array.c: 736 #4 0x0107cff8 in zend_qsort (base=0xb765d3fc, nmemb=3, siz=4, compare=0xfd3a9c ) at /php-5.2.0/Zend/zend_qsort.c:86 #5 0x010777e9 in zend_hash_sort (ht=0xb75aff48, sort_func=0x107cf70 , compar=0xfd3a9c , renumber=0) at /php-5.2.0/Zend/zend_hash.c:1218 #6 0x00fd3d12 in zif_uksort (ht=2, return_value=0xb75dd098, return_value_ptr=0x0, this_ptr=0x0, return_value_used=0) at /php-5.2.0/ext/standard/array.c: 774 A watchpoint on the user_compare_func_name shows it is set in zif_uksort's call to zend_get_parameters_ex (as expected): (gdb) watch basic_globals.user_compare_func_name Old value = (zval **) 0x0 New value = (zval **) 0xb7d2695c 0x010cd0f8 in zend_get_parameters_ex (param_count=0) at /php-5.2.0/Zend/zend_API.c:134 134 *param = (zval **) p-(arg_count--); (gdb) bt #0 0x010cd0f8 in zend_get_parameters_ex (param_count=0) at /php-5.2.0/Zend/zend_API.c:134 #1 0x01031c78 in zif_uksort (ht=2, return_value=0xb75ef2ec, return_value_ptr=0x0, this_ptr=0x0, return_value_used=0) And overwritten here: (gdb) continue Continuing. Hardware watchpoint 4: *basic_globals.user_compare_func_name Old value = (zval *) 0xb75f0afc New value = (zval *) 0x0 0x00b32527 in memset () from /lib/tls/libc.so.6 (gdb) bt #0 0x00b32527 in memset () from /lib/tls/libc.so.6 #1 0x0040 in ?? () #2 0x010b816c in _ecalloc (nmemb=64, size=256) at /php-5.2.0/Zend/zend_alloc.c:173 8 #3 0x010d37f6 in _zend_hash_init (ht=0xb75eeb04, nSize=45, pHashFunction=0, pDestructor=0x10c0460 <_zval_ptr_dt
#40039 [Fbk->Opn]: Seg fault during uksort
ID: 40039 User updated by: aren at corp dot oodle dot com Reported By: aren at corp dot oodle dot com -Status: Feedback +Status: Open Bug Type: Reproducible crash Operating System: Linux 2.6.5 PHP Version: 5.2.0 New Comment: A contrived example does not exhibit the crash. Even a different code path through the code that is crashing does not crash. It is only this particular case that crashes every time. From the debugging I've done, it looks like memory is being accidentally overwritten. Previous Comments: [2007-01-06 16:43:06] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with , is max. 10-20 lines long and does not require any external resources such as databases, etc. If the script requires a database to demonstrate the issue, please make sure it creates all necessary tables, stored procedures etc. Please avoid embedding huge scripts into the report. [2007-01-06 00:11:16] aren at corp dot oodle dot com Description: I reliably get a seg fault during execution of uksort() in our web application. Unfortunately, the seg fault is not reproducible with any simpler test case, and other code paths over the same code work fine. PHP line in question: uksort($arr_values, array($this, '_compare_values')); GDB output: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1208600896 (LWP 30559)] 0x01063602 in zend_call_function (fci=0xbfe7e950, fci_cache=0x0) at /php-5.2.0/Zend/zend_execute_API .c:661 661 if (Z_TYPE_P(fci->function_name)==IS_ARRAY) { /* assume array($obj, $name) couple */ (gdb) print fci.function_name $3 = (zval *) 0x0 Actual result: -- Segfault trace: (gdb) bt #0 0x01063602 in zend_call_function (fci=0xbfe7e950, fci_cache=0x0) at /php-5.2.0/Zend/zend_execute_API.c:661 #1 0x01064660 in call_user_function_ex (function_table=0x0, object_pp=0x0, function_name=0x0, retval_ptr_ptr=0x0, param_count=0, params=0x0, no_separation=0, symbol_table=0x0) at /php-5.2.0/Zend/zend_execute_API.c:602 #2 0x0106469c in call_user_function (function_table=0x95c12f0, object_pp=0x0, function_name=0x0, retval_ptr=0xbfe7ea00, param_count=2, params=0xbfe7e9f8) at /php-5.2.0/Zend/zend_execute_API.c:575 #3 0x00fd3b12 in array_user_key_compare (a=0xb765d404, b=0xb765d3fc) at /php-5.2.0/ext/standard/array.c: 736 #4 0x0107cff8 in zend_qsort (base=0xb765d3fc, nmemb=3, siz=4, compare=0xfd3a9c ) at /php-5.2.0/Zend/zend_qsort.c:86 #5 0x010777e9 in zend_hash_sort (ht=0xb75aff48, sort_func=0x107cf70 , compar=0xfd3a9c , renumber=0) at /php-5.2.0/Zend/zend_hash.c:1218 #6 0x00fd3d12 in zif_uksort (ht=2, return_value=0xb75dd098, return_value_ptr=0x0, this_ptr=0x0, return_value_used=0) at /php-5.2.0/ext/standard/array.c: 774 A watchpoint on the user_compare_func_name shows it is set in zif_uksort's call to zend_get_parameters_ex (as expected): (gdb) watch basic_globals.user_compare_func_name Old value = (zval **) 0x0 New value = (zval **) 0xb7d2695c 0x010cd0f8 in zend_get_parameters_ex (param_count=0) at /php-5.2.0/Zend/zend_API.c:134 134 *param = (zval **) p-(arg_count--); (gdb) bt #0 0x010cd0f8 in zend_get_parameters_ex (param_count=0) at /php-5.2.0/Zend/zend_API.c:134 #1 0x01031c78 in zif_uksort (ht=2, return_value=0xb75ef2ec, return_value_ptr=0x0, this_ptr=0x0, return_value_used=0) And overwritten here: (gdb) continue Continuing. Hardware watchpoint 4: *basic_globals.user_compare_func_name Old value = (zval *) 0xb75f0afc New value = (zval *) 0x0 0x00b32527 in memset () from /lib/tls/libc.so.6 (gdb) bt #0 0x00b32527 in memset () from /lib/tls/libc.so.6 #1 0x0040 in ?? () #2 0x010b816c in _ecalloc (nmemb=64, size=256) at /php-5.2.0/Zend/zend_alloc.c:173 8 #3 0x010d37f6 in _zend_hash_init (ht=0xb75eeb04, nSize=45, pHashFunction=0, pDestructor=0x10c0460 <_zval_ptr_dtor>, persistent=0 '\0') at /php-5.2.0/Zend/zend_hash.c:169 #4 0x010cb5c8 in _zval_copy_ctor_func (zvalue=0xb75efe9c) at /php-5.2.0/Zend/zend_variables.c :133 #5 0x010e41b1 in zend_fetch_dimension_address (result=0xbff05fac, container_ptr=0xb75f63ac, dim=0xb75f46cc, dim_is_tmp_var=0, type=1) at /php-5.2.0/Zend/zend_variables.h :45 #6 0x01141155 in ZEND_FETCH_DIM_W_SPEC_CV_CV_HANDLER (execute_data=0xbff06180) at /php-5.2.0/Zend/zend_execute.c:2 71 #7 0x010e457d in execute (op_array=0xb7ae9340) at /php-5.2.0/Zend/zend_vm_execute. h:92 #8 0x010e47c9 in zend_do_fcall_common_helper_SPEC (execute_data=0xbff064e0) at /php-5.2.0/Zend/zend_vm_execute. h:2
#39337 [Opn->Bgs]: Array creation when using overloading (__get) does not work (NULL)
ID: 39337 Updated by: [EMAIL PROTECTED] Reported By: phpbugs at thequod dot de -Status: Open +Status: Bogus Bug Type: Arrays related Operating System: Ubuntu Linux PHP Version: 5CVS-2006-11-01 (CVS) New Comment: foo property is not actually created, hence the warning. Previous Comments: [2007-01-07 19:31:07] phpbugs at thequod dot de iliaa, thanks for taking the time to look at this. Unfortunately I don't understand your note. A::$foo is overloaded in class B and there it shows the IMHO correct behaviour (because in class B there's "var $foo"). The expected result in the last code example would have been: A: array(1) { [0]=> int(1) } B: array(1) { [0]=> int(1) } instead of: A: array(0) { } B: array(1) { [0]=> int(1) } [2007-01-07 04:10:47] [EMAIL PROTECTED] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php Notice: Indirect modification of overloaded property A::$foo has no effect. This is why the assignment has no effect. [2006-11-09 19:01:54] phpbugs at thequod dot de Re: I've also said it before.. it works, if the var is set in the constructor. To see the diff: vars[$v]) ) return $this->vars[$v]; return array(); } function __set($v, $vv) { echo "__set: '$v'\n"; var_dump($vv); $this->vars[$v] = $vv; } } class B extends A { var $foo; } $A = new A(); $B = new B(); echo "A: \n"; $A->foo[] = 1; var_dump( $A->foo ); echo "B: \n"; $B->foo[] = 1; var_dump( $B->foo ); ?> --- Result: --- A: array(0) { } B: array(1) { [0]=> int(1) } [2006-11-09 18:41:22] phpbugs at thequod dot de Ok. I've even slept over it. Why should this not work? - var) ) return $this->var; return array(); } } $A = new A(); $A->foo[] = 1; var_dump( $A->foo ); ?> - It prints: array(0) { } Your comment, which I've reread carefully, does not explain it. The temp var from __get() is first array and later the $var itself. Adding a __set() method to the class shows that this does not get called at all. [2006-11-09 00:30:50] [EMAIL PROTECTED] I've already explained everything, just read my previous comment carefully. The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/39337 -- Edit this bug report at http://bugs.php.net/?id=39337&edit=1
#40050 [Opn->Bgs]: Array assignment without references
ID: 40050 Updated by: [EMAIL PROTECTED] Reported By: BenBE at omorphia dot de -Status: Open +Status: Bogus Bug Type: Scripting Engine problem Operating System: Windows 2K PHP Version: 5.2.0 New Comment: Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php . Previous Comments: [2007-01-07 19:57:47] BenBE at omorphia dot de Description: When assigning an array by-value into itself PHP will insert a self-referencing Array into the new entry Reproduce code: --- $a = array(); $a[] =& $a; print_r($a); $b = array(); $b[] = $b; print_r($b); Expected result: array(1) { [0]=> array(1) { [0]=> array(1) { [0]=> *RECURSION* } } } array(1) { [0]=> array(0) { } } $b[0] should contain an empty array because $b was assigned by-value, i.e. should get copied. Actual result: -- array(1) { [0]=> array(1) { [0]=> array(1) { [0]=> *RECURSION* } } } array(1) { [0]=> array(1) { [0]=> array(1) { [0]=> *RECURSION* } } } Comparing the references (see my entry regarding Spotting References) you find that $b and $b[0] are different pointers and $b[0] is an array like the one created in $a. -- Edit this bug report at http://bugs.php.net/?id=40050&edit=1
#40051 [NEW]: Spotting references
From: BenBE at omorphia dot de Operating system: Windows 2K PHP version: 5.2.0 PHP Bug Type: Feature/Change Request Bug description: Spotting references Description: When trying to serialize a variable by hand you need a way to find out, if this variable contains references between two fields or circular references (recursion). Currently there's no way to do this without doing crappy tests (modifying the variables in questions and check for changes being reflected in the other one). Reproduce code: --- About 50 LOC (See my comment on Spotting References at http://php.net/manual/en/language.references.spot.php) Expected result: //Using internal functionality ;-) $a = is_ref($var1, $var2); Actual result: -- Slow reference testing due to much overhead by not being supported by the PHP internals ... internally this would be about 10 LOC IMHO. -- Edit bug report at http://bugs.php.net/?id=40051&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=40051&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=40051&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=40051&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=40051&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=40051&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=40051&r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=40051&r=needscript Try newer version:http://bugs.php.net/fix.php?id=40051&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=40051&r=support Expected behavior:http://bugs.php.net/fix.php?id=40051&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=40051&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=40051&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=40051&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=40051&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=40051&r=dst IIS Stability:http://bugs.php.net/fix.php?id=40051&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=40051&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=40051&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=40051&r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=40051&r=mysqlcfg
#40050 [NEW]: Array assignment without references
From: BenBE at omorphia dot de Operating system: Windows 2K PHP version: 5.2.0 PHP Bug Type: Scripting Engine problem Bug description: Array assignment without references Description: When assigning an array by-value into itself PHP will insert a self-referencing Array into the new entry Reproduce code: --- $a = array(); $a[] =& $a; print_r($a); $b = array(); $b[] = $b; print_r($b); Expected result: array(1) { [0]=> array(1) { [0]=> array(1) { [0]=> *RECURSION* } } } array(1) { [0]=> array(0) { } } $b[0] should contain an empty array because $b was assigned by-value, i.e. should get copied. Actual result: -- array(1) { [0]=> array(1) { [0]=> array(1) { [0]=> *RECURSION* } } } array(1) { [0]=> array(1) { [0]=> array(1) { [0]=> *RECURSION* } } } Comparing the references (see my entry regarding Spotting References) you find that $b and $b[0] are different pointers and $b[0] is an array like the one created in $a. -- Edit bug report at http://bugs.php.net/?id=40050&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=40050&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=40050&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=40050&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=40050&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=40050&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=40050&r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=40050&r=needscript Try newer version:http://bugs.php.net/fix.php?id=40050&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=40050&r=support Expected behavior:http://bugs.php.net/fix.php?id=40050&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=40050&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=40050&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=40050&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=40050&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=40050&r=dst IIS Stability:http://bugs.php.net/fix.php?id=40050&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=40050&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=40050&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=40050&r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=40050&r=mysqlcfg
#39337 [Bgs->Opn]: Array creation when using overloading (__get) does not work (NULL)
ID: 39337 User updated by: phpbugs at thequod dot de Reported By: phpbugs at thequod dot de -Status: Bogus +Status: Open Bug Type: Arrays related Operating System: Ubuntu Linux PHP Version: 5CVS-2006-11-01 (CVS) New Comment: iliaa, thanks for taking the time to look at this. Unfortunately I don't understand your note. A::$foo is overloaded in class B and there it shows the IMHO correct behaviour (because in class B there's "var $foo"). The expected result in the last code example would have been: A: array(1) { [0]=> int(1) } B: array(1) { [0]=> int(1) } instead of: A: array(0) { } B: array(1) { [0]=> int(1) } Previous Comments: [2007-01-07 04:10:47] [EMAIL PROTECTED] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php Notice: Indirect modification of overloaded property A::$foo has no effect. This is why the assignment has no effect. [2006-11-09 19:01:54] phpbugs at thequod dot de Re: I've also said it before.. it works, if the var is set in the constructor. To see the diff: vars[$v]) ) return $this->vars[$v]; return array(); } function __set($v, $vv) { echo "__set: '$v'\n"; var_dump($vv); $this->vars[$v] = $vv; } } class B extends A { var $foo; } $A = new A(); $B = new B(); echo "A: \n"; $A->foo[] = 1; var_dump( $A->foo ); echo "B: \n"; $B->foo[] = 1; var_dump( $B->foo ); ?> --- Result: --- A: array(0) { } B: array(1) { [0]=> int(1) } [2006-11-09 18:41:22] phpbugs at thequod dot de Ok. I've even slept over it. Why should this not work? - var) ) return $this->var; return array(); } } $A = new A(); $A->foo[] = 1; var_dump( $A->foo ); ?> - It prints: array(0) { } Your comment, which I've reread carefully, does not explain it. The temp var from __get() is first array and later the $var itself. Adding a __set() method to the class shows that this does not get called at all. [2006-11-09 00:30:50] [EMAIL PROTECTED] I've already explained everything, just read my previous comment carefully. [2006-11-09 00:22:16] phpbugs at thequod dot de Sorry, to reopen it again. The "Reproduce code" in the comment above was wrong. I've let it return "array()" always and this changes the output, so that it is "array()" instead of "NULL". But still: the array does not get changed! I've written a comment for Bug 39426, which seems to suffer from something related, but cannot post it, because it's bogus.. :/ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/39337 -- Edit this bug report at http://bugs.php.net/?id=39337&edit=1
#37879 [Asn->Bgs]: Wrong Character Encoding, Loses Characters
ID: 37879 Updated by: [EMAIL PROTECTED] Reported By: captainqwark at gmail dot com -Status: Assigned +Status: Bogus Bug Type: MSSQL related Operating System: Windows XP PHP Version: 5.1.4 Assigned To: fmk New Comment: Use the MSSQL Client library settings to specify the convertion (ANSI to OEM). The PHP extension does not perform any encoding of the data it's all done in the client library. Previous Comments: [2006-06-21 22:31:21] captainqwark at gmail dot com Description: Retrieving data from a mssql database using ISO-8859-1 internaly returns wrong characters for french characters. Reproduce code: --- $mssql = mssql_connect("-","-","-"); if(!$mssql){ echo "connect failed\r\n"; } else { echo "connect successful\r\n"; } mssql_select_db("contacts",$mssql); $selectSQL = "SELECT first_name FROM contacts ORDER BY username"; $result = mssql_query($selectSQL, $mssql); while ($row = mssql_fetch_array($result)) { echo $row['first_name']; } Expected result: Josée Actual result: -- Jos -- Edit this bug report at http://bugs.php.net/?id=37879&edit=1
#40006 [Opn->Bgs]: Memory leak in sybase_query()
ID: 40006 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Open +Status: Bogus Bug Type: Sybase (dblib) related Operating System: CentOS 4 PHP Version: 5CVS-2007-01-03 (CVS) New Comment: Please do not submit the same bug more than once. An existing bug report already describes this very problem. Even if you feel that your issue is somewhat different, the resolution is likely to be the same. Thank you for your interest in PHP. Dupe of #39058 Previous Comments: [2007-01-03 08:13:09] [EMAIL PROTECTED] Description: Calling sybase_query() for a SELECT query that returns multiple rows causes the memory limit to be hit or, in the case where the memory manager isn't compiled in, memory usage to increase until the PHP process is killed. I'm running Sybase ASE 15.0 on CentOS 4. The problem seems to occur both with PHP_5_2 CVS and also PHP 4.4.4. PHP was compiled with --with-sybase=/usr/local/sybase; /usr/local/sybase being the installation directory for ASE on the box in question. This looks quite similar to bug #39508, but that's using sybase-ct instead of straight sybase. Reproduce code: --- 0', $db)) echo "Multiple row select complete.\n"; else echo "Multiple row select failed.\n"; sybase_query('DROP TABLE phptest', $db) or print("Error dropping table.\n"); sybase_close($db) or die("Error closing connection.\n"); ?> Expected result: Table created. Records inserted, attempting select... Single row select complete. Multiple row select complete. Actual result: -- Table created. Records inserted, attempting select... Single row select complete. Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 3434496 bytes) in /tmp/test-sybase.php on line 15 -- Edit this bug report at http://bugs.php.net/?id=40006&edit=1
#39451 [Opn->Fbk]: upload_tmp_dir directive not used properly
ID: 39451 Updated by: [EMAIL PROTECTED] Reported By: digdug3 at zonnet dot nl -Status: Open +Status: Feedback Bug Type: Filesystem function related Operating System: Windows 2000 PHP Version: 5.2.0 New Comment: Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.2-win32-latest.zip Previous Comments: [2006-11-12 11:53:34] digdug3 at zonnet dot nl All extensions disabled, can be repoduced with an phpinfo() and Apache running virtual directories [2006-11-09 15:35:23] digdug3 at zonnet dot nl Description: The upload_tmp_dir is set in an virtual host file. When php_info() is called the directive is set properly, but all relying functions to upload_tmp_dir use the standard (C:\WINNT\TMP). Used to work correctly with previous version. Apache 2.2.3/PHP 5.2.0/Windows 2000 -- Edit this bug report at http://bugs.php.net/?id=39451&edit=1
#39191 [Opn->Fbk]: PHP.ini doesnt load
ID: 39191 Updated by: [EMAIL PROTECTED] Reported By: pholm at resmc dot com -Status: Open +Status: Feedback Bug Type: PHP options/info functions Operating System: Windows 2003 Server PHP Version: 5.1.6 New Comment: Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.2-win32-latest.zip Previous Comments: [2006-10-19 08:17:50] pholm at resmc dot com Indeed forgot to mention that in the current phpinfo() the value of the php.ini location is: D:\php5\php.ini; Just to emphasise: all variables under phpinfo() are loaded just as I have configured them in the php.ini file; All setup instructions have been followed to the letter, included about a dozen other installation instructions (sometimes conflicting) which I have found on the internet, and also from 3 books that I bought on how to install php (being: PHP5 from Wiley Publishing, Howto PHP&MySQL from McGrawHill and PHP5 easy steps from Computer Step) But.. the very moment that I uncomment and use doc_root with any valid value, then php will not load anything from php.ini. [2006-10-19 07:58:58] [EMAIL PROTECTED] Please follow the directions in the last comment here: http://bugs.php.net/bug.php?id=37919 And I have to ask it again (since you didn't reply): What is the valie of "php.ini" in phpinfo()? [2006-10-19 07:53:19] pholm at resmc dot com Initially I used all the default values and locations; Put php.ini in both the D:\php folder and c:\Windows; Just to check if it had to do anything with the location it was loaded from; Later I added the PHPRC environment variable to point to D:\php and used only that location; Believe me I have spent 5 days and nites testing all possible combinations, before filling this error report!!! And indeed... I used (when php was loaded) the phpinfo() to verify the loaded location as well! [2006-10-19 07:42:56] [EMAIL PROTECTED] Where did you put it? What is the valie of "php.ini" in phpinfo()? [2006-10-18 23:30:41] pholm at resmc dot com Description: PHP.ini doesnt load at startup when IIS 6 is configured with a virtual directory and the doc_root parameter is set. Reproduce code: --- Tested basic php.ini files with 3 lines: doc_root = "D:\WWWroot" extension_dir = "D:\php5\ext" cgi.force_redirect = 0 Nothing from the file is loaded! When commentting out doc_root, the whole file is loaded; tested the same with the complete php.ini-recommended, gave the same result! Expected result: Should have loaded other parameters at least. Note: It is assumed that this issue relates to having and virtual directory for the PHP code files under IIS6 Actual result: -- Resolution found with: - commentting out doc_root - to resolve limited directory entry use: open_basedir = D:\WWWroot -- Edit this bug report at http://bugs.php.net/?id=39191&edit=1
#37672 [Opn->Fbk]: Cannot start script from directory containing international characters.
ID: 37672 Updated by: [EMAIL PROTECTED] Reported By: php-bugs at shad dot pp dot ru -Status: Open +Status: Feedback Bug Type: Unknown/Other Function Operating System: Windows 2000 SP4 + hotfixes PHP Version: 5.1.4 New Comment: Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.2-win32-latest.zip Previous Comments: [2006-06-19 10:50:51] php-bugs at shad dot pp dot ru Ok, here is an example. http://home.shad.pp.ru/test/ In this test directory you will find another directory containing cyrillic characters. Directory listing is provided via PHP script index.php, which is the same in both directories. If you try to access this cyrillic named directory, you will get blank screen. But you can access any file within this directory by direct links: http://home.shad.pp.ru/test/%D0%BA%D0%B8%D1%80%D0%B8%D0%BB%D0%BB%D0%B8%D1%86%D0%B0/text.txt http://home.shad.pp.ru/test/%D0%BA%D0%B8%D1%80%D0%B8%D0%BB%D0%BB%D0%B8%D1%86%D0%B0/test.rar I also made simple script containing only one command: Put it in the same directory as test.php. You will also get blank screen, trying to access it by url: http://home.shad.pp.ru/test/%D0%BA%D0%B8%D1%80%D0%B8%D0%BB%D0%BB%D0%B8%D1%86%D0%B0/test.php [2006-06-19 09:28:48] [EMAIL PROTECTED] Every other PHP user (including me) is able to open file directory containing non-ASCII characters. You didn't provide a piece of information (except for the error message) required to identify your problem. Please provide at least something useful. Until then -> bogus. [2006-06-19 08:29:46] php-bugs at shad dot pp dot ru You don't need unicode support to access directory with normal non-latin characters. Every other non-unicode program can access, correctly display name, rename or delete them using ANSI file api, which is used by PHP. [2006-06-19 07:23:25] [EMAIL PROTECTED] We're working on Unicode support in PHP6. Feel free to help us testing/improving it. Until then you have to live with what you have now. [2006-06-18 18:13:30] php-bugs at shad dot pp dot ru I've asked in php-windows maillist and received no answer. If you know where's the problem, please, post it here. Or post a ling to FAQ where I can find a solution. But I beleive, if you read my report a bit more carefully, you will see it's a problem of PHP. Let me explain. I can access every directory or file regardless of what characters are used for it's name, I can access (download or view for example) every file within such directory. But I CAN'T run a PHP script from such directory. PHP treats 'current directory' wrong after which it tries to include something from wrongly detected directory name and fails. It's PHP problem. If you want, I can produce an example directory, from which you will be able to download text and binary files, but get a blank screen trying to access _working_ PHP script. I will put the same script in another directory and it will work from there, you will see that. I will produce you any logs you want. The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/37672 -- Edit this bug report at http://bugs.php.net/?id=37672&edit=1
#39503 [Opn->Csd]: curl_multi doesn't work with socks5 proxy
ID: 39503 Updated by: [EMAIL PROTECTED] Reported By: type-v at mail dot ru -Status: Open +Status: Closed Bug Type: cURL related Operating System: Windows XP PHP Version: 5.2.0 Assigned To: edink New Comment: This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. That sounds like a libcurl limitation and there is little PHP can do about it. Previous Comments: [2006-12-15 18:13:36] type-v at mail dot ru Thanks, I've already downloaded the new package, but there is a new bug. SOCKS5 proxy in curl_multi cannot timeout or so. Now the results can be like this: Curl error on handle 1: SOCKS5 read timeout Curl error on handle 2: Connection time-out after 13109 ms Curl error on handle 3: Failed to receive SOCKS5 connect request ack. Curl error on handle 4: Failed to receive SOCKS5 connect request ack. Curl error on handle 5: Connection time-out after 33370 ms Curl error on handle 6: Connection time-out after 35418 ms So the whole script need 36 seconds to execute, instead of 10 ! [2006-11-14 20:00:33] [EMAIL PROTECTED] Bundled libcurl has been updated. You can grab the next snapshot from snaps.php.net for the updated php_curl.dll. [2006-11-13 21:18:10] [EMAIL PROTECTED] Edin can you please see if we can easily upgrade libcurl for win32 to 7.16.0. [2006-11-13 18:55:17] type-v at mail dot ru Description: curl_multi_exec() doesn't work with socks5 proxy. It was said that it would be fixed in version 7.16.0. But there is only 7.14 available in latest cvs of php5 and php6. When 7.16 will be available for download ? Reproduce code: --- $conn[$i]=curl_init("http://www.site.com/";); curl_setopt($conn[$i],CURLOPT_RETURNTRANSFER,true); curl_setopt($conn[$i],CURLOPT_HEADER,false); curl_setopt($conn[$i],CURLOPT_PROXY,$proxy); curl_setopt($conn[$i],CURLOPT_PROXYTYPE,CURLPROXY_SOCKS5); curl_setopt($conn[$i],CURLOPT_CONNECTTIMEOUT,10); curl_setopt($conn[$i],CURLOPT_TIMEOUT,10); curl_setopt($conn[$i],CURLOPT_NOSIGNAL,true); curl_setopt($conn[$i],CURLOPT_FOLLOWLOCATION,true); Expected result: All is ok. Actual result: -- Curl error on handle 0: Send failure: Socket is not connected Curl error on handle 1: Send failure: Socket is not connected And so on. -- Edit this bug report at http://bugs.php.net/?id=39503&edit=1
#39394 [Asn->Csd]: Make failed with openssl compilation option
ID: 39394 Updated by: [EMAIL PROTECTED] Reported By: david dot bourgeois at gmail dot com -Status: Assigned +Status: Closed Bug Type: Compile Failure Operating System: Red Hat 7.2 PHP Version: 5.2.0 Assigned To: pajoye New Comment: This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: [2006-11-06 14:20:03] sysadmin at rollerscapes dot net Update OpenSSL, its noted in the Manuel you always must use the latest version! [2006-11-06 08:32:57] david dot bourgeois at gmail dot com Description: Hi, I have a pb with compil of php 5.2.0 (previous versions of PHP5 work fine with the same compilation options). When I compile php 5.2.0 without openssl option, there is no problem. openssl version : 0.9.6m Compilation of PHP as a module with Apache 2.2.3 Reproduce code: --- You can see the configure options here : http://www.dlnet-inter.fr/compil-failed.txt Actual result: -- ext/openssl/.libs/openssl.o: In function `php_openssl_generate_private_key': /home/src/php-5.2.0/ext/openssl/openssl.c:2063: undefined reference to `DSA_get_default_method' collect2: ld returned 1 exit status make: *** [sapi/cli/php] Erreur 1 -- Edit this bug report at http://bugs.php.net/?id=39394&edit=1
#39130 [Asn->Fbk]: Compile failure with the compiler of VC++ 2005
ID: 39130 Updated by: [EMAIL PROTECTED] Reported By: ben dot yan at msn dot com -Status: Assigned +Status: Feedback Bug Type: Compile Failure Operating System: Windows PHP Version: 5.2.0RC5 Assigned To: wez New Comment: Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.2-win32-latest.zip Previous Comments: [2006-11-04 15:27:35] sailormax at inbox dot lv I have same error while trying compile my module. With previous PHP all was fine. With 5.2.0 all fine too, if comment 2 lines at config.w32.h: #define _USE_32BIT_TIME_T 1 #define HAVE_STDLIB_H 1 used VC++ 2005 Express Edition [2006-10-12 11:19:20] [EMAIL PROTECTED] I've seen this before; I think have the fix on a company laptop that is currently occupied and I'll commit it just as soon as I can get access to it again. [2006-10-12 08:28:29] [EMAIL PROTECTED] Wez, you added those lines for VC++ 2005 compability. Could you have a look? [2006-10-11 18:29:43] ben dot yan at msn dot com Description: Compile with VS.NET 2005 c:\program files\microsoft visual studio 8\vc\include\sys\stat.inl(44) : error C2466: cannot allocate an array of constant size 0 c:\program files\microsoft visual studio 8\vc\include\sys\stat.inl(49) : error C2466: cannot allocate an array of constant size 0 c:\program files\microsoft visual studio 8\vc\include\sys\utime.inl(39) : error C2466: cannot allocate an array of constant size 0 c:\program files\microsoft visual studio 8\vc\include\sys\utime.inl(44) : error C2466: cannot allocate an array of constant size 0 c:\program files\microsoft visual studio 8\vc\include\sys\utime.inl(49) : error C2466: cannot allocate an array of constant size 0 c:\program files\microsoft visual studio 8\vc\include\sys\utime.inl(78) : error C2466: cannot allocate an array of constant size 0 Reproduce code: --- look the zend.h : ... #include /* * general definitions */ #ifdef ZEND_WIN32 # include "zend_config.w32.h" # define ZEND_PATHS_SEPARATOR ';' #elif defined(XXX) ... #endif Expected result: Look the line 151 at the <../main/config.w32.h>: /* vs.net 2005 has a 64-bit time_t. This will likely break * 3rdParty libs that were built with older compilers; switch * back to 32-bit */ #define _USE_32BIT_TIME_T 1 #define HAVE_STDLIB_H 1 so the config.w32.h should be included first. But it isn't so in the zend.h: #include /* * general definitions */ #ifdef ZEND_WIN32 # include "zend_config.w32.h" # define ZEND_PATHS_SEPARATOR ';' #elif defined(XXX) ... #endif This would induce the compile error. and if #include BEHIND the #ifdef ZEND_WIN32 # include "zend_config.w32.h" # define ZEND_PATHS_SEPARATOR ';' #elif defined(XXX) ... #endif ,it will be ok. Actual result: -- error C2466: cannot allocate an array of constant size 0 -- Edit this bug report at http://bugs.php.net/?id=39130&edit=1
#37879 [Opn->Asn]: Wrong Character Encoding, Loses Characters
ID: 37879 Updated by: [EMAIL PROTECTED] Reported By: captainqwark at gmail dot com -Status: Open +Status: Assigned Bug Type: MSSQL related Operating System: Windows XP PHP Version: 5.1.4 -Assigned To: +Assigned To: fmk Previous Comments: [2006-06-21 22:31:21] captainqwark at gmail dot com Description: Retrieving data from a mssql database using ISO-8859-1 internaly returns wrong characters for french characters. Reproduce code: --- $mssql = mssql_connect("-","-","-"); if(!$mssql){ echo "connect failed\r\n"; } else { echo "connect successful\r\n"; } mssql_select_db("contacts",$mssql); $selectSQL = "SELECT first_name FROM contacts ORDER BY username"; $result = mssql_query($selectSQL, $mssql); while ($row = mssql_fetch_array($result)) { echo $row['first_name']; } Expected result: Josée Actual result: -- Jos -- Edit this bug report at http://bugs.php.net/?id=37879&edit=1
#40047 [Opn->Bgs]: stream_eof() return code ignored
ID: 40047 Updated by: [EMAIL PROTECTED] Reported By: alex at kiesel dot name -Status: Open +Status: Bogus Bug Type: Streams related Operating System: Gentoo Linux PHP Version: 5.2.0 New Comment: The return value of the function is most definitely not ignored. The internal streams IO requires the additional read, hence the 2nd call. Previous Comments: [2007-01-07 13:01:44] alex at kiesel dot name Description: When reading through a stream wrapper, the method stream_eof() is called, but it's result is discarded and ignored. This leads to an obsolete call to stream_read(). Reproduce code: --- http://kiesel.name/php/stream.phps Expected result: string(11) "stream_stat" string(43) "stream_read(8192) / 80 / returning 80 bytes" string(14) "stream_eof(): " bool(true) Actual result: -- string(11) "stream_stat" string(43) "stream_read(8192) / 80 / returning 80 bytes" string(14) "stream_eof(): " bool(true) string(42) "stream_read(8192) / 80 / returning 0 bytes" string(14) "stream_eof(): " bool(true) -- Edit this bug report at http://bugs.php.net/?id=40047&edit=1
#40049 [Opn->Bgs]: Closing an SSL connection results in a Segmentation fault
ID: 40049 Updated by: [EMAIL PROTECTED] Reported By: bugs dot php dot net at daskalou dot com -Status: Open +Status: Bogus Bug Type: cURL related Operating System: CentOS 3.8 (Linux Kernel 2.4.20) PHP Version: 5.2.0 New Comment: Sorry, but your problem does not imply a bug in PHP itself. For a list of more appropriate places to ask for help using PHP, please visit http://www.php.net/support.php as this bug system is not the appropriate forum for asking support questions. Due to the volume of reports we can not explain in detail here why your report is not a bug. The support channels will be able to provide an explanation for you. Thank you for your interest in PHP. The reason is that MySQL and libcurl are linked against different SSL libraries. Previous Comments: [2007-01-07 16:44:05] bugs dot php dot net at daskalou dot com Description: When using either the curl_close() or fclose() functions on an open HTTPS/SSL connection (open with either the curl functions or fopen() or fsockopen()) using the PHP CLI, I get this: Segmentation fault (core dumped) Note that the problem only occurs when using the HTTPS protocol but not with the HTTP protocol. Others are having this same problem with HTTPS/SSL access but it looks like the PHP developers are saying it's not a bug with PHP but rather with MySQL: http://bugs.php.net/bug.php?id=39570 http://bugs.php.net/bug.php?id=38393 My current installation details are: PHP 5.2 MySQL 5.0.27-0 Apache 1.3.37 Hosted on a CentOS 3.8 installation (which includes cPanel) This bug was not present when I had PHP 4.4.3 and MySQL 5.0.25 installed. Reproduce code: --- $fp = fopen("https://webmail.optusnet.com.au/";, "r"); fclose($fp); echo "done!"; Expected result: It should print out "done!" Actual result: -- Segmentation fault (cored dumped) -- Edit this bug report at http://bugs.php.net/?id=40049&edit=1
#40048 [Opn->Bgs]: SQL IN (...) and = ANY (...) not supported by PDO
ID: 40048 Updated by: [EMAIL PROTECTED] Reported By: bugs dot php dot net at andrewprendergast dot com -Status: Open +Status: Bogus Bug Type: PDO related Operating System: Linux Red Hat EL PHP Version: 5.2.1RC2 New Comment: Sorry, but your problem does not imply a bug in PHP itself. For a list of more appropriate places to ask for help using PHP, please visit http://www.php.net/support.php as this bug system is not the appropriate forum for asking support questions. Due to the volume of reports we can not explain in detail here why your report is not a bug. The support channels will be able to provide an explanation for you. Thank you for your interest in PHP. PDO does not implement query parsing it is entirely up to the database. So the features you are talking about would only work if supported by the underlying database. Previous Comments: [2007-01-07 13:35:55] bugs dot php dot net at andrewprendergast dot com Description: PDO doesn't allow one to SELECT or DELETE groups of records based on their primary key. Specifically, the SQL clauses WHERE ... IN (...) and WHERE ... = ANY (...) does not work for more than one record. As a workaround I can construct an SQL query and execute it myself but that defeats the niceness of PDO. Reproduce code: --- the following should return the records with ID 1 & 2: $dbh = new PDO('mysql:host=localhost;dbname=mobop', "root", ""); $stmt = $dbh->prepare("SELECT * FROM news_item WHERE news_item_id IN(?)"); if ( $stmt->execute(array("1, 2")) ) while ( ($row = $stmt->fetch()) ) print_r($row); But it doesn't. The following execute statement fails as well: $stmt->execute(array(array(2,1))) NB: The intention of the 2nd example is that when binding an array, it seems natural that PDO would assume its part of an IN or =ANY clause and convert it into a bunch of comma separated keys automagically. Some of the higher level PDO based O/R abstractions currently bouncing around like Doctrine would then be able to support (without any modificaiton) queries that affect multiple records. Expected result: Two records should be loaded. Actual result: -- One record is loaded. -- Edit this bug report at http://bugs.php.net/?id=40048&edit=1
#40049 [NEW]: Closing an SSL connection results in a Segmentation fault
From: bugs dot php dot net at daskalou dot com Operating system: CentOS 3.8 (Linux Kernel 2.4.20) PHP version: 5.2.0 PHP Bug Type: cURL related Bug description: Closing an SSL connection results in a Segmentation fault Description: When using either the curl_close() or fclose() functions on an open HTTPS/SSL connection (open with either the curl functions or fopen() or fsockopen()) using the PHP CLI, I get this: Segmentation fault (core dumped) Note that the problem only occurs when using the HTTPS protocol but not with the HTTP protocol. Others are having this same problem with HTTPS/SSL access but it looks like the PHP developers are saying it's not a bug with PHP but rather with MySQL: http://bugs.php.net/bug.php?id=39570 http://bugs.php.net/bug.php?id=38393 My current installation details are: PHP 5.2 MySQL 5.0.27-0 Apache 1.3.37 Hosted on a CentOS 3.8 installation (which includes cPanel) This bug was not present when I had PHP 4.4.3 and MySQL 5.0.25 installed. Reproduce code: --- $fp = fopen("https://webmail.optusnet.com.au/";, "r"); fclose($fp); echo "done!"; Expected result: It should print out "done!" Actual result: -- Segmentation fault (cored dumped) -- Edit bug report at http://bugs.php.net/?id=40049&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=40049&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=40049&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=40049&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=40049&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=40049&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=40049&r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=40049&r=needscript Try newer version:http://bugs.php.net/fix.php?id=40049&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=40049&r=support Expected behavior:http://bugs.php.net/fix.php?id=40049&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=40049&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=40049&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=40049&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=40049&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=40049&r=dst IIS Stability:http://bugs.php.net/fix.php?id=40049&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=40049&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=40049&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=40049&r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=40049&r=mysqlcfg
#40048 [NEW]: SQL IN (...) and = ANY (...) not supported by PDO
From: bugs dot php dot net at andrewprendergast dot com Operating system: Linux Red Hat EL PHP version: 5.2.1RC2 PHP Bug Type: PDO related Bug description: SQL IN (...) and = ANY (...) not supported by PDO Description: PDO doesn't allow one to SELECT or DELETE groups of records based on their primary key. Specifically, the SQL clauses WHERE ... IN (...) and WHERE ... = ANY (...) does not work for more than one record. As a workaround I can construct an SQL query and execute it myself but that defeats the niceness of PDO. Reproduce code: --- the following should return the records with ID 1 & 2: $dbh = new PDO('mysql:host=localhost;dbname=mobop', "root", ""); $stmt = $dbh->prepare("SELECT * FROM news_item WHERE news_item_id IN(?)"); if ( $stmt->execute(array("1, 2")) ) while ( ($row = $stmt->fetch()) ) print_r($row); But it doesn't. The following execute statement fails as well: $stmt->execute(array(array(2,1))) NB: The intention of the 2nd example is that when binding an array, it seems natural that PDO would assume its part of an IN or =ANY clause and convert it into a bunch of comma separated keys automagically. Some of the higher level PDO based O/R abstractions currently bouncing around like Doctrine would then be able to support (without any modificaiton) queries that affect multiple records. Expected result: Two records should be loaded. Actual result: -- One record is loaded. -- Edit bug report at http://bugs.php.net/?id=40048&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=40048&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=40048&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=40048&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=40048&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=40048&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=40048&r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=40048&r=needscript Try newer version:http://bugs.php.net/fix.php?id=40048&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=40048&r=support Expected behavior:http://bugs.php.net/fix.php?id=40048&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=40048&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=40048&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=40048&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=40048&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=40048&r=dst IIS Stability:http://bugs.php.net/fix.php?id=40048&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=40048&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=40048&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=40048&r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=40048&r=mysqlcfg
#40047 [NEW]: stream_eof() return code ignored
From: alex at kiesel dot name Operating system: Gentoo Linux PHP version: 5.2.0 PHP Bug Type: Streams related Bug description: stream_eof() return code ignored Description: When reading through a stream wrapper, the method stream_eof() is called, but it's result is discarded and ignored. This leads to an obsolete call to stream_read(). Reproduce code: --- http://kiesel.name/php/stream.phps Expected result: string(11) "stream_stat" string(43) "stream_read(8192) / 80 / returning 80 bytes" string(14) "stream_eof(): " bool(true) Actual result: -- string(11) "stream_stat" string(43) "stream_read(8192) / 80 / returning 80 bytes" string(14) "stream_eof(): " bool(true) string(42) "stream_read(8192) / 80 / returning 0 bytes" string(14) "stream_eof(): " bool(true) -- Edit bug report at http://bugs.php.net/?id=40047&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=40047&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=40047&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=40047&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=40047&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=40047&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=40047&r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=40047&r=needscript Try newer version:http://bugs.php.net/fix.php?id=40047&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=40047&r=support Expected behavior:http://bugs.php.net/fix.php?id=40047&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=40047&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=40047&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=40047&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=40047&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=40047&r=dst IIS Stability:http://bugs.php.net/fix.php?id=40047&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=40047&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=40047&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=40047&r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=40047&r=mysqlcfg
#6893 [Asn->Bgs]: feature request - makelinks() function
ID: 6893 Updated by: [EMAIL PROTECTED] Reported By: pgl at instinct dot org -Status: Assigned +Status: Bogus Bug Type: Feature/Change Request Operating System: N/A PHP Version: 4.0.2 Assigned To: tal New Comment: Please file PEAR/PECL related issues in the PEAR/PECL bug tracker. Previous Comments: [2003-01-21 15:50:30] [EMAIL PROTECTED] How about posting a link to this source online? [2003-01-21 14:23:19] alan at frostick dot com I developed such a function in php with extensive exceptions checking, some months ago. If it would help you, you might like to eyeball it. It may give you valuable and time-saving clues to coding it as a C++ function. Please send me an email address to deliver you part of my script library as an attachment. [2002-04-28 13:35:01] [EMAIL PROTECTED] dealing with trailing periods and commas on urls is pretty easy -- just ignore them if they're followed by a whitespace character. (it's not 100% reliable, of course, but in my experience is more often correct than including the trailing period or comma in that case.) [2002-04-28 06:57:19] pear at tfc-central dot com In playing with this kind of thing in the past I've come up against the following problem: How do you handle URLs embedded in sentences which have contact with a full stop or commas? "Have a look at www.examples.com/hi.html, it might help you out" Baring in mind that some sites DO include a comma in the URL, for example any site powered by the Vignette content managment system - example: http://www.vignette.com/CDA/Site/0,2097,1-1-1489,00.html The same goes for sentences where the URL is followed directly by a full stop. The other thing that might be worth taking in to consideration is that many site designs will "break" if suitably long URLs are added (this is especially true for forums, which will be a major use for this function). The best solution I have seen is vBulletin's, where long URLs are shortened to look like this: http://example.com/lon...blah.html Where the full URL (to which the above text is linked) looks like this: http://example.com/long-url-here/blah/blah/blah.html Obviously different sites would need different lengths of URL, so whether or not URLs were shortened like this (and to what extent they were shortened) should probably be specified by an optional second paramater of some sort. Hope that helps, Simon [2002-04-28 02:24:17] [EMAIL PROTECTED] I'm planning to write a String_Manipulation (or something similiar, we'll probably fight about that... ;-)). Assigned to myself. -Tal The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/6893 -- Edit this bug report at http://bugs.php.net/?id=6893&edit=1
#6771 [Opn->Asn]: Import LIB files needed in Win32 distribution
ID: 6771 Updated by: [EMAIL PROTECTED] Reported By: lillge at accesscom dot com -Status: Open +Status: Assigned Bug Type: Feature/Change Request Operating System: Win32 PHP Version: 4.0.2 -Assigned To: +Assigned To: edink Previous Comments: [2000-09-15 07:54:00] lillge at accesscom dot com In the php-4.0.x-Win32 distribution, please include the import LIB files that correspond to the DLLs. I simply want to build a new extension DLL. Currently, I must build all of PHP just so that I can get the import LIB files that I need to link my extension DLL. (FYI: Building on Win32 can be very difficult. For example, right now bison is crashing and I'm stuck. I'm going through all this headache just to get access to those missing LIB files.) Actually, my request is more general: Please make sure that everything is included so that it's possible to build a new extension DLL on Win32 without having to rebuild PHP. (I think the import LIB files are all I need, but I'm not completely sure.) -- Edit this bug report at http://bugs.php.net/?id=6771&edit=1
#6503 [Opn->Asn]: no support for multiple resultset query?
ID: 6503 Updated by: [EMAIL PROTECTED] Reported By: alonso at computacionlegal dot com -Status: Open +Status: Assigned Bug Type:Feature/Change Request PHP Version: 4.0.1pl2 -Assigned To: +Assigned To: tony2001 New Comment: Assigned to extension maintainer. Previous Comments: [2000-09-02 18:34:34] [EMAIL PROTECTED] reclassified. [2000-09-02 08:15:57] alonso at computacionlegal dot com could some please program odbc_num_resultsets() odbc_next_resultset() -- Edit this bug report at http://bugs.php.net/?id=6503&edit=1
#6418 [Opn->WFx]: Multiple class extends ordering error
ID: 6418 Updated by: [EMAIL PROTECTED] Reported By: nathan at cjhunter dot com -Status: Open +Status: Wont fix Bug Type: Feature/Change Request Operating System: Linux 2.0.36 PHP Version: 4.0.1pl2 New Comment: You need to declare the class before you use it. The other way around doesn't make sense and will not ever be supported. With the "class per file" approach you can use autoload() or spl_autoload() Previous Comments: [2006-07-15 10:20:15] info at triin dot net I had some quite hard time figuring out what is wrong with my code - this defenetly is a bug, not a feature request. I had a lot of PHP files (class in each file) and at the beginning of each one there were the require_once statements to include all the other classes that were used by that class. And suddenly there was a weird collision... [2002-09-09 09:04:35] scallop at iki dot fi Yes, this is a feature that is definately needed in PHP. I am currently working on a project which has very complex class hierarchy (dozens of classes extending each other). Due to complex class hierarchy and the huge amount of code, I am developing classes so that each class is in it's own file. And to make it all simple, I use a small script to combine all this classes into one huge file. It is always possible to create a system that checks class dependencies and creates a combined classfile with classes in proper order. However, I think this is a feature that _should_ be provided by php. (tested on versions 4.2.3, 4.3.0 - still not implemented) I hope I explained my self clear enough. See my report (marked as duplicate): http://bugs.php.net/bug.php?id=19312 [2000-08-31 08:48:21] [EMAIL PROTECTED] Yes, you cannot do this in PHP. In fact, you even shouldn't try doing this - why would you need to define class without knowing what it extends? I move it to feature request in the meantime, in case something will explain why this could be useful. [2000-08-29 12:20:10] nathan at cjhunter dot com Multiple class extends creates ordering error The below.. gives an error 'Fatal error: Class c: Cannot inherit from undefined class b in test.html on line 4', but.. works fine. I imagine this could be fixed by first ordering the classes by their given dependencies and then process them one by one. -- Edit this bug report at http://bugs.php.net/?id=6418&edit=1
#6107 [Opn->Csd]: increments are magic, decrements not
ID: 6107 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Open +Status: Closed Bug Type:Feature/Change Request PHP Version: 4.3.2 New Comment: This is not going to change, ever, and is documented behavior. Previous Comments: [2003-04-21 20:52:03] [EMAIL PROTECTED] Making this as a feature request again. [2003-04-21 17:34:20] [EMAIL PROTECTED] I added a note and example in the docs. Status -> Closed (wow, this is an old bug :) [2003-04-21 17:19:49] [EMAIL PROTECTED] After some quick research it looks like what you describe is expected behavior and therefore should be documented, but not changed (at least not without some discussion on php.internals or zend.engine2). In Zend/zend_operators.c: - ZEND_API int increment_function(zval *op1) { . . . case IS_STRING: /* Perl style string increment */ increment_string(op1); . . . } ZEND_API int decrement_function(zval *op1) { . . . case IS_STRING: /* Like perl we only support string increment */ /* Try to work with string as a number or leave it alone */ . . . } The increment_string() function works from right to left, incrementing any character in the range [A-Za-z0-9], if the character is Z, z, or 9, it will roll over to A, a, or 0 respectively and 'carry-over' to the next alphanumeric. Incrementing continues until no carry-over is encountered. Personally, it seems to me that there should be a decrement_string() equivalent, but this is a messy thing to do with strings anyway. [2000-08-11 09:08:30] [EMAIL PROTECTED] perhaps it´s more than I thought, try this: echo $n=''; echo ++$n; echo ++$n; what happens? nothing. If someone´s going to review that magical mechanism, he/she should document it OR improve it [2000-08-11 08:09:06] [EMAIL PROTECTED] depending on POV it could be a feature request too... The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/6107 -- Edit this bug report at http://bugs.php.net/?id=6107&edit=1
#5960 [Opn->Csd]: Output buffering and headers
ID: 5960 Updated by: [EMAIL PROTECTED] Reported By: wico at cnh dot nl -Status: Open +Status: Closed Bug Type: Feature/Change Request Operating System: linux PHP Version: 4.0 Latest CVS (04/08/2000) New Comment: Thank you for your bug report. This issue has already been fixed in the latest released version of PHP, which you can download at http://www.php.net/downloads.php headers_list() is available as of PHP5.0.0 Previous Comments: [2000-08-04 12:40:17] wico at cnh dot nl I d like to see some new function in php working with output buffering and headers i really like to change the headers that are send elsewhere in the script and/or by php maybe you can make these functions: $raw = ob_get_headers(); headers as the way the go to the client (separated by \n?) $array = ob_get_headers_array(); $array like: $headers[content-type] = "text/plain" and ob_clean_headers to put all the current headers in /dev/null i can use the functions for: 1. the sessions i made in php 2. to compress pages as gzip and i guess there a a lot of other options other can/will think about caps (efnet/#php) started making these functions somethime but he run out of time before he could finsh the (he got it working for cgi without killing childs :) i'm not a c programmer (it there where i 48 hours in a day i could learn it :) so i'am asking i someone / you can make them please since you can put headers (with outputbuffering on) after your html (and so are stored somewhere in memmory) i guess it would be to hard to change/clean them and so making those function Anyway i would be real glad i someone could do this script would look kinda this: Tnx in advance Greetz, Wico -- Edit this bug report at http://bugs.php.net/?id=5960&edit=1
#5748 [Opn->Asn]: use 'App Paths' registry key to specify path for supporting dlls
ID: 5748 Updated by: [EMAIL PROTECTED] Reported By: steve at srtware dot com -Status: Open +Status: Assigned Bug Type: Feature/Change Request Operating System: Windows 98 SE PHP Version: 4.0.1pl2 -Assigned To: +Assigned To: edink New Comment: You can already change the location of php.ini. Regarding the registry.. edin? Previous Comments: [2002-04-28 18:14:04] [EMAIL PROTECTED] updating summary [2000-07-23 12:47:46] steve at srtware dot com The installation was very easy for PWS, but when I got to the part about copying DLL files, I wondered why PHP didn't use the "App Paths" registry key, which I believe has officially replaced the PATH variable for Windows apps? HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths It would also be nice to pull the php.ini file from the folder where PHP is located, instead of the Windows folder. Then we users wouldn't have to copy anything to other directories. :) (Thanks for a great package!) -- Edit this bug report at http://bugs.php.net/?id=5748&edit=1
#5563 [Ana->WFx]: Change session.cache_expire value to be in seconds
ID: 5563 Updated by: [EMAIL PROTECTED] Reported By: colin at easydns dot com -Status: Analyzed +Status: Wont fix Bug Type: Feature/Change Request Operating System: RH6.2 PHP Version: 4.0.0 New Comment: This will never happen. Previous Comments: [2002-04-01 18:58:06] [EMAIL PROTECTED] Updated the subject. (this might never happen though..backwards compatibility, you know :) [2000-07-26 21:53:44] [EMAIL PROTECTED] This is definately a feature request. [2000-07-13 17:02:11] colin at easydns dot com The session.cache_expire directive in php.ini currently takes a value in minutes. This should, IMHO, be a value in seconds ... to allow finer control, and to match all the other session directives that take values in seconds. - Colin -- Edit this bug report at http://bugs.php.net/?id=5563&edit=1
#5435 [Opn->Bgs]: Request to update eval() or create new function.
ID: 5435 Updated by: [EMAIL PROTECTED] Reported By: dahamsta at iewebs dot com -Status: Open +Status: Bogus Bug Type:Feature/Change Request PHP Version: 4.0.0 New Comment: Works just fine. Previous Comments: [2003-08-17 22:50:39] a at b dot c dot de eval("?>".$my_eval_str); works for me. [2002-06-08 09:59:23] bigredlinux at yahoo dot com Oh, this would be a great feature. One thing this would add is the ability to run an xml string with processing instructions right through php, by just passing it to eval and assuming that eval knows it is going to have php somewhere in it. Very nice feature request! [2000-07-07 15:46:10] dahamsta at iewebs dot com Currently, to eval() regular data retrieved from a database or include file, I need to escape from PHP and re-enter it. For example: Presume that I have retrieved data from a source, which is equivalent to a regular PHP file (including plain HTML). To operate eval() on that, and avoid parsing the HTML and thus causing PHP errors, I need to use a function like this: function my_eval($my_eval_str) { $eval_str = "?>"; $eval_str .= $my_eval_str; $eval_str .= "http://bugs.php.net/?id=5435&edit=1
#5050 [Ana->Bgs]: $php_errormsg not changed on errors inside functions
ID: 5050 Updated by: [EMAIL PROTECTED] Reported By: sp at alkor dot ru -Status: Analyzed +Status: Bogus Bug Type: Feature/Change Request Operating System: FreeBSD 4.0-R/3.x-R PHP Version: 4.0.0 Release New Comment: ini_set("track_errors", 1); Or use error_get_last() Previous Comments: [2000-08-04 18:00:52] [EMAIL PROTECTED] Andi says it is an intended behaviour, so reclassifying is as a feature request. [2000-07-23 14:59:26] stas at cvs dot php dot net The problem here is that php_error_cb sets $php_errormsg in active symbol table (i.e., of calling function) and not in the global symbol table. I do not know why. Anybody does? [2000-06-15 05:16:10] sp at alkor dot ru # in apache.conf: php_value track_errors on # This problem seems exists in PHP 3.0.x too. function boo($tag) { global $php_errormsg; echo("$tag: $php_errormsg\n"); } function bar() { $x = @fopen("file-no-such", "r", 0); if(!$x) boo("BAR"); } $php_errormsg = "Croak!"; $foo = @fopen("no-such-file", "r", 0); if(!$foo) boo("MAIN"); $php_errormsg = "Croak!"; bar(); # Request: is it possible make something like # set_track_errors(bool) to change track_errors # on fly. -- Edit this bug report at http://bugs.php.net/?id=5050&edit=1
#3275 [Ana->Bgs]: [PEAR] ICQ support
ID: 3275 Updated by: [EMAIL PROTECTED] Reported By: mlemos at acm dot org -Status: Analyzed +Status: Bogus Bug Type:Feature/Change Request PHP Version: 4.0 New Comment: Please file PEAR/PECL related issues in the PEAR/PECL bug tracker. Previous Comments: [2002-02-24 22:54:49] Xuefer at 21cn dot com how can we keep sockets connection between apache childs? i recommend that replace PEAR with PHP-GTK keyword [2001-02-20 00:55:51] [EMAIL PROTECTED] adding PEAR keyword, that would be a typical C extension for PEAR [2001-02-10 13:59:13] [EMAIL PROTECTED] refiling against 4.0. [2000-01-22 00:43:23] mlemos at acm dot org Please add support to connect and collect messages from ICQ servers either using libicq or icqlib: icqlib http://kicq.sourceforge.net/icqlib.shtml libicq http://www.korsoft.com/gicq/ -- Edit this bug report at http://bugs.php.net/?id=3275&edit=1