Closed (fixed)
Project:
Drupal core
Version:
5.x-dev
Component:
base system
Priority:
Normal
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
11 Dec 2006 at 08:42 UTC
Updated:
19 Jan 2007 at 19:47 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #1
ChrisKennedy commentedThat happens to me if I go to install.php when drupal has already been installed. Is this what you're doing?
Comment #2
ChrisKennedy commentedDowngrading to normal for the time being.
Comment #3
tema commentedI'm trying to run multisite installation on my local system (XP, XAMPP). Sites are subdirs which are aliases of the same Drupal directory. Each site have own settings.php in separate dir (/sites/[host].[alias]) with different MySQL bases pointed there. Two of them are installed and running ok, when I'm trying to install the next one it throws that error.
Thanks for assistance!
Comment #4
ChrisKennedy commentedPlease verify that the next site is using its own settings.php and not the settings.php from the other two sites. For example, temporarily rename the settings.php from the installed sites to _settings.php.
Comment #5
tema commentedOne more thing:
my root .htaccess file is modified as described here and 'clean_url' setting are forced on in each settings.php (it works and I can't find another way to do this):
Comment #6
tema commentedSorry: priority back to normal.
Yes, the problem is in settings.php location. Thanks, now digging...
Comment #7
tema commentedSorry, I was wrong, everything works ok!
Comment #8
phicarre commentedsame problem for me
i upgrade from 5.0 beta 2 to 5.0-rc1
Comment #9
smmilton commentedOn new installation of 5.0-rc1 the database selection screen pops up, and then saves the settings, and in the background with no displayed info, sets up the database tables. When it redirects to the index.php, it goes blank. Further running of install.php comes up blank. Errors in the apache logs look like:
[client xx.xx.xx.xx] PHP Fatal error: Call to undefined function: file_directory_path() in /var/www/drupal/includes/common.inc on line 1429, referer: http://host.sample.com/install.php?profile=default
[client xx.xx.xx.xx] PHP Fatal error: Call to undefined function: user_access() in /var/www/drupal/modules/block/block.module on line 68
I deleted the install dir, dropped the tables, and rolled back to beta2, and all works well.
System environment:
Centos 4.4 system running in Virtuzzo VPS.
php 4.3.9
apache 2.0.52
mysql 4.1.20
Comment #10
ChrisKennedy commentedPlease see if the latest patch at http://drupal.org/node/100476 fixes the problem.
Comment #11
RobRoy commentedI can successfully reproduce this error when I try to install Drupal on an existing database using the same prefix as an existing installation. In other words, if Drupal tries to create a table that already exists, you get "Call to undefined function file_directory_path()" which is not the best first impression of Drupal. There should be an accurate error message saying something like, "Table whatever already exists. Please choose another prefix or database."
Comment #12
RobRoy commentedOpened an issue for existing tables at http://drupal.org/node/105697 since it seem the cause is different than this.
Comment #13
ChrisKennedy commentedWell, the error isn't due to the table already existing per se. Drupal detected that it had already been installed and tried to output a maintenance page saying that Drupal has already been installed, but it doesn't include file.inc. This is already fixed in the patch I referenced in #10.
Comment #14
ChrisKennedy commentedOkay, in order to get at least this bug fix committed, here is a one-line patch that only fixes the file_directory_path error.
Comment #15
dries commentedNot sure that is the right place to include file.inc. The maintenance page does not require file.inc, as far as I can tell. If the installer requires file.inc, we should probably include it in the installer.
Comment #16
dries commentedLooking at this some more, drupal_maintenance_theme() is a really awkward function. I wonder why it can't be implemented as a bootstrap phase. Really, what we are trying to mimick with drupal_maintenance_theme() is a n alternative bootstrap scenario.
Comment #17
Anonymous (not verified) commentedWould the theme still be able to override the default if you moved it to the bootstrap phase?
Comment #18
ChrisKennedy commented@Dries: you're right, it isn't drupal_maintenance_theme() that needs file.inc, but rather theme_install_page(), which gets called by install_already_done_error(). So I think it's best to remove the file.inc inclusion in install_select_profile() and add it at the beginning of install_main(). Here's a patch to do that.
You're right that drupal_maintenance_theme() is an awkward function, but I don't think it can be implemented as a bootstrap phase in the current linear design in which phases can't be executed conditionally, in different orders, or in different combinations. I think the bootstrapping system should be revisited in d6 to be more flexible, if possible.
Comment #19
ChrisKennedy commentedPatch.
Comment #20
dries commentedAgreed. Committed to CVS HEAD. Thanks.
Comment #21
t.a. barnhart commentedi was upgrading a localhost copy of 4.6 to 5.0RC -- i got this error, but the maintenance patch worked perfectly.
thanks.
Comment #22
(not verified) commented