Тъпо ли е да се разработва за LAMP на WAMP?

След като стана донякъде отчужден с отворен код и прекара няколко години в разработване на уеб приложения в ASP.NET , ще започна да правя доста PHP / MySQL разработка.

Съвсем безболезнено инсталирах WampServer, за да стартирам и стартирам среда за разработка на моята машина с Windows, но платформата, към която ще се насоча, най-вероятно ще бъде Linux. Има ли вероятност да се натъкна на проблеми, дължащи се на разработване на Windows, докато се насочвам към Linux? Препоръчително ли е да инвестирам в настройка на Linux среда, в която да разработвам моите LAMP приложения?


person Nick Higgs    schedule 22.10.2008    source източник
comment
Е, устройството VirtualBox + TurnKey LAMP е тривиално за настройка.   -  person Camilo Martin    schedule 10.01.2012


Отговори (10)


Ако можете, бих инвестирал в някаква Linux или поне *nix среда за разработка. За прости приложения и уебсайтове вашата настройка е добра, но в крайна сметка ще се сблъскате с фини разлики, когато внедрявате.

Ето някои неща, за които не мога да си представя, че ще искате да внимавате, ако се придържате към средата на Windows.

  1. Пътища на файлове. Много PHP функции приемат файловите пътища като аргументи. Не използвайте разделителя за обратна наклонена черта (\). Въпреки че сте на Windows, PHP ще ви позволи да използвате разделител с наклонена черта. В идеалния случай абстрахирайте това със собствения си клас път на файл.

  2. Apache модули, PECL разширения. Apache Windows и Apache Unix често идват с различен набор от Apache модули, инсталирани по подразбиране. Освен това една и съща версия на модул може да работи по различен начин на различна платформа. Ако вашето приложение разчита на който и да е Apache модул, уверете се, че той е наличен и за двете платформи. Същото важи и за персонализираните разширения на PHP (PECL).

  3. Разклоняване на процеса. Използването на exec, ` и т.н. в уеб приложение е лоша идея като начало, но ако използвате тези функции, те ще се държат различно между Windows и *nix

  4. Писането на файлове, заключването и т.н. работи различно

  5. Имейлът се обработва по различен начин на двете платформи

  6. Кодовата дума на PHP групата за Windows е някои платформи. Можете да проучите повече сами ако искаш

Като цяло, колкото повече вашата среда за разработка съвпада с вашата производствена среда, толкова по-малко проблеми, свързани със средата/разгръщането, ще имате.

person Alan Storm    schedule 22.10.2008
comment
За почти всички проблеми, които споменахте, има преносими решения. - person Marcos Lara; 18.11.2008
comment
Знаете ли дали има разлики/проблеми около клеймото за време? напр. функциите strtotime() ще предоставят ли правилния времеви печат на unix? - person LazerSharks; 14.07.2013

Правя го през последните няколко години и все още не съм срещал никакви проблеми - ако не друго, това ви дава предимство, като ви принуждава да пишете повече преносим код.

person Greg    schedule 22.10.2008
comment
да Моля, разработете на WAMP и разположете на LAMP, ние правим точно обратното и въпреки че преходът беше болезнен, ние сме много по-добре заради него. Мога да сменям горещи среди на производство за тестване, когато имам нужда, без да се притеснявам за основната платформа. - person cfeduke; 23.10.2008
comment
Просто бъдете внимателни с разрешенията за файлове и не забравяйте, че Windows е нечувствителен към главни и малки букви, докато Linux не е. незнанието за това може да причини някои неприятни грешки. - person levhita; 23.10.2008

Разрешенията и фактът, че в Windows имената на файловете не са чувствителни към главните и малките букви, са двете неща, за които се сещам и които ме притесняват. Но те са

  1. Разрешимо, в най-лошия случай с FTP клиент за промяна на разрешенията.
  2. Добри, лесни начини да станете по-добър програмист (в малък смисъл, да).
person Adriano Varoli Piazza    schedule 22.10.2008

На теория PHP и MySQL трябва да са напълно независими от платформата.

На практика, ако ще имате реално производствено приложение, предлагам ви да имате тестова среда, отразяваща производствената, за избягвайте изненади.

person Gabriele D'Antona    schedule 22.10.2008

Не, разработването на WAMP и работата на LAMP трябва да са добре, но поне етап на LAMP.

Минах и в двете посоки без много проблеми (ОК, преди имаше куп проблеми при внедряването на корпоративни сайтове на WAMP (не се опитвайте да използвате PHP ISAPI филтъра), но сега те са разрешими (FastCGI)).

Докато не добавяте никакви PECL модули, които заявяват, че не се поддържат в Windows, не би трябвало да имате проблеми. Освен това (тъй като заявявате, че използвате WAMP, предполагам, че използвате MySQL), SQL Server и PHP имат куп проблеми (старият драйвер, който изисква, сериозно ограничава дължината на вашата заявка).

person Kris Erickson    schedule 22.10.2008

Да, бих препоръчал разработване в среда, възможно най-близка до вашата производствена среда.

Има разлики между начина, по който PHP работи на Windows в сравнение с Linux. И други разлики, като например как Linux обработва разрешенията за файлове в сравнение с Windows. Пускам безплатния VMware сървър с виртуална машина на Linux.

Имам споделяне на Samba във виртуалната машина на Linux, което монтирам като мрежово устройство в Windows. След това използвам Eclipse в Windows като мой редактор на код.

person ejunker    schedule 22.10.2008

Не, защото почти единственото нещо, което не можете да правите на WAMP, ако насочвате към LAMP, е да използвате System()/Exec извиквания, и обикновено това е добре, защото те трябва да се използват много рядко.

person Michael Stum    schedule 22.10.2008

Струва си да имате LAMP sandbox, за да можете да научите къде да намерите – и как да редактирате – конфигурационни файлове, да се чувствате комфортно с рестартиране на услуги, работа с планирани задачи и т.н., ако ще трябва да се справяте с тези задачи в производството.

person Colonel Sponsz    schedule 22.10.2008

Не.
VirtualBox + споделените папки би трябвало да са полезни, ако имате около 6-8 часа свободни през един уикенд, за да изясните всички основи на VirtualBox и да разработите настройките.

Ако преминавате към Linux, процесът може да отнеме до един месец и ще бъдете много непродуктивни през това време по отношение на производствения код.

Добра идея е да продължите да практикувате Linux на VirtualBox за Windows предварително, преди да превключите, като използвате една от PCLinuxOS, CentOS, openSUSE или Ubuntu. Предпочитам CentOS и PCLinuxOS.

Има скъпоценен камък, наречен SLAMPP, и друга красота, наречена XAMPP ‹- работи на Linux и Windows.

IMO, като грубо предположение, ако очаквате да кодирате 2000-3000 реда код (които пишете/добавяте) на проект, за шест месеца до една година, придържайте се към Windows и междувременно овладейте Linux с помощта на VirtualBox.

Ако е над това или ако планирате да направите страхотен нов LAMP уебсайт, мисля, че първо трябва да преминете към Linux. Отделете още един месец, за да свикнете с Linux. Все още можете да разбърквате с двойно зареждане или VirtualBox толкова дълго, колкото желаете, като започнете възможно най-рано - изучаването на Linux достатъчно, за да отстранявате грешки в LAMP приложение, отнема време.

person Community    schedule 24.10.2008

Пътеки, пазете се от пътеки. Можете да изградите цяла CMS и тя ще се обърка поради пътищата.

person Yehonatan    schedule 27.07.2012