Bug #18208 Updated: create_socket Undefined

From: Date: Wed, 10 Jul 2002 13:51:17 +0000
Subject: Bug #18208 Updated: create_socket Undefined
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-13733@lists.php.net to get a copy of this message
 ID:               18208
 Updated by:       jason@php.net
 Reported By:      fouriedj@telkom.co.za
-Status:           Open
+Status:           Feedback
 Bug Type:         Sockets related
 Operating System: RedHat 7.1
 PHP Version:      4.2.1
 New Comment:

Are you sure that you are not somehow conflicting with another version
of php that is installed on your system. (Redhat 7.1 includes a very
early version of 4). If you are positive that the php you are running
-m on is the same as the one you compiled, then run the following
command(adjust the paths appropriately of course):

nm /usr/local/bin/php | grep socket_create

If you truly have sockets compiled in, you will see the following
output:
080bd854 T zif_socket_create
080bc9d4 T zif_socket_create_listen
080c1128 T zif_socket_create_pair

If not, then you are most likely rebuilding different configurations in
the same build area. (This can be bad)

If this is the case:
make clean
rm config.cache
./configure --enable-sockets
make

-Jason




Previous Comments:
------------------------------------------------------------------------

[2002-07-08 01:14:05] fouriedj@telkom.co.za

Here is a script that I am looking at, it is part of the php
documentation.

#!/usr/local/bin/php -q
<?php
error_reporting (E_ALL);

/* Allow the script to hang around waiting for connections. */
set_time_limit (0);

/* Turn on implicit output flushing so we see what we're getting
 * as it comes in. */
ob_implicit_flush ();

$address = '192.168.1.53';
$port = 10000;

if (($sock = socket_create (AF_INET, SOCK_STREAM, 0)) < 0) {
    echo "socket_create() failed: reason: " . socket_strerror ($sock) .
"\n";
}

if (($ret = socket_bind ($sock, $address, $port)) < 0) {
    echo "socket_bind() failed: reason: " . socket_strerror ($ret) .
"\n";
}

if (($ret = socket_listen ($sock, 5)) < 0) {
    echo "socket_listen() failed: reason: " . socket_strerror ($ret) .
"\n";
}

do {
    if (($msgsock = socket_accept($sock)) < 0) {
        echo "socket_accept() failed: reason: " . socket_strerror
($msgsock) . "\n";
        break;
    }
    /* Send instructions. */
    $msg = "\nWelcome to the PHP Test Server. \n" .
        "To quit, type 'quit'. To shut down the server type
'shutdown'.\n";
    socket_write($msgsock, $msg, strlen($msg));

    do {
        if (FALSE === ($buf = socket_read ($msgsock, 2048))) {
            echo "socket_read() failed: reason: " . socket_strerror
($ret) . "\n";
            break 2;
        }
        if (!$buf = trim ($buf)) {
            continue;
        }
        if ($buf == 'quit') {
            break;
        }
        if ($buf == 'shutdown') {
            socket_close ($msgsock);
            break 2;
        }
        $talkback = "PHP: You said '$buf'.\n";
        socket_write ($msgsock, $talkback, strlen ($talkback));
        echo "$buf\n";
    } while (true);
    socket_close ($msgsock);
} while (true);

socket_close ($sock);
?>

Regards
Daniel Fourie

------------------------------------------------------------------------

[2002-07-07 07:59:31] derick@php.net

Please provide a short script with which we can reproduce it.

Derick

------------------------------------------------------------------------

[2002-07-07 07:56:24] fouriedj@telkom.co.za

I have got php-4.2.1 installed on Linux RedHat-7.1. I am trying to
write a clent/server based application but cannot seem to get it to
work. The function create_socket always comes back with the following
error (Undefined function socket_create). I have compiled my source
with the option --enable-sockets and if I do a ( php -m) I do see that
sockets is available, event if I check in phpinfo() I see that it is
enabled. I loocked all over the internet asked a lot of people but
still no answer. Please can you help me with this.

Regards
Daniel Fourie

------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=18208&edit=1



Thread (6 messages)

« previous php.bugs (#13733) next »