PHP 4.0 Bug #8283 Updated: Impossible to connect to socket made by other unix daemon...
| From: | stas@php.net | Date: | Tue, 19 Dec 2000 11:34:40 +0000 |
| Subject: | PHP 4.0 Bug #8283 Updated: Impossible to connect to socket made by other unix daemon... | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-41839@lists.php.net to get a copy of this message | ||
ID: 8283
Updated by: stas
Reported By: roman@loveme.spb.ru
Old-Status: Open
Status: Feedback
Bug Type: Sockets related
Assigned To:
Comments:
Works for me on Linux.
Note that socket accepts three parameters (0 for the third
should be a safe bet).
If it doesn't work for you still, please describe which
errors it gives (result codes of socket and connect).
Previous Comments:
---------------------------------------------------------------------------
[2000-12-15 15:04:48] roman@loveme.spb.ru
After creating local Unix (AF_UNIX) socket using other program daemon PHP script with function
connect() is not able connect to this socket.
'./configure' '--prefix=/usr/local' '--with-system-regex'
'--with-apache=/usr/ports/www/apache13-php3/work/apache_1.3.12'
'--with-config-file-path=/usr/local/lib' '--disable-debug'
'--enable-track-vars' '--with-gd=/usr/local' '--with-zlib'
'--with-mysql=/usr/local' '--with-pgsql' '--with-ndbm'
'--enable-wddx' '--includedir=/usr/local' '--enable-sockets'
PHP program text:
$sockfd=socket(AF_UNIX, SOCK_STREAM);
connect($sockfd, "/tmp/my_sock.sock");
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this cause the error
FreeBSD program:
main() {
struct sockaddr_un serv_addr;
int addrlen, old_umask;
int sockfd, ns;
sockfd=socket(AF_UNIX, SOCK_STREAM, 0);
unlink("/tmp/my_sock.sock");
old_umask=umask(0);
bzero(&serv_addr, sizeof(serv_addr));
serv_addr.sun_family=AF_UNIX;
strcpy(serv_addr.sun_path, "/tmp/my_sock.sock");
addrlen=sizeof(serv_addr.sun_family)+strlen(serv_addr.sun_path)+1;
bind(sockfd, (struct sockaddr *)&serv_addr, addrlen);
listen(sockfd, MAX_USERS);
umask(old_umask);
ns=accept(sockfd, (struct sockaddr *)&clnt_addr, &addrlen));
}
---------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=8283