Question

Après être devenu un peu open source et passé quelques années à développer des applications Web sous ASP.Net, je vais commencer à faire beaucoup de développement PHP / MySQL.

J'ai très bien installé WampServer pour obtenir un environnement de développement opérationnel sur ma machine Windows, mais la plate-forme que je ciblerai sera très probablement Linux. Ma question est donc la suivante: suis-je susceptible de rencontrer des problèmes de développement sous Windows tout en visant Linux? Est-il conseillé d’investir dans la configuration de l’environnement Linux dans lequel développer mes applications LAMP?

Était-ce utile?

La solution

Si vous le pouviez, j’investirais dans un environnement de développement sous Linux ou du moins * nix. Pour les applications simples et les sites Web, votre configuration est correcte, mais vous allez éventuellement rencontrer des différences subtiles lors du déploiement.

Il y a certaines choses que je ne voudrais pas oublier si vous vous en tenez à votre environnement Windows.

  1. Chemins de fichiers. Un grand nombre de fonctions PHP prennent les chemins de fichiers comme arguments. N'utilisez PAS le séparateur backslash () de windows. Même si vous êtes sur Windows, PHP vous laissera utiliser un séparateur de barre oblique. Dans l’idéal, abstenez-vous avec votre propre classe de chemin de fichiers.

  2. Modules Apache, extensions PECL. Apache Windows et Apache Unix sont souvent livrés avec un ensemble différent de modules Apace installés par défaut. En outre, la même version d'un module peut s'exécuter différemment sur une plate-forme différente. Si votre application repose sur un module Apache, assurez-vous qu'il est disponible pour les deux plates-formes. Il en va de même pour les extensions personnalisées PHP (PECL)

  3. Processus de développement. Utiliser exec, `, etc. dans une application Web est une mauvaise idée, mais si vous utilisez ces fonctions, leur comportement sera différent entre windows et * nix

  4. L'écriture de fichiers, le verrouillage, etc. fonctionnent différemment

  5. Les e-mails sont gérés différemment sur les deux plates-formes

  6. Le mot de code du groupe PHP pour Windows est & "certaines plates-formes &"; Vous pouvez rechercher plus de par vous-même. si vous souhaitez

En général, plus votre environnement de développement correspond à votre environnement de production, moins vous rencontrez de problèmes liés à l'environnement et au déploiement.

J'espère que ça aide!

Autres conseils

Je le fais depuis deux ans et je n'ai encore rencontré aucun problème. Si cela vous donne un avantage, cela vous oblige à écrire davantage de code portable.

Les autorisations et le fait que les noms de fichiers Windows ne sont pas sensibles à la casse sont les deux choses auxquelles je peux penser qui ont été pénibles pour moi. Mais ils sont

  1. Solvable, au pire avec un client FTP pour modifier les autorisations.
  2. Bon moyen facile de faire de vous un meilleur programmeur (oui, dans une petite mesure).

Non, développer sur wamp et allumer une lampe devrait suffire, mais au moins, allumer la lampe. Je suis allé dans les deux sens sans beaucoup de problèmes (d'accord, il y avait beaucoup de problèmes pour déployer des sites d'entreprise sur WAMP (n'essayez pas d'utiliser le filtre PHP ISAPI) mais ils peuvent maintenant être résolus (fastcgi)). Tant que vous n'ajoutez pas de modules PECL indiquant qu'ils ne sont pas pris en charge sous Windows, vous ne devriez pas rencontrer de problèmes. De plus (puisque vous déclarez utiliser WAMP, je suppose que vous utilisez MySql), mssql et PHP posent de nombreux problèmes (l'ancien pilote requis requiert sérieusement la longueur de votre requête).

En théorie, PHP et MySQL devraient être complètement indépendants de la plate-forme.

En pratique, si vous envisagez une véritable application de production, je vous suggère de disposer d’un environnement de test identique à celui de production, afin d’éviter les surprises.

Oui, je vous recommanderais de développer un environnement aussi proche que possible de votre environnement de production. Il existe des différences entre le fonctionnement de PHP sous Windows et sous Linux. Et d'autres différences, telles que la manière dont Linux gère les autorisations de fichiers par rapport à Windows. Je lance le serveur VMWare gratuit avec une machine virtuelle Linux. J'ai un partage Samba sur la machine virtuelle Linux que je monte en tant que lecteur réseau sous Windows. Ensuite, j'utilise Eclipse sous Windows comme éditeur de code.

Non, car la seule chose que vous ne pouvez pas faire sur WAMP si vous ciblez LAMP est d'utiliser System () / Exec Appels et généralement , c’est une bonne chose, car ils doivent être utilisés très peu.

Cela vaut la peine d’avoir un bac à sable LAMP pour pouvoir savoir où trouver et comment éditer des fichiers de configuration, se familiariser avec le redémarrage des services, la gestion des travaux planifiés, etc. production.

Non.
Les dossiers VirtualBox + Shared devraient être utiles si vous avez environ 6 à 8 heures de temps libre sur un week-end pour clarifier toutes les bases de la VBox et définir les paramètres. Si vous passez à Linux, le processus peut prendre jusqu'à un mois et vous serez fortement peu productif à cette époque, en termes de code de production.
C'est une bonne idée de continuer à pratiquer Linux sur VBox pour Windows, à l'avance, avant de changer, en utilisant l'un des logiciels suivants: PCLinuxOS, CentOS, OpenSuse, Ubuntu. Je préfère CentOS, PCLinuxOS. Il existe une gemme appelée SLAMPP et une autre beauté appelée XAMPP & Lt; - fonctionne sous Linux et Windows.
IMO, en gros, si vous prévoyez de coder 2000 à 3000 lignes de code (que vous écrivez / ajoutez) par projet, pour 6 mois ou moins, gardez Windows et maîtrisez Linux en même temps que VBox.
Si au-dessus de cela, ou si vous envisagez de créer un nouveau site Web LAMP, je pense que vous devriez d’abord passer à Linux. Prenez un mois de plus pour vous habituer à Linux. Vous pouvez toujours vous déplacer avec le double démarrage ou la VBox aussi longtemps que vous le souhaitez, en commençant dès que possible - apprendre suffisamment Linux pour déboguer une application LAMP prend du temps.

Chemins, méfiez-vous des chemins. Vous pouvez construire un cms entier et cela gâcherait à cause des chemins.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top