2008-10-06 5 views
5

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

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

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

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

ответ

5

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

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

5

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

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

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

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

3

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

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

+0

PHP - это легкий язык, и для разработки я также считаю, что виртуальные машины великолепны - но это может быть только личное впечатление – warren 2008-10-06 17:59:58

3

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

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

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

0

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

немецкий студент;)

1

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

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

0

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

1

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

1

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

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

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

2

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

Я бы назвал настроения Милана о развитии в среде развертывания. Сделав это, вы узнаете гораздо больше о среде развертывания.

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

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

0

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

0

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

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

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

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

0

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

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^