PHP sous Windows

J’ai voulu tester des sites en PHP sous Windows mais sans passer par des softs comme EasyPHP & Co, j’ai donc installer proprement PHP4 fonctionnant avec IIS, puis MySQL.
Ca fonctionne qu’à moitié. J’ai essayé plumecms et dotclear. L’install se déroule bien mais il me met des messages du genres :

[code]Notice: Undefined index: DOCUMENT_ROOT in D:\MesSites\dotclear\inc\post_config.php on line 46

Warning: Cannot modify header information - headers already sent by (output started at D:\MesSites\dotclear\inc\post_config.php:46) in D:\MesSites\dotclear\layout\lib.cache.php on line 71

Warning: Cannot modify header information - headers already sent by (output started at D:\MesSites\dotclear\inc\post_config.php:46) in D:\MesSites\dotclear\layout\lib.cache.php on line 73[/code]

J’ai bien évidemment donnée tout les droits à IIS sur les répertoires en questions.

Y’a des manips spéciales à faire pour faire fonctionner un site PHP correctement sous Windows ?

Oui, utiliser Apache ? … Heu vous me dites si je troll là !

[quote name=‹ Reuns › date=’ 1 Mar 2005, 16:17’]Oui, utiliser Apache ? … Heu vous me dites si je troll là !
[right][post=« 337353 »]<{POST_SNAPBACK}>[/post][/right][/quote]

C’est pas un troll, mais avous que c’est un peu bête d’utiliser apache sous Windows alors qu’il y a IIS.
Mais bon, tu vas me dire que c’est bête de faire du PHP sous Windows aussi… :stuck_out_tongue:

[quote name=‹ ZGoblin › date=’ 1 Mar 2005, 16:25’]C’est pas un troll, mais avous que c’est un peu bête d’utiliser apache sous Windows alors qu’il y a IIS.
Mais bon, tu vas me dire que c’est bête de faire du PHP sous Windows aussi…  :stuck_out_tongue:
[right][post=« 337360 »]<{POST_SNAPBACK}>[/post][/right][/quote]

Et du PHP avec IIS :stuck_out_tongue:
Y’a asp.net quand même…

[quote name=‹ ColdFire › date=’ 1 Mar 2005, 16:27’]Et du PHP avec IIS :stuck_out_tongue:
Y’a asp.net quand même…
[right][post=« 337363 »]<{POST_SNAPBACK}>[/post][/right][/quote]

Alors trouve moi un CMS gratos en ASP.NET, légé, minimal, bien codé qui produit du code XHTML1.1 et CSS2 et tu feras de moi un homme heureux.

Tu me donne la version de IIS, et je te fais un tuto :stuck_out_tongue:

[quote name=‹ Tzim › date=’ 1 Mar 2005, 17:31’]Tu me donne la version de IIS, et je te fais un tuto :stuck_out_tongue:
[right][post=« 337385 »]<{POST_SNAPBACK}>[/post][/right][/quote]

Ben je suis sous Windows XP Pro mais après ca doit être reproductible sur Windows Serveur 2003.

Tu as déjà essayé de faire ça sans soucis ? Moi tout ce que je demande c’est que dotclear fonctionne correctement. Avec si possible PlumeCMS aussi.

[quote name=‘ZGoblin’ date=’ 1 Mar 2005, 18:30’]Ben je suis sous Windows XP Pro mais après ca doit être reproductible sur Windows Serveur 2003.

Tu as déjà essayé de faire ça sans soucis ? Moi tout ce que je demande c’est que dotclear fonctionne correctement. Avec si possible PlumeCMS aussi.
[right][post=“337409”]<{POST_SNAPBACK}>[/post][/right][/quote]
J’ai pas essayé, j’ai réussi. Et justement, c’est pas tout a fait pareil sous IIS 5.1 et IIS6.

Je te fais ca dans la soirée…

Zou, c’est parti… j’explique pour IIS6, et je mettrais les différences pour IIS5.1

Tout d’abord, te faut :

  • Les binaires de php, la version zip. Evite l’install toute faite. Si elle est installée, commence par la désinstaller.
  1. Commence par créer un répertoire php (pour l’exemple dans c:\inetpub, mais tu peux le mettre ailleurs).
  2. Extrait dans ce répertoire les fichiers (et seulement ces fichiers) de l’archive php :
  • php.ini-recommended
  • php4ts.dll
  • php4isapi.dll
  • libmysql.dll
  1. Crée deux répertoire pour acceuillir les sessions et les fichiers uploadés.
    on a donc

C: &nbsp; &nbsp; Inetpub &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;php &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sessions &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;upload &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;php.ini-recommended &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;php4ts.dll &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;php4isapi.dll &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;libmysql.dll

  1. renome le php.ini-recommended en php.ini, et ouvre le dans ton editeur de texte préféré.
    Modifs a faire :

[code]cgi.force_redirect = 0
fastcgi.impersonate = 1;

session.save_path = c:\inetpub\php\sessions
upload_tmp_dir = c:\inetpub\php\upload[/code]
une fois modifié, copie le php.ini dans C:\Windows\

  1. sous IIS6, il faut autoriser l’extention php.
    Donc dans “Web Service Extentions”, tu rajoutes une extention et lui indique les fichiers php.


  2. Ensuite, il faut savois que si le processus IIS tourne sous l’identité NT AUTHORITY\SYSTEM, les pages sont affichés en utilisant les droits de l’utilisateur qui demande la page (soit IUSR_nomdemachine, dans la plupart des cas où il n’y a pas d’authentification). Il faut donc donner les droits de lecture a cet utilisateur sur le dossier c:\inetpub\php. Il faut aussi donner les droits d’écriture sur le dossier upload et sessions. Sous IIS6, donne aussi les droits au groupe IIS_WPG

  3. Maintenant, il ne reste plus qu’a ajouter l’extension .php dans les dossiers concernés de IIS.
    Dans l’onglet “Home Directory” :

  4. Execute permissions à “script only”.

  5. bouton "configuration …"
    a. Add…
    b. Executable >phpisapi.dll, extension .php

Dans l’onglet documents, tu peux ajouter “index.php”.

A priori, j’ai rien oublié… tu fais le fameux test.php avec le bout de code :

et tu vérifies que tout est bon…

En cas de pépins, le probleme viens la plupart du temps des droits sur les fichiers. Notemment quand on te demande des droits en 777 => droits d’écriture NTFS pour IUSR_nomdemachine…

Je testerai tout ça demain, merci beaucoup, j’aimerai bien que ca marche directe, mais de toute façon, celon les lois de murphy, ca marche jamais du premier coup :stuck_out_tongue: .

La, je ne sais pas trop quoi dire, Ha Si !!! Un très gros merci :stuck_out_tongue: .

Sérieux, dotclear marche nickel, je vais tester avec d’autres moteurs.

Je ne pensez pas que l’on pouvait faire du php aussi proprement sous Windows, il y a encore une semaine, je croyais que ca se limiterai à du test sous EasyPHP et là, je me rend compte que l’on peut même s’en servir en prod.

Encore merci :stuck_out_tongue:

EDIT: Ca marche aussi pour plume :stuck_out_tongue:

C’est trop bien IIS6. Serieusement aujourd’hui y a rien d’equivalent, d’aussi facile a utiliser et d’aussi securise. Moi je suis un grand fan. IIS6 owns ta maman.

[quote name=‘GloP’ date=’ 2 Mar 2005, 09:36’]C’est trop bien IIS6. Serieusement aujourd’hui y a rien d’equivalent, d’aussi facile a utiliser et d’aussi securise. Moi je suis un grand fan. IIS6 owns ta maman.
[right][post=“337526”]<{POST_SNAPBACK}>[/post][/right][/quote]
Huhu, moi aussi.

Bon, au passage, ZGob, pour utiliser en prod, jte conseillerais de créer plusieurs “applications” web séparées si tu as plusieurs sites qui tournent sur le même serveur.