#491228: Give an accurate warning when uploadprogress will not work with FastCGI.
authorNathan Haug
Fri, 3 Jul 2009 22:02:12 +0000 (22:02 +0000)
committerNathan Haug
Fri, 3 Jul 2009 22:02:12 +0000 (22:02 +0000)
filefield.install

index 7efdd6d..c9e4417 100644 (file)
@@ -55,7 +55,8 @@ function filefield_requirements($phase) {
   // Report Drupal version
   if ($phase == 'runtime') {
     $implementation = filefield_progress_implementation();
-    $apache = strpos($_SERVER["SERVER_SOFTWARE"], 'Apache') !== FALSE;
+    $apache = strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== FALSE;
+    $fastcgi = strpos($_SERVER['SERVER_SOFTWARE'], 'mod_fastcgi') !== FALSE || strpos($_SERVER["SERVER_SOFTWARE"], 'mod_fcgi') !== FALSE;
     $php_52 = version_compare(phpversion(), '5.2.0', '>');
     $description = NULL;
     if (!$apache || !$php_52) {
@@ -63,6 +64,11 @@ function filefield_requirements($phase) {
       $description = $t('Your server is not capable of displaying file upload progress. File upload progress requires PHP 5.2 and an Apache server.');
       $severity = REQUIREMENT_INFO;
     }
+    elseif ($fastcgi) {
+      $value = $t('Not enabled');
+      $description = $t('Your server is not capable of displaying file upload progress. File upload progress requires PHP be run with mod_php and not as FastCGI.');
+      $severity = REQUIREMENT_INFO;
+    }
     elseif (!$implementation && extension_loaded('apc')) {
       $value = $t('Not enabled');
       $description = $t('Your server is capable of displaying file upload progress through APC, but it is not enabled. Add <code>apc.rfc1867 = 1</code> to your php.ini configuration. Alternatively, it is recommended to use <a href="http://pecl.php.net/package/uploadprogress">PECL uploadprogress</a>, which supports more than one simultaneous upload.');