When checking to make into a reference write, readwrite are checked but not unset
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