RE: [PHP] BUG: require_once() or die(); = fatal error
| From: | Daevid Vincent | Date: | Fri, 28 Nov 2003 19:00:01 +0000 |
| Subject: | RE: [PHP] BUG: require_once() or die(); = fatal error | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-171294@lists.php.net to get a copy of this message | ||
Hmm... Well Rasmus, I do see your point, however it still seems to me it
'should' at least compile and work as I expect it to.
My way, the logic is that the file *is* 'required' (whereas I view 'include'
files as optional), and I want to exit the program with a graceful message
instead of the fatal error (which doesn't really doesn't tell me what the
problem is -- "Failed opening required '1'" doesn't mean anything to me or
the user) that is shown. My intent was to put a @require_once() so that I
could do just that. Especially since I'm running my script on the command
line, and your stock fatal error message uses HTML tags.
Not a critical bug or a show stopper, but I do still feel it is a bug.
> -----Original Message-----
> From: Rasmus Lerdorf [mailto:rasmus@php.net]
> Sent: Wednesday, November 26, 2003 8:55 PM
> To: Daevid Vincent
> Cc: php-general@lists.php.net
> Subject: Re: [PHP] BUG: require_once() or die(); = fatal error
>
> This code doesn't make much sense. By definition, if require
> cannot open
> a file it throws a fatal error, so you would never hit the "or" case
> anyway. Hence there is no return code from require and you
> can't write
> code like this. If you want to test the return code you need to use
> 'include' instead.
>
> -Rasmus
>
> On Wed, 26 Nov 2003, Daevid Vincent wrote:
>
> > Using PHP 4.2.2 on Linux RH8:
> >
> > In a PHP script run from command line,
> >
> > require_once("gibberator_data.php") or die("No Data
> file found\n");
> >
> > Causes:
> >
> > [root@locutus gibberator]# ./gibberator.php
> > <br />
> > <b>Fatal error</b>: Failed opening required '1'
> > (include_path='.:/php/includes;/usr/share/phpwebtools') in
> > <b>/home/gibberator/gibberator.php</b> on line <b>13</b><br
> > />
> >
> > However
> >
> > require_once("gibberator_data.php");
> >
> > Works just fine.
> >
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
>