(cherry picked from commit cc4c318)
Defining a __toString() method was having no effect when concatenating the object. This was because the cast_object() handler would ignore __toString(). Using echo() directly would actually use __toString(), but this was a bug: the ECHO handler would try zend_std_cast_object_tostring() before cast_object(), but cast_object() should have priority as zend_std_cast_object_tostring() assumes an object with a zend_class_entry.
Fixes bug #63999 (php with fpm fails to build on Solaris 10 or 11).
On second thoughts, while the behaviour _is_ broken, this isn't the right fix. This reverts commit 9b5cb0e.
At present, backslashes have special case handling within fputcsv(): when one is encountered within a field that's being escaped, escaping stops until the next instance of the enclosure character is hit. This can result in malformed CSV. Fixes bug #43225 (fputcsv incorrectly handles cells ending in \ followed by ").
…empty needle) See commit c05ee74
This reverts commit fad960a as required by Stas and Christopher
The zend_llist_element *next pointer is not necessary and removing it will also remove a write on memory
Libcurl is doing connection caching. When easy handle is cleaned up, if the handle was previously used by the curl_multi_api, the connection remains open un the curl multi handle is cleaned up. Some protocols are sending content like the FTP one, and libcurl try to use the WRITEFUNCTION or the HEADERFUNCTION. Since structures used in those callback are freed, we need to use an other callback to which avoid segfaults. Libcurl commit d021f2e8a00 fix this issue and should be part of 7.28.2
Fixed bug #63795