An error occurred. http://d7/install.php?locale=en&profile=default&id=1&op=do <br /> <b>Strict Standards</b>: Declaration of DatabaseStatement::execute() should be compatible with that of PDOStatement::execute() in <b>C:\www\webapps\drupal-7\includes\database\database.inc</b> on line <b>1118</b><br /> {"status":true,"percentage":10,"message":"Remaining 9 of 10.\x3cbr\/\x3eInstalled Block module."}

CommentFileSizeAuthor
#12 strict.patch2.77 KBmfb
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

Damien Tournoud’s picture

Status: Active » Postponed (maintainer needs more info)

Interesting... which PHP version is this?

NancyDru’s picture

PHP 5.2.5, MySql 5.0.45, 7.x-dev from Dec. 28, 2008.

asimmonds’s picture

You need Mysql 5.0 or later.

It appears that the database version requirements check for installation are missing from the new PDO-based DB API. I thought there was a issue for this, but can't seem to find it.

NancyDru’s picture

That's what I get for not putting my glasses on when I typed that. I am on 5.0.45.

Also, when I click to proceed to the error page, this also comes out: Fatal error: Call to undefined function _user_password_dynamic_validation() in C:\www\webapps\drupal-7\install.php on line 719

NancyDru’s picture

The user problem is described in a long running issue: #203187: User module not loaded during install: undefined function errors for _user_password_dynamic_validation() or user_access()

I discovered that I had forgotten to rename the new download. Now I am running the Dec. 28 version. I get:

Strict Standards: Declaration of DatabaseStatementBase::execute() should be compatible with that of PDOStatement::execute() in C:\www\webapps\drupal-7\includes\database\database.inc on line 1486 Strict Standards: Declaration of DatabaseConnection_sqlite::prepareQuery() should be compatible with that of DatabaseConnection::prepareQuery() in C:\www\webapps\drupal-7\includes\database\sqlite\database.inc on line 158 Strict Standards: Declaration of DatabaseConnection_sqlite::prepare() should be compatible with that of PDO::prepare() in C:\www\webapps\drupal-7\includes\database\sqlite\database.inc on line 158

The installation proceeds to the "Installing Drupal" page and just stops with no further indication of a problem.

Because of the issue mentioned above I checked the system table and see that of the five required modules, only system is enabled (status = 1).

NancyDru’s picture

I turned off E_STRICT.

Fatal error: Uncaught exception 'PDOException' with message 'SELECT 1 FROM {blocked_ips} WHERE ip = :ip - Array ( [:ip] => 127.0.0.1 ) SQLSTATE[42S02]: Base table or view not found: 1146 Table 'd7.blocked_ips' doesn't exist' in C:\www\webapps\drupal-7\includes\database\database.inc:509 Stack trace: #0 C:\www\webapps\drupal-7\includes\database\database.inc(1609): DatabaseConnection->query('SELECT 1 FROM {...', Array, Array) #1 C:\www\webapps\drupal-7\includes\bootstrap.inc(1018): db_query('SELECT 1 FROM {...', Array) #2 C:\www\webapps\drupal-7\includes\bootstrap.inc(1120): drupal_is_denied('127.0.0.1') #3 C:\www\webapps\drupal-7\includes\bootstrap.inc(1065): _drupal_bootstrap(3) #4 C:\www\webapps\drupal-7\index.php(21): drupal_bootstrap(9) #5 {main} thrown in C:\www\webapps\drupal-7\includes\database\database.inc on line 509
NancyDru’s picture

Well, after a bit of tweaking, it's working now. Apparently, D7 is incompatible with PHP E_STRICT. I really would like to have that on, as I did with 5 & 6.

NancyDru’s picture

Status: Postponed (maintainer needs more info) » Fixed
asimmonds’s picture

E_STRICT compatibility is being handled in the type hinting issue
#318016: Type hint array parameters

Crell’s picture

Title: Can't install 7.x » Database API is not E_STRICT compatible
Status: Fixed » Active

Reopening, since being E_STRICT is a goal of mine as well. *sigh*

mfb’s picture

Status: Active » Needs review
FileSize
2.77 KB
catch’s picture

Why remove the type hinting for prepare()?

mfb’s picture

@catch: The method signature has to be identical (well, "compatible" as the notice calls it), including type hinting.

catch’s picture

Makes sense. We can choose to type hint everything everywhere in another issue.

mfb’s picture

@catch: To type hint "everything everywhere" you'd also have to patch PDO, as E_STRICT doesn't want you to type hint a PDO method for which PDO doesn't use type hinting.

catch’s picture

Status: Needs review » Reviewed & tested by the community

Thanks for the explanation, that seems unlikely.

Patch itself is trivial, tests pass. RTBC.

Dries’s picture

Status: Reviewed & tested by the community » Fixed

Committed to CVS HEAD! Would be good if we could turn on E_STRICT in simpletest!

Status: Fixed » Closed (fixed)

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