php in genere (risolto)

Postate qui se avete consigli per migliorare i pacchetti disponibili in questo sito o se avete problemi con installazione, funzionamento o altro.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il nome del pacchetto.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio da albatros »

Mi sembra che tu parta un po' da lontano...
Ti consiglio caldamente di cercare e leggere un po' di documentazione o di comprare o farti prestare uno quei tascabili dell'apogeo su php e/o mysql che si trovano a 7,20 euro, ottimi per un uso domestico o per un primo appoccio, economici, sintetici e abbastanza chiari...

Detto questo, ti copio e incollo un esempio (scritto da me che ho imparato con quei libretti, anche se a un livello davvero elementare):
il file index.htm (ma tu chiamalo index.php) ha al suo interno queste righe (ovviamente fra tag <? e ?>):

Codice: Seleziona tutto

include("daticonnessione.php");
    $id_connessione=mysql_connect("$host", "$user", "$passwd") or die('Spiacente
, non è al momento possibile connettersi al database... Errore: ' . mysql_error(
));
    mysql_select_db($database, $id_connessione);
    $query="select data, nome, tipo, trasporto, capogita, data_inizio, data_fine
, id from gite where tipologia=1";
e daticonnessione.php ha le seguenti righe:

Codice: Seleziona tutto

<?
$host="localhost";
$user="nome-utente";
$passwd="password dell'utente";
$database="programma";
?>
Lo script e il database servono per la pagina:
http://www.caipontassieve.it/programma/index.htm

Ok, è molto grezza, ancora ci devo lavorare parecchio, ma ho poco tempo ...

Naturalmente si presuppone che tu abbia creato un certo utente con nome-utente e una sua password e ben precisi "privilegi" sul database, che come sempre conviene limitare all'essenziale...

Scusa la brevità...

Ciao

Avatar utente
linus.bash
Linux 3.x
Linux 3.x
Messaggi: 976
Iscritto il: ven 10 feb 2006, 12:58
Località: Bologna
Contatta:

Messaggio da linus.bash »

non ne capisco molto, ho trovato le stringhe da te postate ma non so cosa farci...


ho passato una giornata a far funzionare tutto e poi mi frega un database. :cry:

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Messaggio da aschenaz »

Comunque, mi pare che tu ti sia inutilmente complicato la vita.
Nell'installazione standard di Slackware c'è tutto quello che ti serve per far funzionare un sito php-mysql in locale (e non solo).
Innanzitutto, io non avrei installato Apache 2! Non che non sia buono, figuriamoci, ma, semplicemente, non è indispensabile e comporta alcune diversità di configurazione.
Fossi in te, farei questo:
  • Mi farei un backup del sito e un dump del database;
  • Disinstallerei senza pensarci Apache, MySql e PHP;
  • Cancellerei le directory apache in /etc e in /var/log e le directory mysql in /var/lib e in /var/run, insomma, eliminerei ogni traccia;
  • Prenderei il cd di Slackware 10.2 e installerei Mysql (directory ap), Apache e PHP (directory n) da lì;
  • Inizializzerei MySql come descritto in S4D
  • Configurerei /etc/apache/httpd.conf, aggiungendo index.php alla riga

    Codice: Seleziona tutto

    DirectoryIndex index.html
    modificando eventualmente la DocumentRoot e decommentando la riga

    Codice: Seleziona tutto

    Include /etc/apache/mod_php.conf
    (verso la fine);
  • Se l'avvio automatico di Apache e Mysql non fosse già predisposto (avresto dovuto farlo al momento dell'installazione iniziale), li metterei in rc.local;
  • Ripristinerei sito e database.
Dopodiché, sempre salvo errori, vedresti funzionare tutto. :)
Ciao,
nino

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Messaggio da Paoletta »

Se l'avvio automatico di Apache e Mysql non fosse già predisposto (avresto dovuto farlo al momento dell'installazione iniziale), li metterei in rc.local;
non é necessario, basta solo rendere eseguibili /etc/rc.d/rc.httpd e /etc/rc.d/rc.mysql; questi verranno avviati da /etc/rc.d/rc.M; oppure puoi usare pkgtool (sezione Setup)

Avatar utente
linus.bash
Linux 3.x
Linux 3.x
Messaggi: 976
Iscritto il: ven 10 feb 2006, 12:58
Località: Bologna
Contatta:

Messaggio da linus.bash »

ok faccio cosi...ma poi come collego il database online con quello locale?

Cioè voglio dire salvo sul desktop un backup dal web, poi per fare in modo che apache lo usi per il sito?


grazie stasera provo.

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio da albatros »

Forse ho capito male, ma mi pare che, per quanto siano ottimi suggerimenti utilissimi per il futuro, a linus.bash non servano in questo momento perché l'installazione dovrebbe averla conclusa e dovrebbe esser funzionante...
Il problema mi pare sia che non sa gestire un database mysql (quasi sicuramente da php, ma forse neanche da linea di comando con mysql...)

Il consiglio, scontato, lo so, è di leggere un po' di documentazione introduttiva per farsi un minimo di basi...

Nessun problema, con un pizzico di impegno si fa presto a partire, sicuramente molto prima che a farsi spingere con suggerimenti l'uno sganciato dall'altro...

Da una fulminea ricerca su google direi che forse qualcosa come:

http://php.html.it/guide/lezione/2310/u ... ase-mysql/

dovrebbe essere sufficiente per muovere i primi passi...

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio da albatros »

Scusami, hai postato mentre scrivevo anch'io...
Dato che nel primo post hai detto di voler fare un sito in locale, dovresti fare un dumping del database e ricrearlo in locale...
Per la verità non è necessario, potresti anche tenere il database dov'è, solo che è molto più pratico tenerne una copia in locale (e più sicuro se sono dati importanti e non sei convinto della correttezza dei comandi che dai...).

Per la gestione del database ti consiglierei phpmyadmin, comodissima interfaccia grafica che ti semplifica la vita se non sei pratico di mysql, anche se devi sobbarcarti la fatica (modesta) di installarlo...

Attenzione a che le versioni di mysql coincidano, altrimenti devi assicurarti di salvarlo in modo compatibile (ad esempio in locale avevo mysql 5 e sul sito in remoto avevo mysql4, quindi quando ho trasfertio il database sul server ho fatto un dumping in modo che fosse compatibile con mysql4).

Avatar utente
linus.bash
Linux 3.x
Linux 3.x
Messaggi: 976
Iscritto il: ven 10 feb 2006, 12:58
Località: Bologna
Contatta:

Messaggio da linus.bash »

Per la gestione del database ti consiglierei phpmyadmin, comodissima interfaccia grafica che ti semplifica la vita se non sei pratico di mysql, anche se devi sobbarcarti la fatica (modesta) di installarlo...

vorrei evitarlo...il mio problema è solo collegare il database al sito in apache.

il database funziona, l'ho creato ed ho importato in quello creato quello del web.

Infatti in /usr/lib/msql/ ho una directory con il nome del database con tutti i file...ora quando ho installato msql da root ho dato una password...

entro in msql + pass dopo averlo avviato e da qui non so più come fare per collegarlo a quello del sito. forse (dico forse) il problema stà proprio nelle pagini php della directory db del sito che non riescono ha collegarsi al database "localhost", cioè quello da me creato.

comunque ora ho molte + info, chissà che stasera non risolvo prima di disinstallare tutto e ricominciare.

saluti

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio da albatros »

Sì, credo che il problema sia proprio lì, nei parametri di connessione al database dello script php, che probabilmente sono diversi da sito a locale...

Credo che rileggendo le righe relative alla connessione potrai venire a capo del problema...

Avatar utente
MAT
Linux 4.x
Linux 4.x
Messaggi: 1242
Iscritto il: mer 9 mar 2005, 0:00
Nome Cognome: Matteo Magni
Kernel: 2.6.20
Desktop: Fluxbox
Distribuzione: Gentoo
Località: Vignola, Modena

Messaggio da MAT »

Io dico che dovresti leggere qualcosa invece di tentare a casaccio...

Avatar utente
linus.bash
Linux 3.x
Linux 3.x
Messaggi: 976
Iscritto il: ven 10 feb 2006, 12:58
Località: Bologna
Contatta:

Messaggio da linus.bash »

ninobi ha scritto: Fossi in te, farei questo:
  • Mi farei un backup del sito e un dump del database;
  • Disinstallerei senza pensarci Apache, MySql e PHP;
  • Cancellerei le directory apache in /etc e in /var/log e le directory mysql in /var/lib e in /var/run, insomma, eliminerei ogni traccia;
  • Prenderei il cd di Slackware 10.2 e installerei Mysql (directory ap), Apache e PHP (directory n) da lì;
  • Inizializzerei MySql come descritto in S4D
  • Configurerei /etc/apache/httpd.conf, aggiungendo index.php alla riga

    Codice: Seleziona tutto

    DirectoryIndex index.html
    modificando eventualmente la DocumentRoot e decommentando la riga

    Codice: Seleziona tutto

    Include /etc/apache/mod_php.conf
    (verso la fine);
  • Se l'avvio automatico di Apache e Mysql non fosse già predisposto (avresto dovuto farlo al momento dell'installazione iniziale), li metterei in rc.local;
  • Ripristinerei sito e database.
Dopodiché, sempre salvo errori, vedresti funzionare tutto. :)
Ciao,
nino
Ho fatto quello che Tu hai detto alla lettera.

Ora apache e php funziona benissimo.

Con il file index.php che contiene il codice :

Codice: Seleziona tutto

<?php phpinfo(); ?>
vedo una bella pagina in php di info.

Mi sono accorto che avevo + directory apache e relativi file config, ora dopo una accurata disinstallazione e pulizia di varie directory e soprattutto dopo aver installato i 3 programmi TGZ dal CD slackware 10.2 tutto funziona benissimo.

Mi rimane solo msql.

Ora ci provo ma speriamo bene...

Se qualcuno mi vuole aiutare la situazione è questa :

ho un file sul Desktop che si chiama localhost.sql contenente il db del WEB...sul pc ancora non ho il coraggio di inviare un comando...quindi msql è ancora vergine.


grazie di cuore, lo so che sono scarso...ma questi programmi non li ho mai usati in vita mia e di database non ne capisco nulla.

Avatar utente
linus.bash
Linux 3.x
Linux 3.x
Messaggi: 976
Iscritto il: ven 10 feb 2006, 12:58
Località: Bologna
Contatta:

Messaggio da linus.bash »

ancora non funziona ma sono riuscito a connetterlo al database my_linusbash che è quello del sito...

Codice: Seleziona tutto

Connection id:          78
Current database:       my_linusbash
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         4.1.14-log
Protocol version:       10
Connection:             linus via TCP/IP
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
TCP port:               3306
Uptime:                 8 min 48 sec

Threads: 1  Questions: 165  Slow queries: 0  Opens: 1  Flush tables: 2  Open tables: 1  Queries per second avg: 0.312
ora come lo dico ad apache?


dai ci siamo quasi

Avatar utente
linus.bash
Linux 3.x
Linux 3.x
Messaggi: 976
Iscritto il: ven 10 feb 2006, 12:58
Località: Bologna
Contatta:

Messaggio da linus.bash »

Codice: Seleziona tutto

mysql> \s
--------------
mysql  Ver 14.7 Distrib 4.1.14, for slackware-linux-gnu (i486) using  EditLine wrapper

Connection id:          120
Current database:       my_linusbash
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         4.1.14-log
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
UNIX socket:            /var/run/mysql/mysql.sock
Uptime:                 14 min 29 sec

Threads: 1  Questions: 232  Slow queries: 0  Opens: 1  Flush tables: 2  Open tables: 1  Queries per second avg: 0.267
--------------

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio da albatros »

La connessione la fai con php...
Da qualche parte dovrai mettere o correggere nello script php qualcosa tipo
$id_connessione=mysql_connect("localhost", "root@localhost", "tua-password")
mysql_select_db("my_linusbash", $id_connessione)
l'id connessione identifica ovviamente la connessione ed è il valore di ritorno di mysql_connect se va a buon fine...
Le query le fai poi con mysql_query(<query in sql>, $id_connessione)...

Rinnovo la proposta, che vede sulla stessa linea anche MAT, di approfondire le tue conoscenze di base su php e mysql al fine di aumentare il rapporto tempo_impiegato/risultati... :wink:

Avatar utente
linus.bash
Linux 3.x
Linux 3.x
Messaggi: 976
Iscritto il: ven 10 feb 2006, 12:58
Località: Bologna
Contatta:

Messaggio da linus.bash »

Il problema era incompatibilità tra versioni usate per il WEB online e versioni usate in locale...appena ho usato le stesse versioni dei programmi non ho avuto + nessun problema a connettermi al database.

Rispondi