Веб-сайт PHP, должен ли я развиваться в дистрибутив Linux вместо Windows?

#php #linux #xampp #virtualbox

Вопрос:

Через несколько месяцев я начинаю проект на PHP и не решаюсь делать как обычно : разрабатывать на своей 64-битной машине с Windows Vista. Поскольку я мало что знаю о Linux, я думаю, что это может быть хорошим способом научиться, работая над дистрибутивом Linux.

Как ты думаешь, это хорошая идея или нет? Я бы запустил VirtualBox с Ubuntu (на моих Vista64bits). Я думал установить XAMPP, чтобы иметь возможность разрабатывать на PHP.

Если вы считаете, что это хорошая идея, не стесняйтесь предложить мне какой-нибудь учебник о том, что я должен знать о виртуализации ОС или Linux/dev.

Обновление Я создал много веб-сайтов на PHP с Windows, вопрос больше в том, хороший ли это способ начать изучать Linux, разрабатывая его с помощью виртуальной машины? У меня 4 гигабайта оперативной памяти, будет ли все гладко, если я установлю Eclipse на виртуальную машину? и т.д.

Ответ №1:

Вы действительно должны разрабатывать на той же платформе, на которой собираетесь развертываться. Я не говорю, что плохо поступать по-другому, но в долгосрочной перспективе это может избавить вас от некоторой боли. ОТО, таким образом, вы могли бы быстрее узнать о различиях платформ. Итак, главный вопрос: хотите ли вы, чтобы производственная система работала как можно скорее без особой головной боли? Или вы хотите потратить некоторое время и приложить некоторые усилия, чтобы научиться разрабатывать кроссплатформенные материалы?

И да, есть различия. Например, имена файлов с учетом регистра и с учетом регистра. Затем некоторые функции PHP используют собственные функции C, которые имеют другую реализацию. Например, printf() не создает одинаковое количество пробелов для некоторых типов. Разрешение измерения времени (миллисекунды против микросекунд) может быть разным и т.д. Затем у вас есть разные способы обработки разрешений файловой системы. Это всего лишь некоторые недавние проблемы, которые я обнаружил, и которые я могу вспомнить с головы до ног.

Ответ №2:

PHP должен быть одинаковым на любой платформе, поэтому то, где вы разрабатываете, не должно иметь значения.

Однако, по моему опыту и наблюдениям,на Linux работает больше сайтов, работающих на PHP, чем на Windows.

Настройка Apache и PHP на чем-то вроде Ubuntu или Fedora-это просто, и тестирование тоже довольно простое.

Кроме того, когда вы начнете работать со своим сайтом, на какой платформе он будет работать? Я предпочитаю заниматься разработкой на платформе, на которой она будет выполняться, когда это возможно.

Ответ №3:

Лично я не думаю, что для локального производства вам следует использовать виртуальную машину. Вы бы тоже запустили свою IDE внутри виртуальной машины?

Если вы достаточно осведомлены о подводных камнях перехода между средами Windows и Linux (таких как чувствительность к регистру и разрешения), у вас не должно возникнуть проблем с разработкой в Windows и развертыванием в Linux.

Комментарии:

1. PHP — это легкий язык, и для разработки я также считаю, что виртуальные машины-это здорово, но это может быть только личный опыт

2. PHP сам по себе легкий, но как насчет IDE? или вы планируете использовать только простые текстовые редакторы

3. Я согласен с тем, что не разрабатываю в виртуальной машине, я тестирую только внутри виртуальных машин. Однако, поскольку вы используете 64-разрядную версию Vista, у вас может быть достаточно мощности (процессор/ОЗУ), чтобы запустить даже тяжелую среду IDE, такую как Eclipse, внутри виртуальной машины.

4. У тебя может быть достаточно сил, но я не думаю, что в этом есть необходимость. Кроме того, у меня есть много голодных процессов, запущенных одновременно, таких как photoshop, firefox и т. Д.

5. Да, IDE была бы в виртуальном ящике

Ответ №4:

Работа над дистрибутивом Linux, безусловно, является самым простым способом его изучения. И настройка некоторых серверов и выполнение некоторой работы по разработке — отличное начало.

Виртуализация Linux также очень проста. Я делал это довольно много раз, и это действительно послушно. Кроме того, этот способ облегчит вам использование Linux, гораздо лучше, чем просто зайти и узнать, что ваша беспроводная карта не поддерживается, как это сделал я 🙂

Что касается разработки PHP в Linux… Я немного поработал над PHP-кодированием в Windows и Linux и могу сказать вам, что между ними очень мало разницы. Я использую Eclipse как на платформах, так и на Apache и MySQL / XAMPP. Единственное существенное отличие, которое я видел, заключается в том, что Linux гораздо более разборчив в разрешениях и регистре.

Ответ №5:

PHP не одинаков на всех платформах, и до недавнего времени в версиях Windows были проблемы, которых не было в версиях Linux. Множество полезных функций специфичны для *nix.

Я бы повторил мнение @Milan о разработке в среде развертывания. Делая это, вы также узнаете намного больше о среде развертывания.

Что касается проблемы виртуальной машины, если вам нужны все ваши инструменты Windows и ваша машина с Windows, настройте сервер Linux в своей виртуальной машине (при желании у вас может быть графический интерфейс, но вы собираетесь использовать его в основном в качестве сервера). Настройте его так, чтобы Windows могла просматривать установку apache, запущенную на вашей виртуальной машине, и вы используете общие ресурсы samba для доступа к файлам виртуальной машины, например, к диску в Windows. Таким образом, вы разрабатываете в Windows, но тестируете развертывание / настройку на работающем сервере Linux. В то время как два разработчика в моем магазине запускают Ubuntu, третьему постоянно нужно использовать Photoshop и различные другие компоненты программного обеспечения Windows, поэтому она использует этот метод запуска сервера в виртуальной машине, но разрабатывается из Windows.

О, и если вы работаете на Linux, не используйте XAMPP! Несколько простых команд помогут вам начать работу, и вы получите гораздо лучшее представление о своем развертывании. XAMPP-это нормально, но он предназначен для ОС, в которых нет управления пакетами Linux.

Ответ №6:

в то время как XAMPP отлично работает, запуск Apache и PHP в Linux-это данность; в то время как в Windows вам нужно сделать что-то дополнительное… и поддержать. Кроме того, большинство частей стека гораздо более оптимизированы и подходят для среды POSIX. Производительность ядра(ов) базы данных особенно чувствительна к доступным примитивам.

Большинство операционных систем работает на Windows, но это круглый колышек, воткнутый в квадратное отверстие.

Ответ №7:

В принципе, я бы не советовал «учиться на практике» в реальном проекте — если только он действительно не маленький или вы раньше выполняли очень похожие проекты, чтобы кривая обучения по вопросам, связанным с проектом, не была крутой. В этом случае у вас могут быть бесплатные ресурсы для изучения среды разработки.

Ответ №8:

Вообще мне больше нравится среда Linux, чем Windows. Главным образом потому, что все инструменты CLI, которые вам понадобятся, предоставляются, и Bash бьет cmd.ext в любое время. Но с Cygwin я нахожу даже Windows удобной средой разработки.

Что касается разработки PHP, я действительно не вижу, насколько это будет отличаться. Возможно, есть некоторая выгода в том, что вы вынуждены делать код более переносимым (такие вещи, как окончания строк, косые черты в именах файлов и тому подобное), если вы используете системы стендов.

Как рабочий стол или рабочая станция, между ними нет большой разницы. Я нахожу, что самые большие различия заключаются в том, как вы их администрируете, но надеюсь, что у вас есть другие люди, которые делают это за вас.

Ответ №9:

На мой взгляд, вам не нужно разрабатывать дистрибутив Linux. Веб-разработкой можно заниматься с любой операционной системы. Я не знаю, почему вы программируете для Интернета… как профессионал? для вашей личной домашней страницы? Я думаю, этого достаточно, чтобы получить бесплатное веб-пространство с PHP-сервером и загрузить туда свои файлы… это не займет у вас много времени, и вам придется справляться с меньшим количеством дел.

немецкий студент 😉

Ответ №10:

Используйте ОС, под управлением которой будет работать ваш сервер развертывания, и весьма вероятно, что это будет linux. Недавно я видел, как развертывание пошло очень плохо, потому что оно было разработано с использованием wampserver и развернуто на CentOS. С существенными различиями в конфигурации apache и PHP. Поэтому знайте свой сервер развертывания и подходите к нему как можно ближе.

Ответ №11:

Попробуйте создать среду разработки с помощью VMware Player. У меня есть несколько сред Linux, которые я запускаю на своем ноутбуке Vista. Вы также можете просто выполнить двойную загрузку. Я использую Ubuntu, это просто.

Ответ №12:

Побочный эффект разработки внутри виртуальной машины: больше накладных расходов и, в конечном счете, потребности в дополнительных инструментах, чтобы сделать разработку более удобной. Часто людям нужны специальные инструменты для их разработки, такие как Photoshop или некоторые инструменты векторного дизайна, недоступные в Linux. Если рабочая копия проекта находится внутри виртуальной машины, имеет смысл иметь к ней легкий доступ. Таким образом, вы настроите SAMBA (что часто создает проблемы с входом в систему с XP) или настроите SSL(SFTP)/FTP. Также вы должны научиться использовать сеть с виртуальной машиной (NAT, мостовое соединение, переадресация портов).

С другой стороны, разработка на другой платформе в качестве цели может вызвать некоторую головную боль. Я обнаружил, что меня часто путают с файлами .htaccess для защиты паролем, потому что в Windows/Linux часто используется другой путь. Если вы забудете изменить эти записи позже на рабочем сервере, у вас возникнет проблема…

Лучшее решение: используйте лучшее из обоих миров. Виртуальная машина, в конечном итоге работающая позже без головы (без графического интерфейса, больше похожая на «удаленный сервер») с Ubuntu/Debian/FreeBSD) и работающая только на необходимых серверах (Apache, MySQL, FTP, SSH…).

Eclipse или другие средства разработки в Windows/Mac.

Ответ №13:

5 лет спустя: Мое мнение-использовать решение Linux. Есть много преимуществ для использования PHP в Linux. Основная причина заключается в уровне помощи, предоставляемой сообществом. PHP, по-видимому, также оптимизирован для сред Linux.

Существует также безопасность в цифрах, поскольку подавляющее число сайтов размещено и работает с решениями LAMP. Существует широкий спектр фреймворков и CMS, которые лучше всего работают в Linux с Apache2.

Сделайте свою жизнь проще и начните изучать PHP прямо сейчас.