Tested with 5.4.8. If pdo and only mysqlnd is on, and mysql off, portage passes --without-pdo-mysql to the configure script, and disables the driver. The idea was to turn off the already deprecated mysql_* functions from php, so could write replacement compatiblity functions for old codes during the transition to PDO, but this makes it "impossible" (stock PHP doesn't let undefine, rename or redefine functions without addons, like apd). It would be cool, if the USE flag system would enable a combination which enables the PDO MySQL driver, but omits the old mysql_* functions. Thank you!
mysql_ functions are not deprecated. And you would kill portability of your code if you write those functions. I would REALLY recommend you write against something like Doctrine DBAL (not the ORM) instead of writing your own wrapper code.
(In reply to comment #1) > mysql_ functions are not deprecated. Maybe not in 5.4, yet. But otherwise: http://www.php.net/manual/en/function.mysql-connect.php > *Warning* > > This extension is deprecated as of PHP 5.5.0, and will be removed in the > future. Instead, the MySQLi or PDO_MySQL extension should be used. See also > MySQL: choosing an API guide and related FAQ for more information. > Alternatives to this function include: > > mysqli_connect() > PDO::__construct() > And you would kill portability of your > code if you write those functions. We can check if the functions are there or not. Wouldn't put code blindly there. But this feature would be mainly useful on the self-maintained development environment, rather than production. > I would REALLY recommend you write > against something like Doctrine DBAL (not the ORM) instead of writing your > own wrapper code. Thank you for the tip, we will look into it.
Anyways, the issue reported here was a bug in the ebuild, which should be fixed now.
Please, can this be fixed also for php-5.3.26?