Preco mi zomiera PHP (SIGABRT)?
Marcel Telka
marcel na telka.sk
Pátek Červenec 14 15:46:54 CEST 2000
Marcel Telka wrote:
>
> Jan Satko wrote:
> >
> > > /var/run/.nscd_socket"}, 110) =
> > > -1 ECONNREFUSED (Connection refused)
> > > open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or
> > > open("/lib/libnss_compat.so.2", O_RDONLY) = -1 ENOENT (No such file or
> > > directory)
> > > connect(10, {sin_family=AF_UNIX, path=" /dev/log"}, 16) = -1 ENOENT (No
> > > such file or directory)
> >
> > Citam co pise.
> > "No such file or directory". Treba prelozit ?
> >
> > Mate spravne prava na tie subory ? Existuju vobec ? Nemate to chrootovane
> > alebo nieco take ?
>
> Prave som si v inom threade - named neloguje :-( - precital o holelogd a
> spol. a podarilo sa mi teda z toho umierajuceho php 3 dostat hlasku do
> logu:
>
> IMAP toolkit crash: Unable to look up user name
>
> Takze hadam sa pohnem dalej. (Vdaka p. Satko!)
>
Nakoniec som ho (teda c-client.a z imap-4.7c, ktory je zakompilovany v
php-3.0.16) presvedcil takto:
diff -urN imap-4.7c.orig/src/osdep/unix/env_unix.c
imap-4.7c/src/osdep/unix/env_unix.c
--- imap-4.7c.orig/src/osdep/unix/env_unix.c Wed May 3 19:33:01 2000
+++ imap-4.7c/src/osdep/unix/env_unix.c Fri Jul 14 15:41:44 2000
@@ -587,22 +587,6 @@
char *myusername_full (unsigned long *flags)
{
char *ret = (char *) unlogged_user;
- if (!myUserName) { /* get user name if don't have it yet */
- struct passwd *pw;
- unsigned long euid = geteuid ();
- char *s = (char *) (euid ? getlogin () : NIL);
- /* look up getlogin() user name or EUID */
- if (!((s && *s && (pw = getpwnam (s)) && (pw->pw_uid == euid)) ||
- (pw = getpwuid (euid)))) fatal ("Unable to look up user name");
- /* init environment if not root */
- if (euid) env_init (pw->pw_name,((s=getenv("HOME")) && *s) ?
s:pw->pw_dir);
- else ret = pw->pw_name; /* in case UID 0 user is other than root */
- }
- if (myUserName) { /* logged in? */
- if (flags) *flags = anonymous ? MU_ANONYMOUS : MU_LOGGEDIN;
- ret = myUserName; /* return user name */
- }
- else if (flags) *flags = MU_NOTLOGGEDIN;
return ret;
}
Asi to nebolo velmi systemove..., ale funguje.
--
+-----------------------------------------------------------------+
| Marcel Telka <marcel na telka.sk> Vadium s.r.o. |
| http://telka.sk/ http://www.vadium.sk/ |
+-----------------------------------------------------------------+
Další informace o konferenci Linux