Setting up a drupal install on my development box is a routine procedure, so I thought that this would be a snap. I'm hanging on the very first step. The install page loads, but the install hangs after selecting English as the language.
I'm using OpenPublish-2.3RC1-Build375.tar.gz and it seems as though it is missing a file. I'm getting the following error:

Firefox can't find the file at http://localhost/publisher/install.php?profile=openpublish&locale=en.

There are already 4 or 5 installs working without problem, so I'm loathed to belief it is my system. Any suggestions?

Comments

robatk’s picture

jimcaruso’s picture

Issue tags: +openpublish, +install issue, +installation issues

I have this same issue, at the same point, with the same release
at... domain.com/install.php?profile=openpublish&locale=en

I have php.ini settings at
memory_limit = 256M
max_execution_time = 120
realpath_cache_size = 2M

irakli’s picture

Status: Active » Postponed (maintainer needs more info)

Please post error messages from Apache error log that are related to the installation attempt.

rot’s picture

i get the same on ubuntu 10.10

the apache error log says:
[Tue Dec 07 22:03:33 2010] [error] [client 127.0.0.1] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/openpublish/includes/file.inc on line 934

rot’s picture

i now got line 938 - it's just chance where - there seems to be an endless recursion within this function?

/**
 * Finds all files that match a given mask in a given directory.
 * Directories and files beginning with a period are excluded; this
 * prevents hidden files and directories (such as SVN working directories)
 * from being scanned.
 *
 * @param $dir
 *   The base directory for the scan, without trailing slash.
 * @param $mask
 *   The regular expression of the files to find.
 * @param $nomask
 *   An array of files/directories to ignore.
 * @param $callback
 *   The callback function to call for each match.
 * @param $recurse
 *   When TRUE, the directory scan will recurse the entire tree
 *   starting at the provided directory.
 * @param $key
 *   The key to be used for the returned array of files. Possible
 *   values are "filename", for the path starting with $dir,
 *   "basename", for the basename of the file, and "name" for the name
 *   of the file without an extension.
 * @param $min_depth
 *   Minimum depth of directories to return files from.
 * @param $depth
 *   Current depth of recursion. This parameter is only used internally and should not be passed.
 *
 * @return
 *   An associative array (keyed on the provided key) of objects with
 *   "path", "basename", and "name" members corresponding to the
 *   matching files.
 */
function file_scan_directory($dir, $mask, $nomask = array('.', '..', 'CVS'), $callback = 0, $recurse = TRUE, $key = 'filename', $min_depth = 0, $depth = 0) {
  $key = (in_array($key, array('filename', 'basename', 'name')) ? $key : 'filename');
  $files = array();

  if (is_dir($dir) && $handle = opendir($dir)) {
    while (FALSE !== ($file = readdir($handle))) {
      if (!in_array($file, $nomask) && $file[0] != '.') {
        if (is_dir("$dir/$file") && $recurse) {
          // Give priority to files in this folder by merging them in after any subdirectory files.
          $files = array_merge(file_scan_directory("$dir/$file", $mask, $nomask, $callback, $recurse, $key, $min_depth, $depth + 1), $files);
        }
        elseif ($depth >= $min_depth && ereg($mask, $file)) {
          // Always use this match over anything already set in $files with the same $$key.
          $filename = "$dir/$file";
          $basename = basename($file);
          $name = substr($basename, 0, strrpos($basename, '.'));
          $files[$$key] = new stdClass();
          $files[$$key]->filename = $filename;
          $files[$$key]->basename = $basename;
          $files[$$key]->name = $name;
          if ($callback) {
            $callback($filename);
          }
        }
      }
    }

    closedir($handle);
  }

  return $files;
}
rot’s picture

i put a higher timout value in the php.ini and called set_time_limit in the beginning of file.inc - then i finally got an error message. so this seems to be a problem with using a slow engine (a netbook in my case).

the error message says:

Requirements problem
The following error must be resolved before you can continue the installation process:
The directory sites/default/files is not writable. An automated attempt to create this directory failed, possibly due to a permissions problem. To proceed with the installation, either create the directory and modify its permissions manually, or ensure that the installer has the permissions to create it automatically. For more information, please see INSTALL.txt or the on-line handbook.

Please check the error messages and try again.

i then did a

chmod a+w sites/default/files/

and it worked.

BUT

still it did only work with
set_time_limit(900);
added at the top of file.inc

rot’s picture

Status: Postponed (maintainer needs more info) » Needs review
irakli’s picture

you should change timeout in vhost config or in .htacces, not in file.inc

irakli’s picture

Status: Needs review » Fixed

Status: Fixed » Closed (fixed)
Issue tags: -openpublish, -install issue, -installation issues

Automatically closed -- issue fixed for 2 weeks with no activity.