Ho appena aggiornato a PHP 7 solo per scoprire che WordPress 4.8.1 (ultima versione) utilizza ancora mysql_connect nel modulo wp-db.php, ma mysql_connect è stato deprecato.
Il seguente codice è tratto da wp-db-php, righe 1567-1571:
if ( WP_DEBUG ) {
$this->dbh = mysql_connect( $this->dbhost, $this->dbuser, $this->dbpassword, $new_link, $client_flags );
} else {
$this->dbh = @mysql_connect( $this->dbhost, $this->dbuser, $this>dbpassword,
$new_link, $client_flags);
}
Ecco l'output quando provo a eseguire il mio programma:
Errore irreversibile: errore non rilevato: chiamata alla funzione indefinita mysql_connect () in D: \ ApacheHtdocs \ ConneXions \ wp-Includes \ wp-db.php: 1570
Traccia stack:
# 0 D: \ ApacheHtdocs \ ConneXions \ wp-Includes \ wp- db.php (658): wpdb-> db_connect ()
# 1 D: \ ApacheHtdocs \ ConneXions \ wp-Includes \ load.php (404): wpdb -> __ construct ('root', '', 'connexions', ' localhost ')
# 2 D: \ ApacheHtdocs \ ConneXions \ wp-settings.php (106): require_wp_db ()
# 3 D: \ ApacheHtdocs \ ConneXions \ wp-config.php (104): require_once (' D: \ ApacheHtdocs. .. ')
# 4 D: \ ApacheHtdocs \ ConneXions \ wp-load.php (37): require_once (' D: \ ApacheHtdocs ... ')
# 5 D: \ ApacheHtdocs \ ConneXions \ wp-blog-header.php (13): require_once ('D: \ ApacheHtdocs ...')
# 6 D: \ ApacheHtdocs \ ConneXions \ index.php (17): require ('D: \ ApacheHtdocs ...')
# 7 {main} inserito in D: \ ApacheHtdocs \ ConneXions \ wp-Includes \ wp-db. php sulla linea 1570
Non riesco a credere che WordPress affermi che raccomanda PHP 7, ma non funziona con esso. Cosa mi sto perdendo qui?
mysql_connect
viene utilizzato come fallback solo quandomysqli
non viene rilevato. Sembrerebbe che tu non ne abbia installatomysqli
omysql
installato (mysqli
è consigliato,mysql
è obsoleto)