Se siete degli affezionati utilizzatori di PHP su piattaforma Windows e Web Server IIS è probabile che già conosciate PHP Manager per IIS, un eccellente strumento gratuito che si integra con l'interfaccia utente dello strumento di amministrazione di IIS - ovvero IIS Manager - e che può essere utilizzato per svolgere una serie di funzioni utili, tra cui soprattutto le due seguenti:
- Gestire le istanze/versioni/build di PHP a 32-bit e 64-bit installate sulla macchina.
- Accedere e modificare i relativi file di configurazione PHP.INI.
Installare PHP Manager per IIS è molto semplice: basta lanciare il Web Platform Installer dall'interfaccia di IIS Manager, quindi cercarlo tra gli strumenti gratuiti disponibili tramite la casella di ricerca.
Questa modalità di installazione è sicuramente la più indicata non solo per ragioni di praticità, ma anche perché in questo modo sarete certi di scaricare l'ultima versione stabile del software rilasciata (la 1.4 alla data odierna), che risolve alcune problematiche che le versioni precedenti (=< 1.3) davano su alcune recenti piattaforme Windows, come ad esempio Windows 10. Il problema è documentato in modo esaustivo in questa issue presente nel Codeplex ufficiale: volendo riassumere, si trattava di un errore del programma di installazione di PHP Manager, il quale effettuava un controllo errato sulla chiave di registro HKLM/System/CCS/Services/W3SVC/Parameters/MajorVersion per controllare che sul sistema operativo fosse installata una versione di IIS uguale o superiore alla 7: in base a tale controllo, l'installazione del programma veniva interrotta se il valore di quella chiave era inferiore a 7. Nel caso di Windows 10 il valore di quella chiave - 0xA, ovvero 10 in formato esadecimale - risultava erroneamente inferiore a 7, provocando il crash del programma di installazione.
Questo è un esempio del log prodotto dall'installer della versione 1.3 di PHP Manager dopo un tentativo (fallito) di installazione su Windows 10:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
INFO : [04/02/2015 11:55:27:992] [VsdLaunchConditions ]: Getting the condition to evaluate... INFO : [04/02/2015 11:55:27:992] [VsdLaunchConditions ]: MsiRecordGetStringW - Fetching value... INFO : [04/02/2015 11:55:27:993] [VsdLaunchConditions ]: MsiRecordGetStringW - Getting value from column '1'... INFO : [04/02/2015 11:55:27:993] [VsdLaunchConditions ]: Evaluating condition 'IISREGISTRYVALUE >= "#7"'... INFO : [04/02/2015 11:55:27:994] [VsdLaunchConditions ]: RESULT: Condition is false. INFO : [04/02/2015 11:55:27:994] [VsdLaunchConditions ]: MsiRecordGetStringW - Fetching value... INFO : [04/02/2015 11:55:27:994] [VsdLaunchConditions ]: MsiRecordGetStringW - Getting value from column '2'... INFO : [04/02/2015 11:55:27:995] [VsdLaunchConditions ]: MsiSetPropertyW - Setting Property Value... MSI (s) (3C!04) [11:55:27:996]: PROPERTY CHANGE: Adding HideFatalErrorForm property. Its value is 'TRUE'. INFO : [04/02/2015 11:55:27:996] [VsdLaunchConditions ]: MsiSetPropertyW - Setting property 'HideFatalErrorForm' to 'TRUE'. INFO : [04/02/2015 11:55:27:996] [VsdLaunchConditions ]: Checking a launch condition... INFO : [04/02/2015 11:55:27:997] [VsdLaunchConditions ]: A launch condition has already fired. My work is done here. ERROR : [04/02/2015 11:55:27:997] [VsdLaunchConditions ]: Custom Action failed with code: '1603' INFO : [04/02/2015 11:55:27:998] [VsdLaunchConditions ]: Custom Action completed with return code: '1603' CustomAction VSDCA_VsdLaunchConditions returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox) Action ended 11:55:28: VSDCA_VsdLaunchConditions. Return value 3. Action ended 11:55:28: INSTALL. Return value 3. |
Prima dell'uscita della versione 1.4, il workaround per risolvere il problema era comunque piuttosto semplice: era sufficiente modificare il valore di quella chiave da 0xA a 9 (o 8, o anche 7) prima di installare il software, per poi riportarlo al valore originario subito dopo. Ovviamente dopo l'uscita della versione 1.4 tutto questo non serve più: tuttavia, nel caso in cui per qualche strano motivo vi trovaste a dover installare la versione precedente anche su Windows 10, ora sapete come fare.
Per il momento è tutto... felice PHP Manager!