Corso SQL #3: connessione al database tramite EasyPHP

In questa terza parte del corso andremo a vedere come configurare correttamente EasyPHP affinché si possa effettuare una connessione ad un database creato con Workbench.

Nel precedente articolo abbiamo visto come poter creare un database attraverso l’utilizzo di MySQL Workbench, uno tra i software più utilizzati per questo ambito. Dopo aver imparato, a grandi linee, la sintassi base per la creazione di tabelle e l’aggiunta di valori al loro interno, è importante capire come poter accedere al nostro database attraverso una pagina web in PHP, per poter magari implementare il database in un sito web. Per questo compito andremo ad utilizzare Easy PHP Devserver, che fungerà da interfaccia per la connessione alla directory contenente i vari file PHP che implementeranno la connessione al database e non solo. Vediamo dunque come fare.

Passo 1: configurazione di EasyPHP

Per far sì che tutto funzioni correttamente, dobbiamo assicurarci che la piattaforma di EasyPHP sia configurata al meglio e che non generi successivi errori nell’esecuzione delle query. Per prima cosa, scarichiamo l’ultima versione disponibile di EasyPHP Devserver. Dopo averla installata, avrete bisogno dei seguenti file:

  1. PHP 7.1.5 o superiore
  2. Xdebug

La prima cosa da fare è estrarre il contenuto dell’archivio relativo a PHP e copiarlo all’interno del percorso C:/Program Files (x86)/EasyPHP-Devserver-17/eds-binaries/php, rinominando poi la cartella in mysql715vc14x86x0000000000 (al posto degli 0 ci sarà un valore numerico corrispondente al vostro host). Ovviamente se la versione che avete scaricato voi è a 64bit dovrete scrivere x64. Fatto ciò entrate in C:/Program Files (x86)/EasyPHP-Devserver-17/eds-binaries/dbserver/mysql715vc14x86x190131230744/ e cercate il file rinominato my.ini (se non c’è, createlo), modificandolo come segue:

[client]
default-character-set=utf8
port = 3306

[mysql]
default-character-set=utf8

[mysqld]
#Path to installation directory. All paths are usually resolved relative to this.
basedir = "C:/Program Files (x86)/EasyPHP-Devserver-17/eds-binaries/dbserver/mysql715vc14x86x190131230744/"
character-set-server = utf8
collation-server = utf8_unicode_ci
default-authentication-plugin=mysql_native_password

#Path to the database root
datadir = "C:/Program Files (x86)/EasyPHP-Devserver-17/eds-binaries/dbserver/mysql715vc14x86x190131230744/data/"

Salvate il tutto per confermare le modifiche. Ora posizionate il file php_xdebug-2.7.0beta1-7.1-vc14-nts.dll all’interno della cartella relativa ai file di PHP. A questo punto dovete copiare anche i file eds-app-action.php, eds-app-dashboard.php e ads-app-settings.php, che trovate in una delle installazioni PHP di default di EasyPHP. Aprite dunque il file ads-app-settings.php e modificatelo così:

<?php
/**
 * EasyPHP Devserver: a complete development environment
 * @author   Laurent Abbal <laurent@abbal.com>
 * @link     http://www.easyphp.org
 */

$php_settings = array();
$php_settings = array(
  'app_type'					=>	"language",
  'app_type_name'				=>	"php",
  'app_name'					=>	"PHP",
  'app_tag'					=>	"",
  'app_version'				=>	"7.1.5 x86",
  'app_version_nb'			=>	"7.1.5",
  'app_build'					=>	"VC14",
  'app_mode'					=>	"x86 (32-bit)",
  'app_architecture'			=>	"x86",
  'app_website'				=>	"www.php.net",
  'app_website_url'			=>	"http://www.php.net",
  'app_icon'					=>	"eds_icon_php.png",
  'load_module_apache'		=>	"php7_module",
  'load_module_apache_dll'	=>	"php7apache2_4.dll",
  'xdebug_version'			=>	"2.7.0beta1",
  'xdebug_dll'				=>	"php_xdebug-2.7.0beta1-7.1-vc14-nts.dll"
);
?>

Anche in questo caso i valori di ogni riga vanno compilati secondo la versione PHP che avete deciso di installare su EasyPHP. Adesso c’è un ultimo step per concludere la configurazione. Sempre all’interno dei file PHP ce n’è uno denominato php.ini. Apritelo e aggiungete le seguenti righe:

; PHP's default character set is set to UTF-8.
; http://php.net/default-charset
default_charset = "utf8"

Quest’ultimo passo è fondamentale per evitare errori di charset durante le esecuzioni delle query.

Avvio di EasyPHP e attivazione del server HTTP

EasyPHP salva tutti i file PHP che voi creerete nella cartella C:/Program Files/EasyPHP Devserver 17/eds-www (il percorso potrebbe variare a seconda dell’installazione). Per potervi accedere e dunque eseguire le query da pagina web, è necessario prima di tutto avviare EasyPHP. Una volta fatto, noterete una piccola icona nella barra applicazioni in basso a destra. Cliccateci con il tasto destro del mouse e selezionate Open Dashboard. Entrerete così nella schermata principale del programma:

EasyPHP Interfaccia

Qui avete due alternative. Se avete seguito le nostre precedenti guide e avete utilizzato MySQL Workbench, allora dovrete solamente premere start sotto HTTP Server perchè il database è già ospitato da un server esterno, altrimenti dovrete attivare anche il Database Server da apposito pulsante. Se decidete di operare interamente su EasyPHP, vi affiderete a phpMyAdmin per la gestione e creazione del database. Una volta attivato tutto il necessario, cliccate su Portable Directory per accedere ai file PHP, ospitati nel localhost (solitamente 127.0.0.1):

EasyPHP file creati

Per verificare che la connessione al database avvenga senza problemi, create un file con estensione PHP ed inseriteci il seguente codice:

<?php
// connessione a MySQL per istanza

// definizione delle variabili
$host = "localhost:3306";
$user = "user";
$pass = "password";
$db = "db_name";

// connessione al DBMS
$conn = @new mysqli($host, $user, $pass, $db);
if( !$conn) 
{
  die(mysqli_connect_error());
} ?>

Dopo averlo modificato inserendo i dati del vostro database, avviatelo tramite EasyPHP. Se viene restituito un messaggio di errore significa che ci sono degli errori nel processo id configurazione, altrimenti siete pronti per procedere oltre.

NOTA: per evitare errori nel charset durante l’esecuzione di codice PHP/MySQLi, aprite Workbench e accedete al vostro database. Ora andate su Server>Option File, selezionate il file my.ini come Configuration File e modificate i parametri character-set-server collation-server rispettivamente in utf8 utf8_unicode_ci. Se avete già creato il database, dovrete convertire sia il database stesso che le singole tabelle, passando sopra con il mouse ad ogni elemento e cliccando sull’icona a forma di chiave inglese.

Se il vostro database e troppo grande vi consigliamo di ricrearlo da zero, dopo aver impostato i parametri appena indicati. Per sicurezza riavviate il processo MySQL dalla Gestione Attività di Windows e anche MySQL Workbench. Alcuni segnalano inoltre che le seguenti modifiche non vengono correttamente applicate se è presente solamente l’account root, per cui su Workbench andate in Server>Users and Privileges e create esattamente due user con lo stesso nome, entrambi con Authentication Type settato su Standard di cui uno con Limit to Hosts Matching su localhost e l’altro su %. A questo punto settate una password per questo utente, salvate le modifiche e riavviate tutto. Ora dovreste essere in grado di connettervi correttamente al vostro database attraverso un file PHP tramite EasyPHP.

Nel prossimo articolo vedremo come eseguire delle specifiche query e come inserire un form che prenda un input dato dall’utente.

Potrebbero interessarti anche...

Facci sapere la tua opinione!

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.