Re: [PHP] Shared Memory Problem

2005-11-17 Thread Jochem Maas

Yaswanth Narvaneni wrote:

Hi!

I found the solution to my prob. SELinux was enabled in the server
which needs disabling. After disabling SELinux it was working great.
Thanks for your help guys.

Another small query though, is there anyway to enable SELinux and as
well use shared memory between PHP and C++? I know using Zend engine


the zend engine is free.. I think you mean 'Zend Some Product Name' instead 
:-)


would solve the prob, but we need to buy zend which is very costly for
me, any other solution is welcome.


I have no idea if it either possible or efficient enough for your
needs but you may be able to use pipes?

http://php.net/proc_open




Regards,
Yaswanth

On 11/16/05, Curt Zirzow [EMAIL PROTECTED] wrote:


On Wed, Nov 16, 2005 at 03:33:22AM +0530, Yaswanth Narvaneni wrote:


Hi!

I have a server written in C++ and my webpages are in PHP. The PHP has
to communicate with the server using shared memory. This was working
fine on the server running FC-1 with php-4.3.8. We recently migrated
to CentOS 4.1 (Equivalent to RHEL 4.1) running php-4.3.9. The error it
displays is as follows:

shmop_open(): unable to attach or create shared memory segment in
/var/www/html/sharedmem.php on line 2

The server opens the shm in 666 (originally was 644) even then it was
not working. I can see the shared mem open using 'ipcs' command.

...
$shm_id = shmop_open($shm_key, a,0,0) or die(FATAL ERROR:: Unable
to Access Shared Memory);


You might want to try to open it within the same mode that the
server created it in:

1)
 $shm_id = shmop_open($shm_key, a,0666,0);

2)
 are you 100% sure the key is valid? the error message you are
 getting seems to point in this direction since the shmop_open is
 failing on the C call to shmget(), wich usually fails when either
 you dont have enough memory to create it (which you arn't doing),
 some other creation problems, or that the key supplied wasn't
 found.


Curt.
--

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php






--
In theory there is no difference between theory and practice.
In practice there is. -- Fortune Cookie



--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Shared Memory Problem

2005-11-16 Thread Yaswanth Narvaneni
Hi Curt,

These are my open shared memories in the server output of ipcs command.

-- Shared Memory Segments 
keyshmid  owner  perms  bytes  nattch status
0x 18645001   gOLeM 600393216 2  dest
0x162e 18808842   root  66630 1

The last one the the sharedmem the php will be using. the key is 5678
and as you said I
have modified my code to

$shm_id = shmop_open(intval($shm_key), a,666,0) or die(FATAL
ERROR:: $php_errormsg);

U obtain the shm_key from a file. The key I am using is 5678 and it is
getting that value from the file. I even hardcoded the value, but the
error is not getting solved.

Is this a proble with any of the server configs? Coz we have
downloaded an example C file and this is also not working with the
PHP. Where as if the server and client both written in C are able to
communicate using the shared memory. Any clue any one??

Ok...just a crazy query...does it have anything to do with
Notice: import_request_variables(): No prefix specified - possible
security hazard in

which occurs due to register_globals set to Off??

On 11/16/05, Curt Zirzow [EMAIL PROTECTED] wrote:
 On Wed, Nov 16, 2005 at 03:33:22AM +0530, Yaswanth Narvaneni wrote:
  Hi!
 
  I have a server written in C++ and my webpages are in PHP. The PHP has
  to communicate with the server using shared memory. This was working
  fine on the server running FC-1 with php-4.3.8. We recently migrated
  to CentOS 4.1 (Equivalent to RHEL 4.1) running php-4.3.9. The error it
  displays is as follows:
 
  shmop_open(): unable to attach or create shared memory segment in
  /var/www/html/sharedmem.php on line 2
 
  The server opens the shm in 666 (originally was 644) even then it was
  not working. I can see the shared mem open using 'ipcs' command.
 
  ...
  $shm_id = shmop_open($shm_key, a,0,0) or die(FATAL ERROR:: Unable
  to Access Shared Memory);

 You might want to try to open it within the same mode that the
 server created it in:

 1)
   $shm_id = shmop_open($shm_key, a,0666,0);

 2)
   are you 100% sure the key is valid? the error message you are
   getting seems to point in this direction since the shmop_open is
   failing on the C call to shmget(), wich usually fails when either
   you dont have enough memory to create it (which you arn't doing),
   some other creation problems, or that the key supplied wasn't
   found.


 Curt.
 --

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




--
In theory there is no difference between theory and practice.
In practice there is. -- Fortune Cookie

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Shared Memory Problem

2005-11-16 Thread Yaswanth Narvaneni
Hi!

There is a strange problem now. This is the error message my php file gives.
kernel not configured for shared memory kernel not configured for
semaphores kernel not configured for message queues

The source is as follows:
?php

$shm_id = shmop_open(5678, a, 0, 0);
if (!$shm_id) {
   echo Couldn't create shared memory segment\n : $php_errormsg;
}

print br;
print system(ipcs);

?

when I logged into my machine as user apache and tried ipcs command it
was working fine (I changed the shell of apache from /sbin/nologin to
/bin/bash)

Any clue??

Regards,
Yaswanth


On 11/16/05, Yaswanth Narvaneni [EMAIL PROTECTED] wrote:
 Hi Curt,

 These are my open shared memories in the server output of ipcs command.

 -- Shared Memory Segments 
 keyshmid  owner  perms  bytes  nattch status
 0x 18645001   gOLeM 600393216 2  dest
 0x162e 18808842   root  66630 1

 The last one the the sharedmem the php will be using. the key is 5678
 and as you said I
 have modified my code to

 $shm_id = shmop_open(intval($shm_key), a,666,0) or die(FATAL
 ERROR:: $php_errormsg);

 U obtain the shm_key from a file. The key I am using is 5678 and it is
 getting that value from the file. I even hardcoded the value, but the
 error is not getting solved.

 Is this a proble with any of the server configs? Coz we have
 downloaded an example C file and this is also not working with the
 PHP. Where as if the server and client both written in C are able to
 communicate using the shared memory. Any clue any one??

 Ok...just a crazy query...does it have anything to do with
 Notice: import_request_variables(): No prefix specified - possible
 security hazard in

 which occurs due to register_globals set to Off??

 On 11/16/05, Curt Zirzow [EMAIL PROTECTED] wrote:
  On Wed, Nov 16, 2005 at 03:33:22AM +0530, Yaswanth Narvaneni wrote:
   Hi!
  
   I have a server written in C++ and my webpages are in PHP. The PHP has
   to communicate with the server using shared memory. This was working
   fine on the server running FC-1 with php-4.3.8. We recently migrated
   to CentOS 4.1 (Equivalent to RHEL 4.1) running php-4.3.9. The error it
   displays is as follows:
  
   shmop_open(): unable to attach or create shared memory segment in
   /var/www/html/sharedmem.php on line 2
  
   The server opens the shm in 666 (originally was 644) even then it was
   not working. I can see the shared mem open using 'ipcs' command.
  
   ...
   $shm_id = shmop_open($shm_key, a,0,0) or die(FATAL ERROR:: Unable
   to Access Shared Memory);
 
  You might want to try to open it within the same mode that the
  server created it in:
 
  1)
$shm_id = shmop_open($shm_key, a,0666,0);
 
  2)
are you 100% sure the key is valid? the error message you are
getting seems to point in this direction since the shmop_open is
failing on the C call to shmget(), wich usually fails when either
you dont have enough memory to create it (which you arn't doing),
some other creation problems, or that the key supplied wasn't
found.
 
 
  Curt.
  --
 
  --
  PHP General Mailing List (http://www.php.net/)
  To unsubscribe, visit: http://www.php.net/unsub.php
 
 


 --
 In theory there is no difference between theory and practice.
 In practice there is. -- Fortune Cookie



--
In theory there is no difference between theory and practice.
In practice there is. -- Fortune Cookie

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Shared Memory Problem

2005-11-16 Thread Yaswanth Narvaneni
Hi!

I found the solution to my prob. SELinux was enabled in the server
which needs disabling. After disabling SELinux it was working great.
Thanks for your help guys.

Another small query though, is there anyway to enable SELinux and as
well use shared memory between PHP and C++? I know using Zend engine
would solve the prob, but we need to buy zend which is very costly for
me, any other solution is welcome.

Regards,
Yaswanth

On 11/16/05, Curt Zirzow [EMAIL PROTECTED] wrote:
 On Wed, Nov 16, 2005 at 03:33:22AM +0530, Yaswanth Narvaneni wrote:
  Hi!
 
  I have a server written in C++ and my webpages are in PHP. The PHP has
  to communicate with the server using shared memory. This was working
  fine on the server running FC-1 with php-4.3.8. We recently migrated
  to CentOS 4.1 (Equivalent to RHEL 4.1) running php-4.3.9. The error it
  displays is as follows:
 
  shmop_open(): unable to attach or create shared memory segment in
  /var/www/html/sharedmem.php on line 2
 
  The server opens the shm in 666 (originally was 644) even then it was
  not working. I can see the shared mem open using 'ipcs' command.
 
  ...
  $shm_id = shmop_open($shm_key, a,0,0) or die(FATAL ERROR:: Unable
  to Access Shared Memory);

 You might want to try to open it within the same mode that the
 server created it in:

 1)
   $shm_id = shmop_open($shm_key, a,0666,0);

 2)
   are you 100% sure the key is valid? the error message you are
   getting seems to point in this direction since the shmop_open is
   failing on the C call to shmget(), wich usually fails when either
   you dont have enough memory to create it (which you arn't doing),
   some other creation problems, or that the key supplied wasn't
   found.


 Curt.
 --

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




--
In theory there is no difference between theory and practice.
In practice there is. -- Fortune Cookie

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] Shared Memory Problem

2005-11-15 Thread Yaswanth Narvaneni
Hi!

I have a server written in C++ and my webpages are in PHP. The PHP has
to communicate with the server using shared memory. This was working
fine on the server running FC-1 with php-4.3.8. We recently migrated
to CentOS 4.1 (Equivalent to RHEL 4.1) running php-4.3.9. The error it
displays is as follows:

shmop_open(): unable to attach or create shared memory segment in
/var/www/html/sharedmem.php on line 2

The server opens the shm in 666 (originally was 644) even then it was
not working. I can see the shared mem open using 'ipcs' command.

The source code of PHP is as follows:
?php
/*Sem Key is read from this file*/
$SEMROUTE = /var/www/html/sharedmem/;

$filename = $SEMROUTE.id;
$handle = fopen($filename, r);
$contents = fread($handle, filesize($filename));
fclose($handle);


$contents = chop($contents);

$shm_key = $contents;

/*DEBUG:: The Contents of the file*/
print $shm_key.br; // These are fine

# print $shm_key;

$shm_id = shmop_open($shm_key, a,0,0) or die(FATAL ERROR:: Unable
to Access Shared Memory);

/*$shm_size = shmop_size($shm_id);
DEBUG:: print (Shared Memory Block Size:  . $shm_size.\n);
*/
// Now lets read the string back
$data = shmop_read($shm_id, 0, $shm_size);
if (!$data) {
echo FATAL ERROR:: Couldn't read from shared memory\n;
exit;
}
?

The PHPInfo of the servers are as follows (if it will help):

- Server where its working fine -
-- Start --

'./configure' '--host=i386-redhat-linux' '--build=i386-redhat-linux'
'--target=i386-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr'
'--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin'
'--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include'
'--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var'
'--sharedstatedir=/usr/com' '--mandir=/usr/share/man'
'--infodir=/usr/share/info' '--cache-file=../config.cache'
'--with-config-file-path=/etc'
'--with-config-file-scan-dir=/etc/php.d' '--enable-force-cgi-redirect'
'--disable-debug' '--enable-pic' '--disable-rpath'
'--enable-inline-optimization' '--with-bz2' '--with-db4=/usr'
'--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr'
'--with-png-dir=/usr' '--with-gd' '--enable-gd-native-ttf'
'--without-gdbm' '--with-gettext' '--with-ncurses' '--with-gmp'
'--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png'
'--with-pspell' '--with-regex=system' '--with-xml'
'--with-expat-dir=/usr' '--with-dom=shared,/usr'
'--with-dom-xslt=/usr' '--with-dom-exslt=/usr' '--with-xmlrpc=shared'
'--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU'
'--enable-bcmath' '--enable-exif' '--enable-ftp'
'--enable-magic-quotes' '--enable-safe-mode' '--enable-sockets'
'--enable-sysvsem' '--enable-sysvshm' '--enable-discard-path'
'--enable-track-vars' '--enable-trans-sid' '--enable-yp'
'--enable-wddx' '--without-oci8' '--with-pear=/usr/share/pear'
'--with-imap=shared' '--with-imap-ssl' '--with-kerberos'
'--with-ldap=shared' '--with-mysql=shared,/usr' '--with-pgsql=shared'
'--with-snmp=shared,/usr' '--with-snmp=shared'
'--enable-ucd-snmp-hack' '--with-unixODBC=shared'
'--enable-memory-limit' '--enable-bcmath' '--enable-shmop'
'--enable-calendar' '--enable-dbx' '--enable-dio' '--enable-mcal'
'--enable-mbstring=shared' '--enable-mbstr-enc-trans'
'--enable-mbregex' '--with-apxs2=/usr/sbin/apxs'

-- End --

- Config of Server on which it Fails -

-- Start --

'./configure' '--build=i686-redhat-linux-gnu'
'--host=i686-redhat-linux-gnu' '--target=i386-redhat-linux-gnu'
'--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr'
'--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc'
'--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib'
'--libexecdir=/usr/libexec' '--localstatedir=/var'
'--sharedstatedir=/usr/com' '--mandir=/usr/share/man'
'--infodir=/usr/share/info' '--cache-file=../config.cache'
'--with-config-file-path=/etc'
'--with-config-file-scan-dir=/etc/php.d' '--enable-force-cgi-redirect'
'--disable-debug' '--enable-pic' '--disable-rpath'
'--enable-inline-optimization' '--with-bz2' '--with-db4=/usr'
'--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr'
'--with-png-dir=/usr' '--with-gd=shared' '--enable-gd-native-ttf'
'--without-gdbm' '--with-gettext' '--with-ncurses=shared' '--with-gmp'
'--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png'
'--with-pspell' '--with-xml' '--with-expat-dir=/usr'
'--with-dom=shared,/usr' '--with-dom-xslt=/usr'
'--with-dom-exslt=/usr' '--with-xmlrpc=shared'
'--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU'
'--enable-bcmath' '--enable-exif' '--enable-ftp'
'--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem'
'--enable-sysvshm' '--enable-track-vars' '--enable-trans-sid'
'--enable-yp' '--enable-wddx' '--with-pear=/usr/share/pear'
'--with-imap=shared' '--with-imap-ssl' '--with-kerberos'
'--with-ldap=shared' '--with-mysql=shared,/usr' '--with-pgsql=shared'
'--with-snmp=shared,/usr' '--with-snmp=shared'

Re: [PHP] Shared Memory Problem

2005-11-15 Thread Curt Zirzow
On Wed, Nov 16, 2005 at 03:33:22AM +0530, Yaswanth Narvaneni wrote:
 Hi!
 
 I have a server written in C++ and my webpages are in PHP. The PHP has
 to communicate with the server using shared memory. This was working
 fine on the server running FC-1 with php-4.3.8. We recently migrated
 to CentOS 4.1 (Equivalent to RHEL 4.1) running php-4.3.9. The error it
 displays is as follows:
 
 shmop_open(): unable to attach or create shared memory segment in
 /var/www/html/sharedmem.php on line 2
 
 The server opens the shm in 666 (originally was 644) even then it was
 not working. I can see the shared mem open using 'ipcs' command.
 
 ...
 $shm_id = shmop_open($shm_key, a,0,0) or die(FATAL ERROR:: Unable
 to Access Shared Memory);

You might want to try to open it within the same mode that the
server created it in:

1)
  $shm_id = shmop_open($shm_key, a,0666,0);

2)
  are you 100% sure the key is valid? the error message you are
  getting seems to point in this direction since the shmop_open is
  failing on the C call to shmget(), wich usually fails when either
  you dont have enough memory to create it (which you arn't doing),
  some other creation problems, or that the key supplied wasn't
  found.


Curt.
--

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php