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

16

Sono stato aggiornato da UBUNTU dalla 13.04 alla 13.10 ma non riesco a lavorare con le pagine PHP o phpmyadmin. Ho provato in questo modo per installare la lampada su Ubuntu sudo apt-get install lamp-server^ phpmyadmin e ho eseguito correttamente tutte le configurazioni dopo l'installazione. Ho aggiunto questa riga Include /etc/phpmyadmin/apache.conf a /etc/apache2/apache2.conf , quindi 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 e mcrypt era in esso, ma in phpmyadmin mi dà errore di mancante.

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

posta Mohammad_Hosseini 19.10.2013 - 22:37

8 risposte

49

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, ho ricevuto le informazioni da qui .

Ho avuto lo stesso bug, ho fatto un cp invece di un mv per essere sicuro, ma ha risolto il problema.

Per PHP non funziona, se si attiva phpmyadmin (anche con l'errore mcrypt), significa che PHP sta funzionando (perché phpmyadmin usa PHP). Ma nel tuo esempio <? echo $row['details']; ?> cambia <? in <?php e riprova?

    
risposta data Whatts 20.10.2013 - 00:05
3

Per il secondo problema, molte linee PHP sono stampate in textbox come: echo $row['details'];

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

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

e cambia:

short_open_tag = Off

a:

short_open_tag = On
    
risposta data moz667 28.10.2013 - 07:06
1

Controlla tutti i tuoi script in /etc/php5/conf.d/ perché avranno smesso di funzionare. Nel mio caso, 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
    
risposta data infernet 20.10.2013 - 23:38
1

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

L'intuizione di utilizzare cp anziché mv è stata buona. Ad esempio, se si utilizza il framework Laravel 4, la CLI artisan rileverà mcrypt.ini in /etc/php5/mods-available/ , ma il framework stesso sembra cercarlo in /etc/php5/conf.d/ . Hai bisogno di una copia di esso in entrambe le posizioni perché tutto funzioni:

cp -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
sudo php5enmod mcrypt
sudo service apache2 restart
    
risposta data Hugh Grigg 葛修远 13.03.2014 - 09:55
0

Nel terminale ( Ctrl + Alt + T )

1.open file php.ini:

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

2.passa Off to On:

short_open_tag = On

3.restart apache:

sudo service apache2 restart
    
risposta data Din 30.12.2014 - 05:37
0

In realtà, il posto giusto per il file mcrypt.ini si trova nella directory mods-available non in conf.d . Quindi sostituire e attivare il mcrypt file di configurazione, risolve questo problema.

    
risposta data Navid 11.03.2014 - 18:24
-1

Ho anche avuto un problema con mcrypt dopo aver installato Ubuntu 14.04. Seguendo questo link dovrebbe aiutare. www.php.net

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

Spero che questo aiuti.

    
risposta data Daroath 16.05.2014 - 05:21
-1

Domanda duplicata: Manca l'estensione di Mcrypt in 14.04 server per mysql

Risposta breve:

sudo apt-get install mcrypt php5-mcrypt
sudo php5enmod mcrypt
sudo service apache2 restart
    
risposta data thucnguyen 03.09.2014 - 17:31

Leggi altre domande sui tag