2010-05-03 7 views
9

Ho installato PHP per lavorare con IIS6 (with FastCGI). Io sono in grado di visualizzare un sito web test di esempio che mostra le informazioni PHP con il seguente codice: <?php phpinfo(); ?>IIS6: PHP Sessions

Ora che questo funziona ho cercato di migrare il mio sito web PHP per IIS6 ed ecco un elenco degli errori/avvisi che ho ottenuto :

PHP Warning: session_start(): open(C:\WINDOWS\Temp\sess_rjbv0ialf7uf03to69q1e4l101, O_RDWR) failed: Permission denied (13) in C:\Site\index.php on line 11 

PHP Warning: Unknown: open(C:\WINDOWS\Temp\sess_rjbv0ialf7uf03to69q1e4l101, O_RDWR) failed: Permission denied (13) in Unknown on line 0 

PHP Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (C:\WINDOWS\Temp) in Unknown on line 0 

Dopo aver visto questo, ho corretto il file php.ini per impostare correttamente la sessione di salvataggio del valore:

session.save_path="C:\WINDOWS\Temp" 

Eppure così facendo non ha fatto nulla! Come posso farlo funzionare?

risposta

12

L'account su cui IIS è in esecuzione (IUSER_INETPUB o qualsiasi cosa sia) dispone di autorizzazioni di scrittura su C: \ Windows \ Temp? Potrebbe non avere il permesso di accedere a qualsiasi cosa in C: \ Windows, o essere esplicitamente negato qualsiasi diritto. Potresti voler creare un'altra directory altrove (C: \ PHPSessions, forse) e concedere esplicitamente permessi di lettura/scrittura (ma NON eseguire) all'account IIS su quella directory.

+0

Per qualche motivo in Win10 la creazione della sessione PHP ha smesso di funzionare. Dopo aver controllato le autorizzazioni, l'utente IIS aveva le autorizzazioni di lettura, ma non le autorizzazioni di scrittura. Aggiungendo il permesso di scrittura ha funzionato di nuovo. – Spikolynn

0

Dopo aver aggiornato una macchina di sviluppo Windows XP da PHP 5.2.13.13 a 5.2.14.14, ho avuto lo stesso problema.

È stato necessario concedere l'accesso di scrittura all'account IWAN_ a qualsiasi file/cartella che viene aggiornato da PHP, ad es. c: \ windows \ temp, C: \ Inetpub \ wwwroot \\ cache di ecc

Credo che hanno cambiato il modo in cui PHP utilizza processi di lavoro.

0

Quindi il problema che avevo era che le prestazioni del server ha cominciato a fallire .. con errori di questo tipo per la sessione, ma il più grande problema che ho visto è stato che MySQL è stato molto lento ..

Sessions non riuscendo a creare prestazioni
Mysql poveri

Quello che ho scoperto è stato il programma di installazione WPI programma di Windows è stato installato o aggiornato la mia versione di PHP con ogni nuovo sito stavo creando .. questo stava cambiando il file php.ini per puntare nella directory c: \ windows \ temp

soluzione era quella di indicare le sessioni e tutte le operazioni di PHP in una directory in cui phptemp PHP può lavorare al di fuori delle finestre \ temp

Wish I Knew questo una settimana fa.

Ho cercato di entrare nella directory windows \ temp per eliminare alcuni file ma non stava succedendo .. questo è il mio prossimo problema da affrontare.