How To Set Up Apache2 With mod_fcgid And PHP5 On OpenSUSE 11.2 - Page 2

Want to support HowtoForge? Become a subscriber!
 
Submitted by falko (Contact Author) (Forums) on Tue, 2010-02-02 18:28. ::

4 Testing

Now we create a small PHP test file, for example in the www.example1.com web site...

vi /srv/www/web1/web/info.php

<?php
phpinfo();
?>

... and call that file in a browser (http://www.example1.com/info.php). If all goes well, the output should look similar to this, and you should see CGI/FastCGI in the Server API line:

 

5 Custom php.ini for Each Web Site

Because each web site has its own php-fcgi-starter wrapper script, it is possible to define different php.ini files for different web sites. To demonstrate this, I will copy the default php.ini (/etc/php5/fastcgi/php.ini) to the /srv/www/web2/ directory and make www.example2.com use the php.ini from the /srv/www/web2/ directory:

cp /etc/php5/fastcgi/php.ini /srv/www/web2/
chown web2:web2 /srv/www/web2/php.ini

(You can now modify /srv/www/web2/php.ini to your likings.)

Then we open /srv/www/php-fcgi-scripts/web2/php-fcgi-starter...

vi /srv/www/php-fcgi-scripts/web2/php-fcgi-starter

... and put /srv/www/web2/ in the PHPRC line:

#!/bin/sh
PHPRC=/srv/www/web2/
export PHPRC
export PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_CHILDREN=8
exec /usr/bin/php-cgi

Restart Apache afterwards:

/etc/init.d/apache2 restart

Create a new phpinfo(); file for www.example2.com...

vi /srv/www/web2/web/info.php

<?php
phpinfo();
?>

... and call it in a browser (http://www.example2.com/info.php). The Loaded Configuration File line should now show /srv/www/web2/php.ini:

 

6 Changing Single PHP Configuration Settings

Instead of passing a whole new php.ini file to your web site, you can as well change single PHP configuration settings in the php-fcgi-starter wrapper script (or use a combination of both) by adding the -d switch to the PHP executable. For example, if I want to disable magic_quotes_gpc for the web site www.example2.com, I'd do it as follows:

vi /srv/www/php-fcgi-scripts/web2/php-fcgi-starter

#!/bin/sh
PHPRC=/etc/php5/fastcgi/
export PHPRC
export PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_CHILDREN=8
exec /usr/bin/php-cgi -d magic_quotes_gpc=off

Restart Apache afterwards:

/etc/init.d/apache2 restart

Then call the info.php script again in a browser (http://www.example2.com/info.php) and search for the magic_quotes_gpc line - it should show Off now:

 

7 Links


Please do not use the comment function to ask for help! If you need help, please use our forum.
Comments will be published after administrator approval.