Tag Info

Hot answers tagged

6

PHP-FPM is a patch for PHP to provide some advanced process management features which are useful when used in its FastCGI variant. On a side note, PHP 5.4 will probably include PHP-FPM out of the box (according to Antony Dovgal). Since mod_fcgid doesn't support externally spawned FastCGI servers, you need to use mod_fastcgi or mod_proxy_fcgi. Google found ...


6

Or you can apt-get install apache2-suexec-custom after install go to cd /etc/apache2/suexec edit the file vi www-data You can see the first 2 lines, make the changes: replace /var/www with /home esc :wq after, restart apache /etc/init.d/apache2 restart


5

Solution: FcgidMaxRequestLen -->This is causing the problem. Before updating to the newest version, it was default set to 1gb. Now it is 128kb. Add the following to the file /etc/apache2/conf.d/fcgid.conf : FcgidMaxRequestLen 1073741824 This wil give you a limit of 1gb. Next, restart your apache.


4

You're using ubuntu. Therefore recompile is pretty simple. Add source repository to your /etc/apt/sources.list . For 12.04 run echo "deb-src http://de.archive.ubuntu.com/ubuntu/ precise main"|sudo tee -a /etc/apt/sources.list change de.archive.ubuntu.com to whatever country you're in. After that update your repository. apt-get update Change dir and ...


3

<Directory /srv/www/hostname/public> Order allow,deny Allow from all </Directory> That doesn't include /srv/www/hostname/fcgid-bin/; assuming there's no Allow applying to it elsewhere in your config, this is the problem. You'll need to Allow access to this location.


3

Is this common behaviour? It's your specific settings. Solution: Options -MultiViews Apache Manual says (you will have to scroll down a bit): The effect of MultiViews is as follows: if the server receives a request for /some/dir/foo, if /some/dir has MultiViews enabled, and /some/dir/foo does not exist, then the server reads the directory ...


3

These errors mean, that the scripts were running longer than 31 seconds and thus they were terminated, as your fcgid.conf says so. The standard timeout is 40 seconds btw. You can easily check this behaviour by writing a test.php: <?php sleep(32); ?> This should give you an error 500 and put this error in your logs. You have two possibilities to ...


3

These are comparing apples and oranges and bananas. First, FastCGI is a protocol for communicating between a persistent application (or application server) and a webserver. A FastCGI-capable application runs on its own and receives requests from the webserver, then returns the responses to the webserver to give to the client. FastCGI was invented because ...


2

I'm using the IUS RPMs from Rackspace, and suexec came compiled and configured by default. Here are the pertinent parts of my mod_fcgid config: LoadModule fcgid_module modules/mod_fcgid.so AddHandler fcgid-script fcg fcgi fpl php DefaultInitEnv PHPRC "/etc/" FCGIWrapper /usr/bin/php-cgi .php I suggest removing the "ScriptAliasMatch" Directive and ...


2

Trac is written in Python and supports running under mod_wsgi (per an item in the FAQ), so I'd drop several of those moving parts and switch to the fantastic mod_wsgi, which supports specifying a user for a script to run as. I use this functionality for another project and it works well. Checking for the official mod_wsgi docs, to point you at how this is ...


2

SUExec is requiring that the directory (/var/www/html/) and the binary (/var/www/cgi-bin/php5/php-fcgi-starter) be owned by the same user/group. Looks like 10001/2523 owns the dir, and root owns php-fcgi-starter. Fix that, or turn off SUExec.


2

We could see your problem as 'not really a problem', as when timeout occurs the php script ends. If it was not ending after the timeout you would get in bigger problems :-). Then to reduce the hangs time you would at least be able to play with the FcgidBusyTimeout & FcgidBusyScanInterval parameters, ...


2

I doubt you'll find this neatly written up from a reliable source. I think the answer to your headline question is to take a look at suPHP. Unfortunately the documentation is rather sparse. Out of the box suPHP is compiled in paranoid mode which means that you have to set the user and group that you want PHP to run as with the suPHP_UserGroup directive on ...


2

'IPCCommTimeout' may be too large. Set the normal limit(60-180) 'IdleTimeout' set to 3600 or higher 'DefaultMaxClassProcessCount' set to (number or CPU core) 'ProcessLifeTime' set to 7200 'MaxProcessCount' set large 'DefaultMaxClassProcessCount'(2*'DefaultMaxClassProcessCount')


2

Getting a core dump involves setting the "core file size" rlimit to something non-zero for the process(es) you want to get core dumps from. Given that you're running PHP in FCGI, you don't really care about Apache itself, it's not segfaulting; you want to have a script to run ulimit -c unlimited then exec your FCGI server. I like to have a separate scratch ...


2

Found the answer at: http://stackoverflow.com/questions/598444/how-to-share-apc-cache-between-several-php-processes-when-running-under-fastcgi/1094068#1094068 The problem isn't PHP, but mod_fcgid. While PHP spawns multiple children, mod_fcgid is ignorant of it, and will serve one request per child. Hence, when FcgidMaxProcessesPerClass 1 is used, all PHP ...


2

Yes this is expected behaviour. It would appear you had 5 copies of ab running at the same time. This resulted in your 150 PHP processes to handle the 30 requests for each of your 5 ab processes. Apache works best when all its threads can run in memory. There will be a load at which the threads will need to be swapped to disk. Response time will ...


2

Please note that you can also include this in the Post VirtualHost Include of cPanel. This is done via WHM by selecting "Apache Configuration" -> "Include Editor". Then select "All Versions" in the dropdown menu under "Post VirtualHost Include". You should then put your FCGI config like this: <IfModule mod_fcgid.c> FcgidProcessLifeTime 8200 ...


2

mysqldump by default will write lock the database while it runs so the data isn't altered during the backup, which can cause corruption. Drupal writes to the database on every request, so requests will hang while mysqldump is running, and eventually timeout. If you're using InnoDB (or can convert to it), then you can use Percona XtraBackup to do hot ...


2

This basically means that all the php processes are busy processing requests, and no free php processes are available to handle new incoming requests. This causes the 500 error. Usually this means that the php code that you are running is slow, swamping the php processes. Try enabling your mysql slow log to see if slow queries are the culprit, try php ...


2

As I have seen this issue with the cpanel server only, so I am assuming that you are using the same. For the fix, this is what you need to do: # mv /opt/xml2 /opt/xml2.bak Then re execute EasyApache from WHM > EasyApache (Apache Update) or via shell using the command /scripts/easyapache –force This should fix the problem. This blog explains the same.


2

This is the purpose of mod_info. On the server-info page, you will see all the possible configuration options and if they are customized. If there is no custom setting, then it is the compile-time default, which does seem to be 1000 as confirmed by the documentation and source code (line 48). Note: don't use the Location /server-info or create a link to ...


2

Given how many PHP related tasks are in progress on my server, I generally use a different php.ini file for Apache/mod_fcgid... FcgidWrapper "/usr/bin/php-cgi -c /etc/httpd/conf/php.ini" .php This way, all confusion as to what ini file has been parsed is removed.


2

First of all, you're overkilling it. You don't need suphp + php-fpm since they basically do the same thing. If you want multi-user multi-vhost enviroment you should be using the following stack: apache+mod_fastcgi+php-fpm php-fpm allows you to define pools that can run under different user with totally different php settings. For that configuration you ...


2

When you're using mod_fcgid apache doesn't know anything about php anymore. It simply sends it off. So those configurations can't be in any apache configs. You'll need to add those settings to php.ini. http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html http://www.howtoforge.com/how-to-set-up-apache2-with-mod_fcgid-and-php5-on-centos-6.2


1

Do you have apparamor installed and if so does it limit what apache process can access? (check /etc/apparmor.d ) Additionally try doing something like this: sudo -u hostname cat /srv/www/hostname/public/includes/content/header.php What does it give you?


1

I am slowly ramping the number of concurrent requests/connection from 50-200. Thats the load on the server. I used iotop to measure disk io. there is nothing significant showing up there. 3-5k/sec in the peak process. Well if its Disk IO, I have very little room to play as its a hosted VPS. I just tried to load a plain html file cached from the php output ...


1

@dgrimbergen is right. Check this for example: http://blog.forestsoft.de/2011/01/shared-memory-issue-with-mod_fcgid/ If not, is the sharemempath set in your Apache config (httpd.conf or apache2.conf)? SharememPath /var/run/fcgid_shm Make sure this directory exists, is chmod "700" and owned by the same owner as the webserver is running under (www / ...


1

This is a known bug in mod_fcgid, but apparently the mod_fcgid architecture makes it difficult to address in a comprehensive way. At the moment, the best you can do is to upgrade to mod_fcgid 2.3.7 (or later); it has enhancements that at least release the memory at some point after the file upload has allocated it. My experience so far has been that it can ...


1

The problem comes down to PHP session locking; for some reason mod_php manages to unlock the session when the request is cancelled, but mod_fcgid doesn't in this case. Calling session_write_close() before readfile() (100% safe, as I'm not going to be doing anything after outputting the file anyway, as it would corrupt it) ensures the session lock is ...



Only top voted, non community-wiki answers of a minimum length are eligible