How To Set Up Apache2 With mod_fcgid And PHP5 On CentOS 5.2 - Page 2
4 Testing
Now we create a small PHP test file, for example in the www.example1.com web site...
vi /var/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/php.ini) to the /var/www/web2/ directory and make www.example2.com use the php.ini from the /var/www/web2/ directory:
cp /etc/php.ini /var/www/web2/
chown web2:web2 /var/www/web2/php.ini
(You can now modify /var/www/web2/php.ini to your likings.)
Then we open /var/www/php-fcgi-scripts/web2/php-fcgi-starter...
vi /var/www/php-fcgi-scripts/web2/php-fcgi-starter
... and put /var/www/web2/ in the PHPRC line:
#!/bin/sh PHPRC=/var/www/web2/ export PHPRC export PHP_FCGI_MAX_REQUESTS=5000 export PHP_FCGI_CHILDREN=8 exec /usr/bin/php-cgi |
Reload Apache afterwards:
/etc/init.d/httpd reload
Create a new phpinfo(); file for www.example2.com...
vi /var/www/web2/web/info.php
<?php phpinfo(); ?> |
... and call it in a browser (http://www.example2.com/info.php). The Configuration File (php.ini) Path line should now show /var/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 /var/www/php-fcgi-scripts/web2/php-fcgi-starter
#!/bin/sh PHPRC=/etc/ export PHPRC export PHP_FCGI_MAX_REQUESTS=5000 export PHP_FCGI_CHILDREN=8 exec /usr/bin/php-cgi -d magic_quotes_gpc=off |
Reload Apache afterwards:
/etc/init.d/httpd reload
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
- mod_fcgid: http://fastcgi.coremail.cn/
- Apache: http://httpd.apache.org/
- PHP: http://www.php.net/
- CentOS: http://www.centos.org/