Re: PHP sockets enabled but socket_create() gives an error call to undefined function
| From: | Nicholas Kell | Date: | Mon, 01 Nov 2010 17:41:39 +0000 |
| Subject: | Re: PHP sockets enabled but socket_create() gives an error call to undefined function | ||
| References: | 1 2 3 4 5 6 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-309210@lists.php.net to get a copy of this message | ||
On Nov 1, 2010, at 12:08 PM, crrrrrrr errrrrrr wrote:
> Yes, the http ( Apache user) has rl ( read permission) on the php file with
> sockets code in it. I think write access is unnecessary for Apache user.
>
> On Mon, Nov 1, 2010 at 12:50 PM, Nicholas Kell <nick@monkeyknight.com>wrote:
>
>>
>> On Nov 1, 2010, at 11:44 AM, crrrrrrr errrrrrr wrote:
>>
>>> Yes, the phpinfo() shows that sockets are enabled in both machines.
>>> On Mon, Nov 1, 2010 at 12:43 PM, Bastien Koert <phpster@gmail.com>
>> wrote:
>>>
>>>> On Mon, Nov 1, 2010 at 12:40 PM, crrrrrrr errrrrrr <r.suyash@gmail.com>
>>>> wrote:
>>>>> Hello,
>>>>>
>>>>> I was trying to create a socket connection from a Solaris machine to a
>>>> Red
>>>>> Hat machine to get the PATH in Red Hat machine remotely on Solaris
>>>> machine
>>>>> and display it to the user.
>>>>>
>>>>> We have a PHP 5.1.6 installation on a Linux server (Apache) and PHP
>>>> 5.2.6.
>>>>> on a Unix(Solaris) server(Apache) . The PHP version on Solaris is
>>>> compiled
>>>>> with --enable sockets and phpinfo() displays that the sockets are
>>>> enabled.
>>>>> In spite of this we get the following error when using this piece of
>> code
>>>>> from the Solaris machine.
>>>>>
>>>>>
>>>>> The error:
>>>>>
>>>>> PHP Fatal error: Call to undefined function socket_create() in /XXX/
>>>>> 5server.php<
>>>>
>>>> http://cad.njit.edu/u/d/x/dx8/public_html/clunk/swsearch5server.php>
>>>>> on
>>>>> line 21
>>>>>
>>>>> The code;
>>>>>
>>>>> <?php
>>>>>
>>>>> set_time_limit(0);
>>>>>
>>>>> //ip of the server
>>>>> $addr = 'xxx.xxx.xxx.xxx';
>>>>>
>>>>> //port of the server
>>>>> $port = 2xxx;
>>>>>
>>>>> //create a socket
>>>>> $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); /* This is line
>> no
>>>> 21
>>>>> in the code. i have ommitted a few header comments */
>>>>>
>>>>> //bind this socket with the above ip and port
>>>>> $ret = socket_bind($sock, $addr, $port);
>>>>>
>>>>> do {
>>>>> $ret = socket_listen($sock, 10);
>>>>> $msgSock = socket_accept($sock);
>>>>> $buf = socket_read($msgSock, 1024);
>>>>>
>>>>>
>>>>> Please let me know if you need any further details I might have missed.
>>>>>
>>>>> Thank you.
>>>>>
>>>>> Suyash Ramineni
>>>>>
>>>>
>>>>
>>>> check phpinfo() to see if the sockets have been activated in the ini
>> file.
>>>> --
>>>>
>>>> Bastien
>>>>
>>>> Cat, the other other white meat
>>>>
>>
>>
>> I think that I messed up sending my last email, I apologize.
>>
>> Is the user that Apache is running under configured for the proper read
>> write access to the socket file?
>>
>>
>> --
>> PHP General Mailing List (http://www.php.net/)
>> To unsubscribe, visit: http://www.php.net/unsub.php
>>
>>
Oops, included in php.ini, not the Apache config.