Hello all,

Those of you who are saying things like "forget the idiots using
magic_quotes" need to understand more clearly what is being proposed.
NOBODY is proposing keeping magic_quotes.

As of PHP 5.3 and earlier, all applications worth an ounce of anything
must check for and handle magic_quotes_runtime.  If magic_quotes_runtime
is enabled, and you don't handle it, you end up with a bunch of
unnecessary slashes in your input.

This is VERY different from relying upon magic_quotes_runtime to
"safely" escape crap.

If the magic_quotes functions are removed, this will unequivocably break
*every* decent application written for PHP 5 and PHP 4.  As an example,
the PEAR Installer uses a disabling routine even though it doesn't do
any web access at all.  Why?  Because magic_quotes_runtime affects
file_get_contents(), which is used to read registry files.  As such,
even though the magic_quotes functionality is never used, the app still
has to check for and disable it.

If the function magic_quotes_runtime() exists and simply returns false,
the PEAR installer continues to work as written without modification.  I
could certainly modify the latest release to use the if
(function_exists()) check that some have proposed, and that would be
fine for me, but it is not a good solution for the hundreds of thousands
of users we have out there.

Why?

First of all, very few people actually upgrade to the latest version
when it is released.  The majority have upgraded by approximately a
*year* after the release date, and a large minority (30% or so) do not
upgrade for up to 4 years.

Now, if Joe Shmoe has a slightly older version of PEAR, and upgrades to
PHP 6 (yes, people DO upgrade PHP and still keep their outdated PEAR
installations in spite of obvious reasons not to do this, and no, we
can't expect to change this from our perch here at php.net), suddenly
Joe gets a fatal error, and can no longer use PEAR either to upgrade to
a newer version or anything of that nature.  Joe wastes a ton of time
figuring out what is wrong, and ends up having to manually re-install PEAR.

Who would benefit from having the functions removed?  People who don't
use them don't care, people who do would get a fatal error.

Frankly, I don't see why there is any vote whatsoever.  It's plain
stupid to consider removing them when a fully backwards-compatible
solution exists that has no performance penalty, no security penalty,
and in fact no penalty at all.

There is never any benefit in making the upgrade path harder for our
users, come on people.

Greg

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to