Re: System-dependent functions
| From: | Philip Olson | Date: | Wed, 11 Aug 2004 15:00:41 +0000 |
| Subject: | Re: System-dependent functions | ||
| References: | 1 | Groups: | php.doc |
| Request: | Send a blank email to phpdoc+get-969363044@lists.php.net to get a copy of this message | ||
> > Another example is touch(). It requires utime which I assume all
> > OS's have although I don't know. And if not I assume PHP might
> > essentially say "No utime huh? Let's use mtime/atime/ctime instead
> > and define HAVE_UTIME as true." Again, I don't know this topic of
> > utime so am only guessing here.
>
> AFAIR utime() is not available on Windows (?)
Maybe not but PHP says it is as I'm guessing it makes it so. My
comment above was based off this because the sources require
HAVE_UTIME for touch() to exist and touch() exists on Windows.
On a related note (although this is getting a little offtopic :)
the 4.2.3 changelog has this:
Fixed a bug that prevented touch() from working on various
platforms. (Steph)
Not sure what that means exactly though.
Another similar example is sendmail. There is a HAVE_SENDMAIL as
well that's defined as true for Windows, and in that case
win32/sendmail.c is used. So telling people they need sendmail
would be confusing as it's simply not true. That and the fact
that other OS's may use alternatives like qmail and postfix. But
I'm not trying to be informative on the topics of utime/sendmail
(I can't), just trying to make a point ;)
> >>Opinions of the proposed entity?:
> >>
> >><!ENTITY note.func.sysdep '<note><para>This function is
> >>system-dependent
> >>and may not be available in your copy of PHP. Use
> >><function>function_exists</function> to be
> >>certain.</para></note>'>
>
> This would confuse people IMHO. "System-dependant" might mean that it is
> OS specific (MacOS, Linux, Windows), or more fine graied, or ...?
Agreed. Usually it's Windows versus the rest of the world but many
times it's because of a required library, a library that we should
mention as long as a "in-house alternative" does not exist. Or maybe
we could even mention that but most likely not.
Regards,
Philip