* allow the user to specify a folder where files that can be sent
via LOAD DATA LOCAL can exist
* add mysqli.local_infile_directory for mysqli
(ignored if mysqli.allow_local_infile is enabled)
* add PDO::MYSQL_ATTR_LOCAL_INFILE_DIRECTORY for pdo_mysql
(ignored if PDO::MYSQL_ATTR_LOCAL_INFILE is enabled)
* add related tests
* fixes for building with libmysql 8.x
* small improvement in existing tests
* update php.ini-[development|production] files
Closes GH-6448.
Co-authored-by: Nikita Popov <nikic@php.net>
This removes the following functions from the API:
mysqli_set_local_infile_default()
mysqli_set_local_infile_handler()
Using these functions is known to be lead to stability problems in
mysqli. It was only enabled when compiling against libmysql. mysqlnd
doesn't have this support for local infile. However, with mysqlnd it can
be emulated by using stream handlers like in:
$c->query("LOAD DATA LOCAL INFILE "http://example.com/import.csv" INTO ...")
All available protocols, as well as user implemented ones can be added.