At present, when curl_setopt() is called with an option that requires the
creation of a curl_slist, we simply push the new curl_slist onto a list to be
freed when the curl handle is freed. This avoids a memory leak, but means that
repeated calls to curl_setopt() on the same handle with the same option wastes
previously allocated memory on curl_slist structs that will no longer be read.
This commit changes the zend_llist that was previously used to track the lists
to a HashTable keyed by the option number, which means that we can simply
update the hash table each time curl_setopt() is called.
Fixes bug #65458 (curl memory leak).
* 'PHP-5.4' of https://git.php.net/repository/php-src:
added new glob() test
fix using wrong buffer pointer
Fix bug #65470 Segmentation fault in zend_error() with --enable-dtrace
Fix for php bug #64802 includes test case
new for fix#65225Fixed#65225: PHP_BINARY incorrectly set
Use pkg-config to detect iodbc
Add -P option to use the current binary
Create test to the extension xmlrpc
Fixbug: phpize --clean will delete include/*.h
Linux are now used. DTrace is part of Oracle Linux. See
https://oss.oracle.com/projects/DTrace/
This patch does not change DTrace linking for non-Solaris/Linux
platforms.
For SystemTap users on Linux, this patch removes the compilation
warning:
Warning: Linking the shared library libphp5.la against the
non-libtool objects Zend/zend_dtrace.d.o is not portable!
When CLI was not built but only CGI binary, then a sequence of
$ ./buildconf
$ ./configure --prefix=/usr/local/phpcgi --disable-cli
$ make -j8
$ sudo rm -rf /usr/local/phpcgi
$ sudo make install
results in the following error:
/bin/bash /srv/smb/php-src.test/libtool --silent --preserve-dup-deps --mode=install cp ext/opcache/opcache.la /srv/smb/php-src.test/modules
Installing shared extensions: /usr/local/phpcgi/lib/php/extensions/no-debug-non-zts-20121212/
Installing PHP CGI binary: /usr/local/phpcgi/bin/
cp: cannot create regular file `/usr/local/phpcgi/bin/#INST@28245#': No such file or directory
make: *** [install-cgi] Fehler 1
The solution is to create the binary directory before copying the
CGI binary as e.g. CLI does.
Signed-off-by: Oliver Metz <oliver.metz@gmx.de>
[extensive commit message]
Signed-off-by: Michael Heimpold <mhei@heimpold.de>