PHP non funziona bene su Ubuntu 13.10 e mpypt manca in phpmyadmin


15

Ho eseguito l'aggiornamento da UBUNTU 13.04 a 13.10 ma non riesco a lavorare con pagine PHP o phpmyadmin. Ho provato in questo modo a installare la lampada su Ubuntu sudo apt-get install lamp-server^ phpmyadmin e ho eseguito correttamente tutta la configurazione dopo l'installazione Ho aggiunto questa linea Include /etc/phpmyadmin/apache.confa /etc/apache2/apache2.confpoi ho riavviato apache2

Ora ho due problemi:

  1. In phpmyadmin in fondo alla pagina c'è questo errore: The mcrypt extension is missing. Please check your PHP configuration ho controllato ed mcryptera presente, ma in phpmyadmin mi dà l'errore di mancare.

  2. L'altro problema è nelle pagine PHP sembra che non ci sia PHP ed è tutto html perché molte righe PHP sono stampate in una casella di testo come: <? echo $row['details']; ?> Qualcuno può dirmi cosa devo fare?

Risposte:


48

Prova questo per il tuo problema con mcrypt:

mv -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
sudo php5enmod mcrypt
sudo service apache2 restart

È un bug con la posizione del file mcrypt.ini, da qui ho ricevuto le informazioni .

Ho avuto lo stesso bug, ne ho fatto uno cpinvece di uno mvper essere sicuro, ma ha risolto il problema.

Se PHP non funziona, se phpmyadmin funziona (anche con l'errore mcrypt), significa che PHP funziona (perché phpmyadmin utilizza PHP). Ma nel tuo esempio <? echo $row['details']; ?>passare <?a <?phpe riprovare?


1
grazie, la tua risposta ha risolto tutti i miei problemi. <? ?> non funziona più? nella versione più recente di php? deve essere <? php?> per funzionare?
Mohammad_Hosseini,

L'ho appena cercato su Google e sembra che i tag brevi non siano più attivi per impostazione predefinita. Puoi riaccenderlo, ma è consigliabile utilizzare sempre <? Php
Whatts

grazie in anticipo, ma c'è ancora un piccolo problema, in alcune delle mie pagine php non so quale sia il problema, quando provo a caricare queste pagine viene mostrata solo una pagina bianca, ho provato ad abilitare segnalazione errori per php nella parte superiore della pagina ma ancora nulla viene mostrato nella pagina. questo potrebbe non essere un buon posto per porre questa domanda, ma da quando ho portato questo problema ho chiesto di nuovo. se hai bisogno che metta alcuni dei codici qui, dimmelo, grazie.
Mohammad_Hosseini,

Una pagina completamente bianca di solito significa una parentesi o punto e virgola mancante. O chiamando una funzione che non esiste. Se non disponi di un ambiente di sviluppo software che possa aiutarti, prova a commentare parti del codice un blocco alla volta (inizia i commenti con / * e termina con * /, tutto ciò che si trova nel mezzo viene commentato). Di solito inizio con circa la metà del codice commentato e quindi provo a visualizzarlo, quindi restringendo sempre a dove si trova l'errore).
succede il

3

Per il secondo problema, molte righe di PHP sono stampate nella casella di testo come: echo $row['details'];

Modifica il tuo file di configurazione php.ini (per apache):

sudo nano -w /etc/php5/apache2/php.ini

e cambia:

short_open_tag = Off

per:

short_open_tag = On

guida fantastica, grazie risolto anche il problema della pagina bianca
Mohammad_Hosseini,

1

Controlla tutti i tuoi script in /etc/php5/conf.d/ perché avranno smesso di funzionare. Nel mio caso, anche imap ha smesso di funzionare.

Risolto il problema con il trucco del collegamento simbolico (come root):

ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini
php5enmod mcrypt
ln -s /etc/php5/conf.d/imap.ini /etc/php5/mods-available/imap.ini
php5enmod imap
service apache2 restart

il tuo modo di lavorare non mi dà errori di nessuna esistenza né imap o mcrypt ma quello che ha detto @whatts ha funzionato per me.
Mohammad_Hosseini,

1

(Avrei pubblicato questo come un commento sopra ma non ho i privilegi.)

L'intuizione di Whatts da usare al cpposto di mvera una buona. Ad esempio, se si utilizza il quadro laravel 4, il CLI artigianale rileverà mcrypt.iniin /etc/php5/mods-available/, ma il framework stesso sembra cercarla in /etc/php5/conf.d/. È necessaria una copia di esso in entrambe le posizioni affinché tutto funzioni:

cp -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
sudo php5enmod mcrypt
sudo service apache2 restart

0

Nel terminale ( Ctrl+ Alt+ T)

File 1.pen php.ini:

/etc/php5/apache2$sudo nano php.ini

2. Sostituisci da Off a On:

short_open_tag = On

3.restart apache:

sudo service apache2 restart

0

In realtà il posto giusto per il file mcrypt.ini è nella mods-availabledirectory non in conf.d. Quindi la sostituzione e l'abilitazione del file di configurazione di mcrypt risolve questo problema.


-1

Ho anche avuto un problema con l' mcryptinstallazione di Ubuntu 14.04. Seguire questo link dovrebbe aiutare. www.php.net

  1. Apri il tuo file php.ini sudo gedit /etc/php5/apache2/php.ini
  2. Riavvia apache2 sudo service apache2 restart

Spero che sia di aiuto.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.