ho un sito ospitato e sto avendo problemi a configurare Joomla (in esecuzione Joomla + PHP + MySQL su IIS7 + Windows Server 2008). Ho una configurazione simile in esecuzione su una macchina locale (Joomla + php + mySQL su IIS7 + vista x64), quindi sono stato almeno in grado di seguire le istruzioni mostrate in vari tutorial su come impostarlo.Come sapere con certezza se FastCGI viene utilizzato per eseguire script php
Questo sintomo con il sito in hosting è che non posso accendere le impostazioni SEO in Joomla (nemmeno la prima impostazione, "Search Engine Friendly URL"). Ottengo 404 (file non trovato) o l'URL appare riscritto correttamente ma è sempre il contenuto della pagina iniziale che viene visualizzato. Ho avuto un problema simile sulla mia macchina di casa e si è scoperto che non stavo usando FastCGI per ospitare PHP, quindi ho deciso di indagare sul sito ospitato.
In ogni caso, ho notato nel file web.config della directory di hosting joomla sul sito ospitato la seguente riga:
<add name="Plesk_Handler_3522909676" path="*.php" verb="*" modules="IsapiModule" scriptProcessor="c:\program files (x86)\parallels\plesk\additional\pleskphp5\php5isapi.dll" resourceType="Either" />
Dalle esperienze passate, so che PHP ha alcuni problemi quando non è in esecuzione in FastCGI . Ho notato che il web.config nella cartella principale utilizzata la seguente riga invece:
<add name="Plesk_Handler_0286090609" path="*.php" verb="*" modules="CgiModule" scriptProcessor="c:\program files (x86)\parallels\plesk\additional\pleskphp5\php-cgi.exe" resourceType="Either" />
ho copiato che nel web.config nella directory di joomla, e ha un comportamento diverso ... ma ancora non funziona. Se carico un file .php nella directory di joomla che esegue phpInfo(), sotto Server API si dice CGI/FastCGI. È la conferma positiva che FastCGI viene utilizzato? Perché il gestore nel web punto di configurazione per i moduli = "CgiModule" invece di moduli = "FastCgiModule" (io non sono nemmeno sicuro che esista, ma ho appena trovato la menzione di CgiModule sospette).
E 'un sito ospitato, in modo per quanto ne so io non ho accesso ai file ApplicationHost.config ...
$ _SERVER ['REQUEST_URI'] può essere visualizzato correttamente sia in CGI che in FastCGI e l'API del server può mostrare 'CGI/FastCGI' per CGI e FastCGI. Una differenza è che in FastCGI $ _SERVER ["REDIRECT_HANDLER"] potrebbe mostrare php-fastcgi, ma anche questo non conferma che "FastCGI" sia utilizzato poiché "php-fastcgi" è solo un nome di variabile usato nel file di configurazione . –
@Jimmy, questa risposta è molto [bisogno di citazioni] (http://xkcd.com/285). Inoltre, il metodo che descrivi sembra un po '* hacky *, c'è un modo migliore e più robusto per determinare direttamente le impostazioni? – Pacerier
@Pacerier Ha funzionato per me e apparentemente per molte altre persone. Non sono riuscito a trovare un modo migliore, ma sentiti libero di pubblicare una risposta "migliore e più solida" se ne hai una. L'ho inventato io stesso, quindi nessuna citazione. – Jimmy