php lsapi bug?

PSS

Well-Known Member
#1
I installed LSWS Enterprise Trial 4.10 with exactly same settings and php setup/configure & compile (without errors) as the other server (identical RHEL 5 64-bit OS). Server does not have Apache installed.

The problem: with clean 4.10 install php 5.2.11 refused to start (php files were downloaded instead of executed), the php main process and one child process was there but LS did not see php extension as External Application and even in realtime stats page it showed External Application as empty.

fcgi-bin/lsphp -i worked fine. I checked and /tmp/lshttpd/lsphp.sock was there.

The pitfall seemed to be this notice in logs

NOTICE [config:server:epsr:phpLsapi]'Process Limit' probably is too low, adjust the limit to: 3100.

BTW: What does that "epsr" mean?

Neither empty or 0 did not work, you needed to have a value for Soft and Hard Process Limit for server, only then php lsapi started to run php scripts.

Even after I set

Process Soft Limit 2000
Process Hard Limit 3100

I see in logs after restart:

/opt/lsws/bin/lswsctrl stop
/opt/lsws/bin/lswsctrl start

Server Log Viewer:
NOTICE [config:server:epsr:phpLsapi]'Process Limit' probably is too low, adjust the limit to: 3100.

But the notice disappear when I set

Process Soft Limit 3100
Process Hard Limit 3100

My php config is

CFLAGS="-O2" CXX=gcc CXXFLAGS="-O2" ./configure '--prefix=/php5' '--with-config-file-path=/opt/lsws/php' '--with-litespeed' '--with-libdir=lib64' '--with-jpeg-dir=lib64' '--with-png-dir=lib64' '--with-ttf' '--with-png' '--with-gd' '--enable-gd-native-ttf' '--enable-exif' '--enable-ftp' '--with-mysql' '--with-mysqli' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--enable-memory-limit' '--with-zlib' '--with-openssl' '--with-curl' '--enable-magic-quotes' '--enable-mbstring' '--enable-mbstr-enc-trans' '--enable-mbregex' '--enable-bcmath' '--enable-calendar' '--enable-sockets' '--enable-zip' '--enable-shmop' '--with-pear=/usr/lib64/php/pear' '--disable-cgi' '--disable-debug'

PHP is compiled in shell.

Litespeed PHP compiler seems to suggest by default '--enable-sysvsem' '--enable-sysvshm'.
Are those needed by PHP Lsapi?
 
Last edited:

mistwang

LiteSpeed Staff
#2
You have set the "Max Conns" for PHP pretty high, so LSWS think you need to set process limit to 3100.

"Max Conns" * n-CPU license * 2 + some overhead.

"espr" is "external processor",
We use some PHP function in Admin console requires '--enable-sysvsem' '--enable-sysvshm', it is up to your web application.
 
Top