Perché Apache mostra il codice PHP invece di eseguirlo?

Pubblicato 17 ottobre 2024

Problema: Apache Visualizza il Codice PHP

Quando Apache serve file PHP, a volte mostra il codice PHP grezzo invece di eseguirlo. Questo problema impedisce il corretto funzionamento di siti web e applicazioni basati su PHP. Diversi problemi di configurazione o parti mancanti nella configurazione del server possono causare questo problema.

Possibili Cause per cui Apache Non Esegue il PHP

Problemi di Configurazione di Apache

Apache potrebbe non eseguire il codice PHP a causa di problemi di configurazione. Un modulo PHP mancante può impedire ad Apache di elaborare i file PHP. Se il modulo PHP è presente ma non caricato correttamente, Apache non riconoscerà il codice PHP. Associazioni di file errate possono anche far sì che Apache tratti i file PHP come testo semplice invece che come script.

Suggerimento: Controlla la Configurazione di Apache

Per verificare se Apache è configurato correttamente per gestire il PHP, cerca la seguente riga nel tuo file di configurazione di Apache (solitamente httpd.conf o apache2.conf):

LoadModule php_module modules/libphp.so

Assicurati che questa riga non sia commentata e che il percorso al modulo PHP sia corretto.

Problemi di Installazione del PHP

Problemi con l'installazione del PHP possono portare a problemi di esecuzione. Una configurazione PHP incompleta potrebbe risultare in componenti mancanti necessari per il corretto funzionamento. L'utilizzo di una versione PHP che non corrisponde alla tua installazione Apache può causare conflitti. Un file php.ini configurato male può impedire ad Apache di riconoscere o eseguire correttamente il codice PHP.

Soluzioni per i Problemi di Esecuzione del PHP in Apache

Verifica del Modulo PHP di Apache

Per risolvere i problemi di esecuzione del PHP in Apache, controlla la configurazione di Apache per il modulo PHP. Cerca una riga che carica il modulo PHP, come LoadModule php_module modules/libphp.so. Assicurati che questa riga non sia commentata e che il percorso al modulo sia corretto. Se il modulo è mancante, potrebbe essere necessario installarlo o aggiornare la configurazione di Apache.

Verifica che il percorso del modulo sia corretto. Il percorso dovrebbe puntare alla tua posizione di installazione del PHP. Se non sei sicuro del percorso corretto, consulta la documentazione di installazione del PHP o usa il comando whereis php su sistemi Unix per trovare i file PHP.

Per confermare l'attivazione del modulo, riavvia Apache e controlla i log degli errori per messaggi relativi al caricamento del modulo PHP. Se non ci sono errori, il modulo dovrebbe essere attivo.

Suggerimento: Verifica il Modulo PHP con phpinfo()

Crea un file PHP con la funzione phpinfo() per verificare se il PHP funziona correttamente:

<?php
phpinfo();
?>

Salva questo come info.php nella tua directory root web e accedici tramite il tuo browser. Se vedi la pagina di configurazione PHP, il modulo sta funzionando.

Configurazione di Apache per Gestire i File PHP

Aggiungi il tipo MIME corretto per PHP includendo questa riga nella tua configurazione Apache:

AddType application/x-httpd-php .php

Questo dice ad Apache di trattare i file con estensione .php come script PHP.

Imposta le estensioni dei file aggiungendo qualsiasi altra estensione che vuoi che Apache tratti come file PHP. Ad esempio:

AddType application/x-httpd-php .php .phtml

Dopo aver apportato queste modifiche, riavvia Apache per applicare la nuova configurazione. Sulla maggior parte dei sistemi, puoi farlo con il comando sudo service apache2 restart o sudo systemctl restart apache2.

Risoluzione dei Problemi di Installazione del PHP

Conferma che il PHP sia installato eseguendo php -v nella riga di comando. Questo comando mostra la versione del PHP e i dettagli di installazione. Se non funziona, il PHP potrebbe non essere installato o non essere nel PATH del tuo sistema.

Verifica la compatibilità della versione PHP con la tua installazione Apache. Assicurati di utilizzare una versione PHP che funzioni con la tua versione di Apache. Controlla la documentazione sia di Apache che di PHP per trovare versioni compatibili.

Rivedi le impostazioni del tuo php.ini per assicurarti che il PHP sia configurato correttamente. Cerca impostazioni come display_errors e error_reporting per aiutarti a diagnosticare eventuali problemi relativi al PHP. Puoi trovare la posizione del tuo file php.ini eseguendo php --ini nella riga di comando.