Newsgroup: it.comp.www.php
Titolo: PDO e easyphp 14.1 - crash mysql

Come da oggetto,
utilizzo Easyphp da parecchi anni, nessun problema.
Adesso, nel primo progetto in cui uso PDO  spesso va crash il server MYSQL.
 
Vi risulta ci sia qualche incompatibilità o accorgimenti da adottare?
Grazie in anticipo.

 ha scritto:

Io uso Xampp e nei miei progetti PHP l'uso di PDO ovviamente
non manda in crash alcunché. Ti converrebbe scaricare Xampp e
provare il tuo progetto tramite esso, se funziona butta pure nel
cesso Easyphp (magari dopo aver segnalato la cosa agli sviluppatori...) ;-)
 
 

Adesso, nel primo progetto in cui uso PDO  spesso va crash il server MYSQL.
 
Controlla cosa c'è nei log di MySQL. E cosa significa "va in crash"? Il server
va giù, o salta la connessione? Che query stava girando?
 
Leonardo
-- 
 
A terrible beauty is born.
                                     - W. B. Yeats, Easter 1916

Grazie per la risposta,
la query non riesco ad identificarla.
 
L'errore è il seguente: "Unexpected end of mysql".
 
Nei log di mysql, subito dopo il crash trovo:
 
2017-03-23 07:29:55 7556 [Note] Plugin 'FEDERATED' is disabled.
2017-03-23 07:29:55 7556 [Note] InnoDB: The InnoDB memory heap is disabled
2017-03-23 07:29:55 7556 [Note] InnoDB: Mutexes and rw_locks use Windows 
interlocked functions
2017-03-23 07:29:55 7556 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-03-23 07:29:55 7556 [Note] InnoDB: Not using CPU crc32 instructions
2017-03-23 07:29:55 7556 [Note] InnoDB: Initializing buffer pool, size = 
20.0M
2017-03-23 07:29:55 7556 [Note] InnoDB: Completed initialization of 
buffer pool
2017-03-23 07:29:55 7556 [Note] InnoDB: Highest supported file format is 
Barracuda.
2017-03-23 07:29:55 7556 [Note] InnoDB: The log sequence numbers 
1416362483 and 1416362483 in ibdata files do not match the log sequence 
number 1416595354 in the ib_logfiles!
2017-03-23 07:29:55 7556 [Note] InnoDB: Database was not shutdown normally!
2017-03-23 07:29:55 7556 [Note] InnoDB: Starting crash recovery.
2017-03-23 07:29:55 7556 [Note] InnoDB: Reading tablespace information 
from the .ibd files...
2017-03-23 07:29:55 7556 [Note] InnoDB: Restoring possible half-written 
data pages
2017-03-23 07:29:55 7556 [Note] InnoDB: from the doublewrite buffer...
InnoDB: Last MySQL binlog file position 0 2046, file name mysql-bin.000651
2017-03-23 07:29:56 7556 [Note] InnoDB: 128 rollback segment(s) are active.
2017-03-23 07:29:56 7556 [Note] InnoDB: Waiting for purge to start
2017-03-23 07:29:56 7556 [Note] InnoDB: 5.6.15 started; log sequence 
number 1416595354
2017-03-23 07:29:56 7556 [Note] Recovering after a crash using mysql-bin
2017-03-23 07:29:56 7556 [Note] Starting crash recovery...
2017-03-23 07:29:56 7556 [Note] Crash recovery finished.
2017-03-23 07:29:56 7556 [Note] Server hostname (bind-address): 
'127.0.0.1'; port: 3306
2017-03-23 07:29:56 7556 [Note]   - '127.0.0.1' resolves to '127.0.0.1';
2017-03-23 07:29:56 7556 [Note] Server socket created on IP: '127.0.0.1'.
 
Non capisco quali di questi messaggi possa essere un errore.



per iniziare puoi buttare easyphp o Xammp e sui derivati
 
ti installi docker o una VM come virtualbox con una distro linux e parti 
da li, che sicuramente è la soluzione più professionale
 
indicaci lo stack *AMP che hai installato
 
quale versione di php
quale di apache e quale di mysql
può essere che uno dei tre abbia un BUG,
 
la configurazione della connessione PDO è persistente oppure no?
 
Ciao
 
 

2017-03-23 07:29:55 7556 [Note] InnoDB: Starting crash recovery.
 
Che versione di MySQL e su che piattaforma? Questo mi sa di problemi nella
installazione di MySQL (per es., librerie non del tutto compatibili).


Grazie per la risposta e hai ragione, il problema è che devo lavorare 
saltando da una postazione all'altra e per quanto "giocattoloso" easyphp 
è portable e per anni, fino ad oggi, sono sempre riuscito a portarmi 
dietro con estrema facilità tutti i progetti.
 
Ho veramente provato ad usare VM e tool tipo vagrant (anche recentemente 
dopo questo episodio) ma ho sempre avuto grossi problemi nel rendere la 
cosa "migrabile" senza doverci perdere parecchio tempo ogni volta.
 
APACHE  2.4.7
MYSQL  5.6.15
PHP  5.4.24
 
La connessione PDO non è persistente.


Sono su Win 8 e le versione della *AMP sono le seguenti:
 
APACHE  2.4.7
MYSQL  5.6.15
PHP  5.4.24
 
 
 


MYSQL  5.6.15
 
Vedo che ci sono vari bug dalla 5.6.15 in su che *potrebbero* causare dei crash.
 
Prima di qualsiasi altra cosa, aggiorna a 5.6.35
 
 
https://dev.mysql.com/downloads/mysql/5.6.html
 
 
(32 o 64 bit secondo cos'è appropriato per il tuo Windows 8).
 
Se sostituisci semplicemente i file nella cartella MySQL (tranne "data" dove ci sono i DB)
con quelli dello ZIP, naturalmente a servizio MySQL fermo, questo aggiorna il server senza
problemi. Altrimenti, se l'installazione è standard (perché non so *AMP dove metta MySQL),
basta che tu lanci l'installer.


Grazie lo provo subito.


 cosa "migrabile" senza doverci perdere parecchio tempo ogni volta.
 
 
Vagrant non è una vm, è nato per avere l'ambiente di sviluppo simile all'ambiente di produzione e si appoggia ad un virtualizzatore di tua scelta. Non so cosa intendi per migrabilità ma non dovrebbe essere un problema visto la sua natura. Se hai windows potresti avere problemi iniziali di configurazione, ma niente di irrisolvibile.
 
Non è esattamente quello che hai chiesto ma potrebbe essere una buona soluzione.

E' una cosa su cui sto ragionando in effetti però i problemi di 
configurazioni non sono pochi e non riesco ad essere produttivo.
 
Per migrabilità intendo il dover lavorare su macchine diverse tra la 
mattina e la sera, con easyphp posso mettere tutto in una pennetta e via 
con un VM le cose cambiano da macchina a macchina... purtroppo.
 

 con un VM le cose cambiano da macchina a macchina... purtroppo.
 
Ma è proprio quello il bello, per ogni server di produzione avrai una vm e 
quindi quando vai ad installare (o se preferisci deploiare) non perdi tempo 
e le sorprese saranno minime.
 
Prenditi un hd da mezzo tera usb3, ormai li trovi nei pacchetti di patatine, 
se ci metti VirtualBox più una decina di macchine virtuali ti rimangono 450 giga 
per i tuoi script.


 
Si però come scrivevo, poi il problema sono le macchine fisiche su cui 
lo fai girare, virtual box ha bisogno di comunicare con le varie schede 
di rete che hanno percorsi e config diverse da pc a pc quindi non è un 
lavoro portable, purtroppo.
 
Dovresti avere virtual box settato sulle macchine in cui lo vuoi usare e 
spostarti con i vari vagrant file...


Ignoro windows. Se non puoi lanciare VirtualBox dal disco allora 
hai perfettamente ragione: non è una soluzione.
 
Per quanto riguarda le configurazioni di rete il Vagrant file è lì apposta.

 La connessione PDO non è persistente.
 
 
ti hanno gia risposto in altro post.
 
 

 virtualbox
 > ...
 
Il "problema" di entrambe le soluzioni e` che devi appunto avere 
qualcosa di installato sull'host. Che sia Virtualbox o Docker, devi 
avere un ambiente di virtualizzazione installato.
 
Purtroppo se lui non vuole dover installare niente sulla macchina host, 
allora le versioni portable dello stack LAMP sono l'unica soluzione.
 
Tenendo presente che sono mono-piattaforma (non puoi usare le stesse 
applicazioni Windows portable su Linux e OSX) e che le prestazioni sono 
quello che sono, a meno di avere una chiavetta USB3... :)
 
L'altra soluzione sarebbe una chiavetta USB con tutto il S.O. 
installato, e a quel punto te ne freghi di cosa c'e` sull'host: fai boot 
da USB, lavori sui tuoi file e li salvi nello stesso posto.
 
Puoi anche avere Virtualbox o Docker nella stessa chiavetta, in modo da 
separare i progetti in diverse VM.
 
In pratica usi l'host solo come hardware.
 
Bye.