Apache esegue HTML, ma non PHP; Funziona PHP CLI

Sto eseguendo php 5.3.3 su rhel 6.2 con Apache 2.2.15 e non riesco a get il codice PHP interpretato da Apache.

Non ci sono errori (nel registro di sistema, httpd / error_log o php_errors.log) – Ho triggersto la segnalazione di errori in php.ini:

  • C'è un modo per eliminare / troncare un file mentre un process sta scrivendo?
  • Imansible localizzare la struttura del module API `mod_wsgi '
  • Come triggersre TLS 1.1 e 1.2 con OpenSSL e Apache
  • Come elimino tutte le directory vuote
  • sudo: nessun tty presente e nessun programma askpass specificato
  • Come verificare se la compressione di Apache funziona?
  • error_reporting = E_ALL & ~E_DEPRECATED display_errors = On log_errors = On error_log = /var/log/php_errors.log 

    Tuttavia, quando visualizzi il mio index.php, che contiene il seguente codice, direttamente dal mio browser (ad es. Myserver.com/index.php), non apparirà altro che uno schermo bianco:

     <?php echo 'Hello php World'; ?> 

    Quando eseguito da php sulla row di command, ottengo l'output di text prevista per il terminal (" Hello php World ").

    Quando, aggiungo un po 'di HTML a index.php come in:

     <html> <p>Hello from within html</p> <?php echo 'Hello php World'; ?> </html> 

    e visualizzala con il mio browser, restituisce solo " Hello from within html ". Tuttavia, quando eseguito dalla row di command, ottengo:

     <html> <p>Hello from within html</p> Hello php World</html> 

    Quindi, il PHP viene analizzato e interpretato tramite il CLI, ma non da Apache.

    Ho confermato che index.php e la sua struttura di file principale sono di properties; di apache: apache e che il context selinux dei moduli apache:

     chcon -t httpd_sys_script_exec_t /usr/lib/httpd/modules/* chcon -t httpd_sys_script_exec_t /usr/lib/php/modules/* 

    e dei file .php da analizzare:

     chcon -R -h -t httpd_sys_content_t /export1 

    sono corretti. Non credo che selinux sia il problema perché non ho alcun errore di authorization e ho temporaneamente disabilitato selinux echo 0 >/selinux/enforce senza alcun successo risultante del php interpretato da apache.

    Il module php viene caricato con la sua configuration e l'estensione .php viene intesa come configurata in httpd.conf:

     LoadModule php5_module /usr/lib/httpd/modules/libphp5.so AddType application/x-httpd-php .php .phtml PHPIniDir /etc/ 

    E, apache sa cercare index.php da:

     DirectoryIndex index.html index.html.var index.php 

    come impostato in httpd.conf.

    Ho esaurito le mie idee su where il mio problema è – persino tentato di reinstallare PHP – e sicuramente apprezzerò tutte le idee. Nel caso in cui sia utile, ecco il contenuto di / var / log / httpd / error_log quando avvio apache:

     [Fri Feb 03 13:44:53 2012] [notice] SELinux policy enabled; httpd running as context unborderd_u:system_r:httpd_t:s0 [Fri Feb 03 13:44:53 2012] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Fri Feb 03 13:44:53 2012] [warn] module php5_module is already loaded, skipping [Fri Feb 03 13:44:53 2012] [notice] Digest: generating secret for digest authentication ... [Fri Feb 03 13:44:53 2012] [notice] Digest: done [Fri Feb 03 13:44:54 2012] [warn] mod_wsgi: Compiled for Python/2.6.2. [Fri Feb 03 13:44:54 2012] [warn] mod_wsgi: Runtime using Python/2.6.6. [Fri Feb 03 13:44:54 2012] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 mod_ssl/2.2.15 OpenSSL/1.0.0-fips mod_wsgi/3.2 Python/2.6.6 mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations 

    Per favore aiuto!

  • Due domini (quando SSL) nella stessa directory
  • Come posso visualizzare URL completi in output mod_status di Apache?
  • Posso utilizzare 2 diversi sottodomini con 2 diversi server?
  • Essere inondati da wpad.dat
  • Apache2 Reverse Proxy con l'authentication su Windows 7?
  • Qual è l'equivalente di <Location> in .htaccess?
  • 3 Solutions collect form web for “Apache esegue HTML, ma non PHP; Funziona PHP CLI”

    Sembra che php5_module sia già caricato da te e caricato più tardi dalla configuration predefinita rhel6 o la configuration su rhel6 sta caricando il module php5_module … che in sé non import tranne il fatto che la configuration che si sta immettendo viene sovrascritta dalla configuration predefinita rhel6 .

    Guardando al punto 11 dal sito di Dan , che ha lavorato per me in passato each volta che ho dimenticato e ho bisogno di un rapido richiamo:

     # Make sure there's only **1** line for each of these 2 directives: # Use for PHP 4.x: #LoadModule php4_module modules/libphp4.so #AddHandler php-script .php # Use for PHP 5.x: LoadModule php5_module modules/libphp5.so AddHandler php5-script .php # Add index.php to your DirectoryIndex line: DirectoryIndex index.html index.php AddType text/html .php # PHP Syntax Coloring # (optional but useful for reading PHP source for debugging): AddType application/x-httpd-php-source phps 

    Dichiarando qualcosa di ovvio ai miei occhi, non hai mai dichiarato come stai cercando di accedere al file di esempio. index.php direttamente a index.php (es .: http://example.com/folder/index.php ) ?

    In caso contrario, fai notare che se esiste un index.html verrà chiamato invece a causa dell'ordine di indice directory:

     DirectoryIndex index.html index.html.var index.php 

    Infine, questo dovrebbe essere richiesto in serverfault.com invece di qui.

    Ho avuto un problema simile e ho finalmente risolto l'impostazione di short_open_tag = On in /etc/php.ini . Attenzione ai file di configuration predefiniti quando si effettua l'aggiornamento!

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.