Cosa potrebbe causare apache2 a non eseguire file index.php tramite il gestore PHP FastCGI?

Sto cercando di eseguire PHP utilizzando FastCGI (mod-fcgid) sotto apache 2 con il lavoratore MPM. Ho usato questo post di blog come riferimento.

Sembra che ho tutto funzionato tranne una cosa:

Quando apache indica index.php implicitamente (usando mod_dir, credo), non utilizza il gestore configurato per i file .php e serve solo il file PHP come se fosse un contenuto statico.

Tuttavia, quando aggiungo manualmente l'elemento index.php all'URL, utilizza correttamente il gestore e tutto sembra funzionare. Altri file PHP funzionano bene.

Chiarire:

  • http://example.com/ serve il file sorgente PHP stesso.
  • http://example.com/index.php esegue correttamente il PHP tramite il gestore FastCGI e serve il contenuto dinamico.

Cosa potrebbe causare questo? Qualsiasi suggerimento è apprezzato!


Modifica: Ulteriori dettagli: si tratta di un sistema intrepido Ubuntu.

Ho ottenuto .php che lavora in FastCGI aggiungendo le due linee PHP a mods-enabled / fcgid.conf, quindi adesso sembra:

<IfModule mod_fcgid.c> AddHandler fcgid-script .fcgi IPCConnectTimeout 20 AddHandler fcgid-script .php FCGIWrapper /usr/lib/cgi-bin/php5 .php </IfModule> 

Gli indici di directory sono configurati in mods-enabled / dir.conf:

 <IfModule mod_dir.c> DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm </IfModule> 

Non ho dovuto mettere Options + ExecCGI ovunque. In realtà, ho solo cercato di commentare il block nei siti-enabled / 000-default, e FastCGI PHP funziona bene, ad exception di indice implicito.php

  • Il mio webserver consente di prelevare i file?
  • PHP 5.3.1 Simbolo non definito: errore OnUpdateLong sull'avvio di Apache
  • Cron sembra funzionare ma non si esegue allo stesso modo di quando viene eseguito manualmente dal terminal
  • C'è un modo per rendere visibile l'output dello script bash nel browser?
  • PHP esegue molto lento su IIS7. Hai bisogno di aiuto per ottimizzare la nostra configuration
  • Redirect tutte le mail in arrivo in uno script
  • Come posso impostare un host locale con un nome ragionevole, diverso da "localhost: 80"?
  • Quali sono i vantaggi della connessione a MySQL utilizzando l'attributo SSL di PHP-PDO?
  • 3 Solutions collect form web for “Cosa potrebbe causare apache2 a non eseguire file index.php tramite il gestore PHP FastCGI?”

    Mi chiedo se il tuo uso di mod_index è passando il vhost per fastcgi (cioè separato dal vhost che imposta l'utilizzo del gestore php).

    Questo è probabilmente sciocco, ma provate:

     <IfModule mod_fcgid.c> AddHandler fcgid-script .fcgi IPCConnectTimeout 20 AddHandler fcgid-script .php FCGIWrapper /usr/lib/cgi-bin/php5 .php DirectoryIndex index.php </IfModule> 

    Ho scoperto un certo numero di stranezze quando i moduli Apache interagiscono in modi dispari. Certamente a volte l'ordine nel file di configuration è molto importnte.

    Oh uomo, sono stato molto stupido.

    Apparentemente l'ho appena configurato male in un momento e il mio browser aveva memorizzato la risposta errata.

    http://example.com/index.php ha lavorato, probabilmente perché ho iniziato a cercare solo dopo che avevo ottenuto FastCGI PHP, quindi nessuna risposta errata era nella cache.

    In altre parole, le informazioni nella mia domanda originale sono una configuration funzionante per mpm-worker + PHP in mod-fcgid!

    Grazie per lo sforzo comunque 🙂

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