MySQL e PHP (ancora)

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
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.
Rispondi
Avatar utente
HackMeSoftly
Linux 0.x
Linux 0.x
Messaggi: 33
Iscritto il: dom 8 mag 2005, 0:00
Contatta:

MySQL e PHP (ancora)

Messaggio da HackMeSoftly »

Ho la Slack 10.2, che ha di default sia PHP che MySQL installati. Ma se lancio un qualunque script di connessione al DB, PHP non si connette, per esempio:

Codice: Seleziona tutto

Fatal error: Call to undefined function: mysql_connect()
Ci sono altre operazioni che devo fare dopo la semplice installazione della Slack per far digerire MySQL a PHP?
Con il phpinfo() mi pare che mysql non sia incluso, eppure mi sembra che il php.ini sia ben configurato (eventualmente lo posto, se non avete una soluzione veloce).

Eventualmente da quale directory devo ricompilare php? Provo a lanciare un ./configure con --with-mysql, forse la Slack 10.2 non lo fa di suo... scusate l'ignoranza, ho fatto un slocate ma non riesco a capire dove stanno i sorgenti, o se li devo riscaricare :)

Avatar utente
HackMeSoftly
Linux 0.x
Linux 0.x
Messaggi: 33
Iscritto il: dom 8 mag 2005, 0:00
Contatta:

Messaggio da HackMeSoftly »

Addenda: forse devo installare il MySQL max, perchè è incluso solo il client, nella Slack 10.2?

Avatar utente
tojo72
Linux 2.x
Linux 2.x
Messaggi: 210
Iscritto il: dom 4 gen 2004, 0:00
Kernel: 2.6.32-22
Desktop: LXDE
Distribuzione: Lubuntu
Contatta:

Messaggio da tojo72 »

da root lancia

mysql_install_db per installare il database degli utenti

Ora sotto /var/lib/mysql dovresti trovare due nuove directory:

/var/lib/mysql/mysql che contiene il database di utenti
/var/lib/mysql/test che è vuota

Ora lancia

chown -R mysql /var/lib/mysql

Fai partire il server con

mysqld_safe &

Verifica che sia in up con

mysqladmin ping

Entra con

mysql

Se ottieni un errore, puoi vederlo con

cat /var/lib/mysql/NOMEHOST.err

Avatar utente
HackMeSoftly
Linux 0.x
Linux 0.x
Messaggi: 33
Iscritto il: dom 8 mag 2005, 0:00
Contatta:

Messaggio da HackMeSoftly »

Ho fatto, ed è andato tutto a buon fine, ma l'errore Call to undefined function nello script PHP, si ripete...

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Messaggio da masalapianta »

non hai supporto mysql nel php che usi; carica l'apposita libreria o ricompila php

Avatar utente
HackMeSoftly
Linux 0.x
Linux 0.x
Messaggi: 33
Iscritto il: dom 8 mag 2005, 0:00
Contatta:

Messaggio da HackMeSoftly »

masalapianta ha scritto:non hai supporto mysql nel php che usi; carica l'apposita libreria o ricompila php
Ho scaricato e ricompilato php con l'opzione --with-mysql, ho restartato tutti i servizi, ma ancora phpinfo() non mi mostra il mysql! :cry:
Forse, non avendo messo il prefix, me l'ha installato in qualche altra directory e continua a usare quello vecchio?

Per sicurezza, ho provato a reinstallare con --prefix=/usr. Ho poi controllato le date di creazione delle directory di php e mi risulta:

/usr/bin/php 10/10/2005
/usr/include/php 10/102005
/usr/lib/php 5/9/2005
/usr/local/bin/php 10/10/2005
/usr/local/include/php 10/10/2005
/usr/local/lib/10/10/2005

Posto che io abbia sbagliato a mettere il prefix tutte e due le volte, perchè /usr/lib/php (che se non mi sbaglio dovrebbe contenere anche le librerie per mysql) è ancora a data 5/9, che è il giorno in cui ho installato la slack?

Scusatemi, sono un po' inesperta :) spiegatemelo come se avessi due anni...

Avatar utente
twister
Staff
Staff
Messaggi: 1599
Iscritto il: mar 11 nov 2003, 0:00
Slackware: current
Località: Roma
Contatta:

Messaggio da twister »

nel php.ini questo è decommentato?
; Load the MySQL module by default. Comment this out if you don't use MySQL.
extension=mysql.so

comunque io sto con il php.ini di default e va senza problemi...


/usr/lib/php resta fermo al 5 è normale

Avatar utente
HackMeSoftly
Linux 0.x
Linux 0.x
Messaggi: 33
Iscritto il: dom 8 mag 2005, 0:00
Contatta:

Messaggio da HackMeSoftly »

Si, è decommentato :(
Non capisco cosa ci sia che non va:

Codice: Seleziona tutto

; Load the MySQL module by default.  Comment this out if you don't use MySQL.
extension=mysql.so

Avatar utente
-Shark-
Linux 2.x
Linux 2.x
Messaggi: 238
Iscritto il: ven 24 giu 2005, 0:00
Località: Grumento Nova (Pz)
Contatta:

Messaggio da -Shark- »

Controllato che in extension sotto php (/usr/lib/php/extension/) ci sia mysql.so?
Se non stà, cerca di vedere in usr/local/ dove hai fatto l'installazione da sorgenti aggiungendo --with-mysql e vedi se li dentro stà il file .so
Se c'è prova a modificare il php.ini per fargli cercare le estensioni li (il file di default è ben commentato, comunque c'è extension a qualche parte)!

Avatar utente
HackMeSoftly
Linux 0.x
Linux 0.x
Messaggi: 33
Iscritto il: dom 8 mag 2005, 0:00
Contatta:

Messaggio da HackMeSoftly »

-Shark- ha scritto:Controllato che in extension sotto php (/usr/lib/php/extension/) ci sia mysql.so?
C'è:
root@Asim0v:/usr/lib/php/extensions# dir
gettext.so mysql.so
-Shark- ha scritto: Se c'è prova a modificare il php.ini per fargli cercare le estensioni li (il file di default è ben commentato, comunque c'è extension a qualche parte)!
In php.ini la directory delle estensioni è:

Codice: Seleziona tutto

; Directory in which the loadable extensions (modules) reside.
; extension_dir = "./"
extension_dir = "/usr/lib/php/extensions/"
Che effettivamente è quella dove si trova mysql.so!
Comunque ho cercato tutti i mysql.so del mio sistema:

Codice: Seleziona tutto

root@Asim0v:/usr/lib/php/extensions# slocate mysql.so
/opt/kde/lib/kde3/keximigrate_mysql.so
/var/run/mysql/mysql.sock
/usr/lib/php/extensions/mysql.so
/usr/lib/perl5/site_perl/5.8.7/i486-linux/auto/DBD/mysql/mysql.so
/usr/lib/qt-3.3.4/plugins/sqldrivers/libqsqlmysql.so
/usr/local/lib/php/extensions/no-debug-non-zts-20020429/mysql.so
Ho provato a cambiare la directory delle estensioni di php.ini, al posto di /usr/lib/php/extensions, ho provato anche l'ultima, ma niente da fare... php continua a non riconoscere le funzioni mysql...

Avatar utente
HackMeSoftly
Linux 0.x
Linux 0.x
Messaggi: 33
Iscritto il: dom 8 mag 2005, 0:00
Contatta:

Messaggio da HackMeSoftly »

Ho risolto, e scrivo qui come ho fatto.
Ho controllato il log degli errori di apache che si trova in /var/log/apache/error_log. Ho restartato apache tenendo in visione il log con:

Codice: Seleziona tutto

tail -f /var/log/apache/error_log
e mi dava un errore di parsing nel file php.ini, che quindi veniva letto solo fino alla riga 65 (e quindi non arrivava ai settaggi di mysql):

Codice: Seleziona tutto

[Mon Oct 10 15:10:47 2005] [notice] SIGHUP received.  Attempting to restart
PHP:  Error parsing /etc/apache/php.ini on line 65
Sono andata a controllare, e alla riga 65 ho trovato:

Codice: Seleziona tutto

 - error_reporting = E_ALL        [Code Cleanliness, Security(?)]
Mi sono resa conto che era quel (?) a dare fastidio. L'ho tolto, ho restartato apache ed ora è tutto ok.
Avevo decommentato quella riga qualche giorno fa per vedere gli errori, e avevo erroneamente pensato che quei caratteri (che ATTENZIONE, c'erano già nel php.ini originale!!!) facessero parte del file di configurazione, invece no!

Ora, sarei curiosa di sapere se tutti, nel php.ini della Slack 10.2, avete il (?) in più, perchè io di certo non ce l'ho messo.

Saluti a tutti e grazie per i consigli!

AGGIUNTA SUCCESSIVA: Mi sono resa conto che avevo decommentato la riga sbagliata. Il (?) è presente in un campo note che deve restare commentato, insomma, è colpa mia e non della Slack :)
Scusate per la perdita di tempo e grazie ancora.

Avatar utente
-Shark-
Linux 2.x
Linux 2.x
Messaggi: 238
Iscritto il: ven 24 giu 2005, 0:00
Località: Grumento Nova (Pz)
Contatta:

Messaggio da -Shark- »

Rimane ai posteri, l'importante è esserne usciti! :-)

Avatar utente
HackMeSoftly
Linux 0.x
Linux 0.x
Messaggi: 33
Iscritto il: dom 8 mag 2005, 0:00
Contatta:

Messaggio da HackMeSoftly »

-Shark- ha scritto:Rimane ai posteri, l'importante è esserne usciti! :-)
Si, ma anche la mia figura di me**a rimane ai posteri :lol: :lol: :lol:

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 »

HackMeSoftly ha scritto:
-Shark- ha scritto:Rimane ai posteri, l'importante è esserne usciti! :-)
Si, ma anche la mia figura di me**a rimane ai posteri :lol: :lol: :lol:
vabbè capita!
P.S. bellissimo il tuo nick!

Rispondi