2010-01-27 8 views

Répondre

4

Ce n'est pas tellement naturel sur Linux mais la tendance était aux développeurs d'utiliser PHP dans les premiers jours comme ASP sur Linux. Pendant des années, MS n'a même jamais mentionné PHP et ne lui a jamais donné de support. La plupart des travaux de développement se sont donc déroulés dans le domaine Linux, ce qui lui a permis d'être plus avancé.

Encore une fois dans les premiers jours, il était plus difficile de faire fonctionner PHP sur ISS, mais Apache le rend plus facile, mais vous devez l'installer. Je développe rarement sur Windows mais je pense que l'environnement a changé pour le mieux avec plus d'intégration. L'émergence de packages tels que XAMPP et WAMPP simplifie considérablement l'installation et le fonctionnement, mais Karsten ne le dit pas vraiment pour l'environnement de production, car ils ne sont pas adaptés aux performances et en particulier au niveau de la sécurité, à cause de cela. doutent également s'ils sont axés sur la performance, ils sont conçus pour faciliter l'installation et le développement.

2

Eh bien, il y a le problème évident d'essayer de compiler des extensions PECL sur une plate-forme Windows et les problèmes associés à ne pas avoir sendmail courir et essayer d'utiliser la fonction mail. À part cela, tant que la source a été portée correctement, cela devrait fonctionner correctement.

1

Je ne peux pas vous donner de statistiques de performance. Je suppose qu'une version extrêmement réduite de Linux ou BSD est la meilleure de ce point de vue.

Il existe deux principaux inconvénients de Windows. Le premier est que vous devrez probablement construire vous-même certaines des extensions les moins utilisées, si vous en avez besoin. (Il existe des versions Windows de la version courante - APC, etc. - disponibles sur le net pour les versions 32 bits, mais pour Windows 64 bits ... eh bien, c'est une jungle là-bas.) L'autre est que vous êtes va être en minorité, alors attendez-vous à tout ce qui va de pair avec cela. (Si vous rencontrez des difficultés de configuration, par exemple, il y aura probablement moins de personnes en mesure de vous aider.)

L'avantage est que (surtout si votre IDE préféré est quelque chose comme Visual Studio), vous pouvez exécuter tous vos Windows préférés des trucs sur la machine. Ce n'est vraiment qu'un avantage si c'est, disons, une boîte de développement - quelque chose que vous allez utiliser à d'autres fins, pas seulement en tant que serveur.

1

Si vous travaillez dans un environnement Windows, l'exécution de vos scripts application/php est très logique si vous souhaitez déboguer localement.

Je n'utiliserais pas WAMP pour les environnements de production, car sa nature est dans linux imho. XAMPP résout le problème de sendmail dont parle amphétamachine en installant du courrier mercure. Il est également livré avec des modules préconfigurés xdebug, apc et memcache, qui sont pour moi les habituelles extensions compilées par pecl.

1

Un problème évident avec PHP sur Windows/Apache est not being able to configure PHP APC pour les versions actuelles de PHP. Par conséquent, aucun moyen de créer elegant file uploads avec barre de progression.

+0

qu'en est-il du module PECL uploadprogress? pourrait-il pas être utilisé sur les fenêtres et ... (fait la même chose que la progression du téléchargement d'APC ne) –

+0

faisceau @ Dan - peut-être, mais je ne vois pas les binaires Windows à http://pecl.php.net/package/uploadprogress – naivists

+0

Il existe certainement des binaires non-officiels, par exemple ici: http: //downloads.php.net/pierre/- Je suis d'accord, cependant, que c'est une nuisance majeure au mieux. – Arkaaito

4

sensibilité de cas peut être un problème si vous développez dans Windows, puis de passer à Linux.

+0

+1. C'est très vrai et je ne peux pas croire que je n'y ai pas pensé. (Je développe sur une pile WAMP pour les environnements de production et de test Linux.Pour un exemple de ce dont il parle: une de mes images n'a pas été rendue en test mais s'est révélée très bien sur mon environnement. était some_image.GIF, je l'ai juste utilisé tel quel, et j'ai mis some_image.gif dans mon code ... avec le résultat qu'il s'est montré très bien sur les systèmes Windows et pas sur Linux.) – Arkaaito

1

Il y a beaucoup de bizarreries à travers les plates-formes avec PHP, et je ne recommande pas de commutation entre la lampe/BAMP/SAMP et WAMP/WIMP. D'une part, les autorisations sont complètement différentes -> il est généralement beaucoup plus difficile de travailler avec Unix/Linux (comme Windows ne semble pas se soucier autant des permissions que j'ai jamais vues). C'est une bonne chose, à mon avis, cependant (je suis relativement paranoïaque de sécurité).

Voici quelques autres choses qui diffèrent:

http://php.net/touch (fenêtres could't de changer de répertoire fois modifié jusqu'à 5.3)
http://php.net/flush (ne peut toujours pas flush ou ob_flush de certaines machines win32)

les deux ont des problèmes spécifiques du système qui viennent d'être SUPER récemment élaborées ou ne sont pas encore fixes ...

1

la plupart des principaux développeurs et PHP (je veux dire, ceux qui créent la langue) semblent fonctionner unde r Plate-forme Unix. En outre, presque toutes les distributions Linux prennent en charge la construction, l'emballage et la réparation de PHP en fonction de leurs systèmes. Et cela s'applique également aux logiciels auxiliaires comme Apache. Par conséquent:

  • Il existe toujours des fonctionnalités qui ne fonctionnent pas sous Windows, par exemple. strptime() ou a plus de bugs.
  • Les fichiers binaires Windows ne sont pas optimisés pour votre système. Vous ne pouvez même pas obtenir des binaires 64 bits à moins de les compiler vous-même.
  • Les programmes d'installation MSI ne sont pas aussi polis qu'ils le devraient.
  • Installation d'extensions PECL est très compliquent car il n'y a pas DLLs officielles.

Bien sûr, il y a aussi des fonctionnalités Windows uniquement en PHP, comme Windows only extensions ou extensions tierces comme le Microsoft SQL Server Driver for PHP, ou une fonctionnalité qui est beaucoup plus facile à utiliser sous Windows, comme ODBC.

En parlant de la performance elle-même, il est difficile de faire une comparaison équitable. Les systèmes d'exploitation eux-mêmes ont des exigences matérielles très différentes et il serait trompeur de comparer des builds Unix optimisés avec des binaires Windows génériques. Mon intuition dit que la décision de choisir l'une ou l'autre plate-forme devrait être basée sur d'autres considérations, telles que le budget, les caractéristiques requises ou la facilité d'entretien.

Questions connexes