Enterprise Evaluation stuck - php.ini not loading for suPHP site, no MySQL either

#1
Hi there.

We have just started our 14 day Enterprise trial, are have a customer that is interested in upgrading their Apache web server to LiteSpeed. They are using the Interworx panel. The underlying OS is Redhat 6.

We found some quite good install instructions here:

http://www.rackspace.com/knowledge_center/article/centos-installing-litespeed

This install went fine, we need to use suPHP which we enabled during setup. Once complete - we then logged into Litespeed admin, and compiled PHP 5.4.11.

We used the following compile options:

'./configure' '--prefix=/usr/local/lsws/lsphp5' '--with-mysqli' '--with-zlib' '--with-gd' '--enable-shmop' '--enable-track-vars' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-magic-quotes' '--enable-mbstring' '--with-iconv' '--with-libdir=lib64' '--with-mysql' '--with-litespeed'

This all went swimmingly, and soon the compile was complete.

We switched the Interworx Litespeed plugin on, and were then able to create a site and run a phpinfo which showed that Litespeed was working, and that the PHP version was correct.

However we immediately saw a problem. No Php.ini was loaded for this site.

PHP was telling us it was looking for a configuration file in /usr/local/lsws/lsphp5/lib/php.ini

However the standard LSWS install and PHP compile does not place this file in there - hence it was missing - simple fix we thought.

So we copied the following file:

/usr/local/lsws/phpbuild/php-5.4.11/php.ini-production

over to

/usr/local/lsws/lsphp5/lib/php.ini

Restarted. Same problem.

This is an suphp setup, and we could also see this was working as the phpinfo file was set to the correct user.

We would like to get unique php.inis for each site on the server, so we followed this thread:

http://www.litespeedtech.com/support/forum/showthread.php?t=4782

We set PHPRC=$VH_ROOT/myphp.ini as directed, restarted and still no dice.

However phpinfo does show '_ENV["PHPRC"]' in PHP Variables and this is set to the right place.

As mentioned in the title, we are unable to connect to a MySQL database from this instance, (testing a Wordpress install) but we have put that down to the fact that the php.ini is not loading.

This is a limited trial period, so we would really like to get up and running as soon as possible so we can devote time to important testing of applications / plugins for compatibility.

Hope someone can help....

Cheers,

JD
 
#2
One thing I forgot to mention - if we go to

/usr/local/lsws/fcgi-bin

And then go:

./lsphp5 -i | grep Configuration

We get:

Configuration File (php.ini) Path => /usr/local/lsws/lsphp5/lib
Loaded Configuration File => /usr/local/lsws/lsphp5/lib/php.ini

So it seems the config file is loading, however this is not the case from the phpinfo we are running on the vsite.

JD
 
#4
Sorry we saw some discrepancy on some of the guides, so we tried both.

We compiled with the defaults to keep things simple:

'./configure' '--prefix=/usr/local/lsws/lsphp5' '--with-mysqli' '--with-zlib' '--with-gd' '--enable-shmop' '--enable-track-vars' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-magic-quotes' '--enable-mbstring' '--with-iconv' '--with-litespeed'

So to recap - the situation is right now:

PHPRC=$VH_ROOT/ini

Is set in 'Configuration' 'Server' 'External App' 'LSPHP5'

We have a php.ini in /home/user/ini/php.ini

This file is owned / full access to the suPHP user of that site

No php.ini is loading.

JD
 
#5
Whilst trying to figure out the php.ini problem I have gone back to look at MySQL. It seemed that the default configure does not include support for it.

So we re-compiled using this:

'./configure' '--prefix=/usr/local/lsws/lsphp5' '--with-mysqli' '--with-mcrypt' '--with-mysql=/usr' '--with-libdir=lib64' '--with-zlib' '--with-gd' '--enable-shmop' '--enable-track-vars' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-magic-quotes' '--enable-mbstring' '--with-iconv' '--with-litespeed'

With this, we have MySQL support now.

So it's just a matter of trying to figure out why php.ini is not loading....

JD
 
#6
OK this is interesting.

When I specify the following:

PHPRC=$VH_ROOT
PHP_INI_SCAN_DIR=$VH_ROOT/ini

I now get a white screen when trying to view the phpinfo file.

However on the very site site instance, I am still able to browse a Wordpress site....?

If I remove the php.ini - the phpinfo page comes back but of course without any config loaded.....

This is totally weird....

JD
 
#7
OK this one is solved - apparently!

After adding in the 'PHP_INI_SCAN_DIR=$VH_ROOT/ini' - the blank page was a change factor at least - so I knew that something was going on with the php.ini in that folder.

It turns out that the phpinfo file I had been using used short tags - these are enabled by default, however not in the php.ini file that I had copied into place. After changing the phpinfo file - back it came.

The interesting thing is that although the phpinfo is still telling me that no configuration is loaded - changes made to this site based php.ini DO show up and are made. I changed upload size, corrected a timezone issue, all these php.ini changes worked.

It therefore appears that with LSWS & PHP (I tested both 5.3 and 5.4) - there is no way to tell if your php.ini is actually loaded!!!!

I guess that's a bug eh....?

JD
 

NiteWave

Administrator
#9
So it's just a matter of trying to figure out why php.ini is not loading....
is php suEXEC enabled ?
check
lsws admin console:)7080)->
Configuration->
Server->
General->
PHP suEXEC

or give the screenshot of Server->General
 
Top