Jump to content

Prestashop 1.5.1 Problema Import CSV


Lightia
 Share

Recommended Posts

Salve, seguo da tempo il forum, ma è la prima volta che apro un TOPIC, per questo mi scuso anticipatamente per qualsiasi errore possa commette.

 

Ho un E-COMMERCE avviato con PRESTASHOP, col quale mi son sempre trovato abbastanza bene dalle versioni 1.4.x in poi.

Dopo un po' di fatica sono riuscito ad aggiornare il tutto alla nuova versione 1.5.1, e fin qui tutto ok.

 

Il mio problema più grande è l'IMPORTAZIONE dei prodotti.

Il metodo che vorrei usare per questioni "pratiche" è l'inserimento da BO tramite Parametri->Importa con file CSV.

 

Ho preparato a dovere il CSV (che aggiornerei spesso) seguendo i vari modelli.

 

Il sito è su HOSTING ARUBA (quindi, al momento, purtroppo condiviso) e non permette modifiche al file PHP.ini.

I valori impostati al momento sono:

Versione di PHP: 5.3.16

Limite memoria: 64M

Tempo di esecuzione massimo: 120

 

 

Detto tutto questo, il mio problema è che l'import non riesce ad andare a buon fine, restituendo ERRORE 505 Time-Out Gateway.

Da ricerche ho visto che il problema è abbastanza comune.

Ho allora diviso il file CSV in più file, per permettere l'importazione, inserendo un po' di prodotti alla volta.

 

Il mio vero problema è proprio qui, avrei diverse migliaia di prodotti da importare ma l'import fallisce sempre se nel file CSV ci sono più di 7/10 prodotti!!!!!

Mi risulta quindi chiaramente impossibile divider il mio catalogo in cosi tanti file CSV e importarne uno per volta, per non parlare dell'aggiornamento ogni volta.

 

Sono abbastanza "disperato" le ho provate un po' tutte, ma niente. VI PREGO AIUTATEMI!!!

  • Like 1

Share this post


Link to post
Share on other sites

...

Sono abbastanza "disperato" le ho provate un po' tutte, ma niente. VI PREGO AIUTATEMI!!!

 

Ciao Lightia, immagino non ti sia sfuggita la mia piccola guida all'uso del csv. nel caso dacci un'occhiata, forse può esserti d'aiuto.

 

64MB potrebbero essere pochi. Ti consiglio per prima cosa di provare ad aumentare questo valore nel file config/config.inc.php inserisci la seguente stringa:

 

ini_set('memory_limit','128M');

 

Poi controlla di non aver impostato la qualità JPG delle immagini ad un valore superiore a 90, meglio se tra 70 e 80.

Sembra un piccola variazione ma non è così, c'è una grande differenza nella generazione delle miniature anche variando di poco il valore della qualità jpg.

 

Se hai bisogno di un csv sicuramente corretto, lo trovi allegato al topic della guida.

 

Aruba consiglia ufficialmente di utilizzare importazioni di 100 prodotti alla volta su hosting condiviso.

Personalmente ho eseguito import di + di 400 prodotti, sempre su hosting condiviso Aruba (che comunque sconsiglio per Prestashop).

 

Verifica quanto scritto sopra ed eventualmente posta nel topic della guida, ci sono diversi utenti che seguono la discussione e potrebbero aiutarti.

Verifica anche il tempo di esecuzione prima del timeout.

Chiedi anche al tuo provider se e in che modo limita le query/ora al database, o, comunque, se hai una limitazione sull'uso del database.

Share this post


Link to post
Share on other sites

ini_set('memory_limit','128M');

 

Questo però su hosting condiviso non credo lo accetti.

 

E' possibile che il provider blocchi questo settaggio, ma non è detto, di solito non lo fanno.

Ho provato personalmente su hosting condiviso aruba ed è stato accettato.

Il problema riguardva il caricamento dei moduli in b.o.

Share this post


Link to post
Share on other sites

Io su gator non riesco ad importare un csv con più di 300 prodotti.

In fase di import alla fine mi va su una pagina con errore 404 !!!!

 

Adesso possiamo provare in 100 ad importare un csv ed ogniuno otterrebe una diversa quantità di prodotti importati prima della chiusura della connessione.

 

Quindi non è molto indicativo il fatto che sia un 404 o un 503.

Quello che influisce in generale sull'importazione in Prestashop è:

 

Limite memoria: (memory_limit) 128 ok

Tempo di esecuzione massimo: (max_execution_time) 120 ok

qualità delle immagini jpg impostata in b.o.

eventuale limite di query/ora

eventuali bug in Ps

e probabilmente anche qualcos'altro che ancora mi sfugge.

 

Ovviamente il csv deve essere conforme

Share this post


Link to post
Share on other sites

Anzi tutto vi ringrazio per le risposte velocissime!!!

 

 

eugenata"[/b]]Ciao Lightia' date=' immagino non ti sia sfuggita la mia piccola guida all'uso del csv. nel caso dacci un'occhiata, forse può esserti d'aiuto.[/quote']

 

Grazie per la segnalazione, la vedrò sicuramente.

 

Riuscissi a importare 100 prodotti o più sarebbe già oro.

Ma importarne 7 alla volta è davvero infattibile.

 

Per quanto riguarda le immagini, le ho tolte dai CSV da importare, proprio perchè pensavo potessero essere il problema, ma niente, sempre uguale.

 

Ho aperto un ticket con aruba proprio per aumentare il valore a 128MB, sto attendendo risposta, però comunque anche per gli attuali 64M non è troppo poco file CSV da sole 7 righe???

 

Per quanto riguarda la modifica al file 'config.inc.php' l'ho cercato e trovato, al suo interno trovo solo questi tre settaggi:

/* Improve PHP configuration to prevent issues */

ini_set('upload_max_filesize', '100M');

ini_set('default_charset', 'utf-8');

ini_set('magic_quotes_runtime', 0);

 

non è presente:

ini_set('memory_limit','64M');

Share this post


Link to post
Share on other sites

..

Ma importarne 7 alla volta è davvero infattibile.

 

Concordo, deve esserci qualche limitazione altrove.

 

Per quanto riguarda le immagini, le ho tolte dai CSV da importare, proprio perchè pensavo potessero essere il problema, ma niente, sempre uguale.

 

A maggior ragione come sopra.

 

Ho aperto un ticket con aruba proprio per aumentare il valore a 128MB, sto attendendo risposta, però comunque anche per gli attuali 64M non è troppo poco file CSV da sole 7 righe???

 

Decisamente si

 

Per quanto riguarda la modifica al file 'config.inc.php' l'ho cercato e trovato, al suo interno trovo solo questi tre settaggi:

/* Improve PHP configuration to prevent issues */

ini_set('upload_max_filesize', '100M');

ini_set('default_charset', 'utf-8');

ini_set('magic_quotes_runtime', 0);

 

non è presente:

ini_set('memory_limit','64M');

 

Infatti devi aggiungere la stringa: ini_set('memory_limit','1284M');

Share this post


Link to post
Share on other sites

Stesso identico problema da ieri sera, sempre con Aruba.

Anche io ho un hosting condiviso e anche nel mio caso sono passato da 500 importazioni senza problemi ad avere il Time-Out Gateway con 7 importazioni.

Nel mio caso ho notato che l'importazione in realtà va a buon fine, ma non associa i prodotti alle rispettive immagini.

 

Fino ad oggi l'assistenza di Aruba è stato buona e mi hanno già modificato 2 valori sul config.ini, ma ho la forte sensazione che buttar su un sito di e-commerce su un hosting shared sia abbastanza problematico.

 

 

Aggiungo:

E' possibile effettuare l'import dei dati dal pannello MySql?

Prestashop li riconosce?

E soprattutto, quale delle centinaia di tabelle è quella giusta?

Edited by Mura82 (see edit history)

Share this post


Link to post
Share on other sites

...

E' possibile effettuare l'import dei dati dal pannello MySql?

Prestashop li riconosce?

E soprattutto, quale delle centinaia di tabelle è quella giusta?

 

Questa è la lista delle tabelle del solo catalogo: http://www.prestasho...post__p__917161

Sono 45 tabelle. Quindi drirei che serve necessariamente uno script.

 

Il problema vero del timeout su prestashop è proprio dovuto al suo script di import che è scritto in modo tale da generare per forza un timeout. Infatti Ps importa tutti i record in modo diretto, lasciando aperta la connessione al db. Questo è inaccettabile per qualsiasi server, a meno che, l'importazione non duri poco.

Quindi è chiaro che l'utility di import in Ps è concepita per importare solo un numero limitato di prodotti. Maggiore se privi di immagini, minore se con immagini.

 

Nel mio caso ho notato che l'importazione in realtà va a buon fine, ma non associa i prodotti alle rispettive immagini.

 

Allore forse è sbagliato il link, consulta la guida ed eventualmente posta lì il problema.

 

Fino ad oggi l'assistenza di Aruba è stato buona e mi hanno già modificato 2 valori sul config.ini, ma ho la forte sensazione che buttar su un sito di e-commerce su un hosting shared sia abbastanza problematico.

 

Non voglio approfondire l'argomento perchè è offtopic, ma ci sono ottimi provider (non Aruba), che offrono hosting condivisi su server a bassa densità, compatibili con Prestashop.

Il server virtuale o dedicato non è necessario per il 99% dei siti in Ps.

Share this post


Link to post
Share on other sites

  • 2 weeks later...

Salve, volevo aggiornare la situazione.

Ho risolto il problema cambiando Hosting e devo dire che con il nuovo tutti i problemi sono spariti.

Non è una vera e propria risoluzione del problema, ma forse non sarebbero state possibili altre cose, essendo alla fine limitazione poste dal provider.

Grazie a tutti per l'aiuto.

 

Ora però ho un'ultimo problema che non riesco a risolvere, importando un catalogo tramite CSV i prodotti inseriti non selezionano il fornitore, nonostante l'ID sia inserito correttamente tra le voci del file CSV, come posso risolvere questo inconveniente?

Share this post


Link to post
Share on other sites

Non si può pensare di usare PS su server "fai da te" o server low cost a 15 euro/anno, perchè PS richiede delle risorse ben specifiche dal server per funzionare correttamente.

 

Nel caso specifico per poter elaborare un csv con numero alto di prodotti è necessario modificare delle variabili sul php.ini, cosa non possibile con server condivisi in quanto non si hanno gli accessi SSH e nessun server condiviso pensa di fare il favore ad aumentare i valori su richiesta.

 

Comunque le variabili interessate per superare il problema di caricamento csv con oltre 100 prodotti sono queste ( i valori inseriti permettono di caricare un csv con 50.000 prodotti )

 

 

bisogna modificare queste variabili, nel file php.ini, in questo modo:

 

max_input_vars 10000000

suhosin.post.max_vars 10000000

suhosin.request.max_vars 10000000

suhosin.get.max_vars 10000000

 

 

Saluti

Share this post


Link to post
Share on other sites

@ANGELICA07

 

quando si ha un server dedicato si può gestire la macchina come si vuole, nel senso che tutte le prestazioni della macchina le possiamo gestire dai vari file di configurazione, tra cui il php.ini, tramite SSH ( ovviamente bisogna essere in grado di gestire un server dedicato !!)

 

Quando con PS si lancia un import di csv questo viene elaborato e quindi gestito.

 

Su un server condiviso le variabili

 

 

max_input_vars

suhosin.post.max_vars

suhosin.request.max_vars

suhosin.get.max_vars

 

sono ovviamente impostate su valori bassi ( standard ) in quanto la stessa macchina deve garantire a tutti gli spazi host presenti le stese risorse.

 

Queste variabili sono quelle che regolano il timeout di elaborazione del post e delle variabili.

 

Modificando queste variabili ad un valore che vogliamo possiamo gestire senza problemi i csv che vogliamo

 

Saluti

Share this post


Link to post
Share on other sites

partire dal prezzo è un modo sbagliato di scegliere un server.

 

Le domande da farsi sono ben altre, ossia quali prestazioni mi servono, velocità, rete, ram, disco, sicurezza ecc ecc

 

Da li esce poi il prezzo in automatico.

 

Comunque per esperienza, nel mercato italiano è difficile trovare un server dedicato con qualità/prezzo paragonabili ad aziende oltre confine.

 

Poi ognuno è libero di spendere i propri soldi come crede.

 

Saluti

Share this post


Link to post
Share on other sites

Personalmente sono del parere che il max_input_vars debba essere tenuto + basso possibile.

E' stato intrododotto proprio per problemi di sicurezza nel php 5.3.9

 

Inoltre gli script lanciati in esecuzione (quindi anche l'importazione) verrebero comunque interrotti allo scadere del tempo indicato nel parametro max_execution_time che di solito non supera i 120 secondi.

Aumentare questo valore può provocare seri danni alla macchina in caso di script baggati, per questo i provider lo tengono sotto controllo.

 

Detto ciò concordo sul fatto che un server dedicato è meglio di un hosting condiviso e che le soluzioni a basso costo non vanno scelte per un ecommerce serio.

Però ci sono molti provider seri che offrono soluzioni intermedie a prezzi accessibili e ti permettono anche di configurarti i php.ini per il tuo hosting.

Il mio è uno di questi.

 

Aggiungo quindi che è possibile importare 50.000 o + prodotti anche con immagini (X ANGELICA07 che forse ha importato 1500 prodotti senza immagini e magari con un collettore diverso dal csv - su un condiso Aruba), ma, mettendo in serio pericolo la sicurezza e la stabilità del server.

 

Ora, se questa cosa è fatta sporadicamente e sotto controllo di un esperto, dico va bene, ma non è assolutamnete accettabile come procedura standart per l'importazione tramite csv.

Tanto più che Prestashop si propone come cms di "facile" utilizzo e per qualsiasi utenza (vedi specifice ufficiali richieste da Ps).

 

La soluzione migliore secondo me, è aggiustare/modificare il metodo di importazione per rendero meno gravoso per la macchina, più sicuro e più confertevole per l'utente.

 

Qui entriamo un po' nel tecnico e siamo offtopic, sarebbe utile aprire un topic su come configurare correttamente un server per Prestashop.

Personalmente ho provato a farlo ma non ho mai trovato nessuno che avesse voglia di approfondire l'argomento, forse ora si potrebbe.

Share this post


Link to post
Share on other sites

A me serve importare cvs con almeno 2000 prodotti + foto, che server dovrei avere? in effetti quello che ho scritto di importazione con 1500 prodotti ma anche di più non è stato fatto con cvs, con cvs al massimo mi sono attestato a 70 prodotti non ho provato di più. In effetti però ho visto che preparando dei cvs diviso per categorie, e ottimo e di facile utilizzo anche per l'aggiornamento prezzi. E' penso che andrò per questa strada.

Share this post


Link to post
Share on other sites

@eugenata

 

se pensa di avere le competenze tecniche per affermare quello che dice in merito a max_input_vars e max_execution_time allora non dovrebbe dire "sono del parere" ma dovrebbe dare risposte certe e professionali.

 

Se poi lei non ha competenze da sistemista, in quanto non lo è, allora è un altra cosa, ma prima di mettere in discussione quanto un altra persona dice, bisogna essere altrettanto competenti in materia, altrimenti si genera solo della confusione sulle persone che qui cercano di capire cosa è meglio fare e cosa no.

 

Saluti

Share this post


Link to post
Share on other sites

@eugenata

 

se pensa di avere le competenze tecniche per affermare quello che dice in merito a max_input_vars e max_execution_time allora non dovrebbe dire "sono del parere" ma dovrebbe dare risposte certe e professionali.

 

Se poi lei non ha competenze da sistemista, in quanto non lo è, allora è un altra cosa, ma prima di mettere in discussione quanto un altra persona dice, bisogna essere altrettanto competenti in materia, altrimenti si genera solo della confusione sulle persone che qui cercano di capire cosa è meglio fare e cosa no.

 

Saluti

 

Ciao solved, non vedo perchè scaldarsi tanto. Ho scritto "sono del pare" perchè, non esiste un unico modo di ottenere lo stesso risultato.

 

Se tu credi che alzare il valore del max_input_vars e del max_execution_time sia una soluzione accettabile per importare decine di milgiaia di prodotti, sei liberissimo di farlo.

 

Non ho messo in dubbio il funzionamento, ma l'opportunità di questo metodo.

 

Chiunque è libero di prendere informazioni al riguardo e agire di conseguenza.

 

Avere le competenze non significa avere un'unica soluzione, anzi tutt'altro.

Share this post


Link to post
Share on other sites

@eugenata

 

Salve

 

no perdoni se il mio intervento è sembrato "arrogante", non era mia intenzione di sicuro.

 

Il mio intervento era solo per chiarire che se uno ha le competenze per discutere e quindi insegnare ad altri delle cose fa bene a dirle e spiegarle, diversamente, se ha solo un infarinatura della materia mettersi li a dire la sua potrebbe creare solo confusione, visto che in questo forum c'è ne già molta, agli utenti interessati all'argomento.

 

Poi ovviamente ognuno fa quello che vuole e nel modo che vuole, ci mancherebbe, ma visto che qui si era partiti per avere delle spiegazioni su un perchè PS aveva questo problema allora era opportuno chiarire delle cose.

 

Saluti

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More