글 수 47
apache error log 중 shmget() failed: Invalid argument Failed to start up concurrent users module!
위 경우는 쉘 명령에서 php -v 했을때 같은 에러가 납니다.
[root@localhost httpd]# php -v
shmget() failed: Invalid argument
Failed to start up concurrent users module!
PHP 5.1.6 (cli) (built: Mar 31 2010 02:44:37)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
이 경우 해결책은, 커널 공유메모리가 문제되는 경우이므로, /etc/systl.conf 를 확인합니다.
서버 환경은 Centos 5, RAM 2G 환경입니다.
저의 경우는 아래와 같습니다.
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
위에서 kernel.shmmax = 68719476736 이 값은 Centos5 초기 설치시 물리적 메모리가 4G 일 경우에 해당 되는 값입니다.
즉, 2G 에 맞는 kernel.shmmax 는 4G 이므로 다음과 같이 수정합니다.
kernel.shmmax = 4294967295
kernel.shmall = 268435456
그리고 아래 명령내려서 shmmax 값과 shmall 값이 변경된 것을 확인합니다.
]# sysctl -p
kernel.shmmax = 4294967295
kernel.shmall = 268435456
그리고 다시 php -v 해봅니다..
[root@localhost httpd]# php -v
PHP 5.1.6 (cli) (built: Mar 31 2010 02:44:37)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
