Хостинг PHP - PullRequest
       19

Хостинг PHP

3 голосов
/ 01 мая 2009

Имеет ли значение для разработки, на какой ОС работает PHP? Другими словами, было бы хорошо разработать приложение PHP для Windows и развернуть его в Unix (или наоборот)?

Другими словами, работают ли PHP-приложения одинаково в Windows и Unix?

Ответы [ 8 ]

5 голосов
/ 01 мая 2009

Почти, но не совсем. Есть несколько вещей, которые вы должны остерегаться.

1) Имена файлов: Windows не учитывает регистр операционной системы. Если вы создаете файл Foo.php, вы можете включить его, используя include('Foo.php') ИЛИ include('foo.php'). Когда вы перемещаете свой проект в Linux / Unix, он сломается, если у вас нет нужного случая.

2) Существуют некоторые языковые различия в платформах, как правило, когда речь идет о чем-то, что зависит от интегрированной функциональности ОС. Они редко появляются, но вы можете столкнуться с ними время от времени. Например, функция checkdnsrr () не существовала в Windows PHP до версии 5.3.0.

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

Редактировать: Ах да, я помню:

3) Установлено. Пакеты PHP, которые вы получаете для Linux / Unix, могут очень широко включаться в установку по умолчанию по сравнению с Windows. Вам необходимо убедиться, что вы протестировали свое приложение на платформе разработки противоположной платформы, просто чтобы убедиться, что у вас есть все необходимые библиотеки, скомпилированные / добавленные, или вы получите некоторые фатальные ошибки из приложения, которое в остальном нормально выглядит.

2 голосов
/ 01 мая 2009

Основной язык PHP работает идентично, но с любым языком вы столкнетесь с проблемами ОС, если разработаете одну платформу и развернете на другой. Существуют различия в путях (расположениях файлов), конфигурации веб-сервера (какие ключи доступны в суперглобальном $ _SERVER), какие расширения доступны, если они используют функциональность ОС (некоторые расширения PHP зависят от платформы).

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

1 голос
/ 01 мая 2009

Есть некоторые различия между PHP в Windows и Linux, такие как способность выполнять процессы.

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

0 голосов
/ 01 мая 2009

Существует довольно мало различий с файловым вводом-выводом между Linux и Windows (за исключением только чувствительности к регистру). Обычный файл, который получает большинство людей, это то, что большинство файлов windows (DOS) заканчивают строку на \ r \ n, unix заканчивается на \ n, а macs заканчивается на \ r. Впрочем, достаточно просто для кодирования.

0 голосов
/ 01 мая 2009

Как указано выше, в Windows есть некоторые функции, которых нет в Unix.

При первом запуске я бы с осторожностью отнесся к правам: Windows обычно разрешает PHP-скрипту читать и записывать что угодно, в то время как установка Unix не позволяет (тем более, что реальный веб-сервер может работать совершенно иначе). 'user', чем пользователь, которому принадлежит скрипт).

0 голосов
/ 01 мая 2009

Еще одна вещь, вы не указали это в своем посте, но я собираюсь использовать оригинальный стек WAMP здесь ...

Имейте в виду, что в MySQL идентификаторы не чувствительны к регистру в Windows, но чувствительны к регистру в Linux.

0 голосов
/ 01 мая 2009

Вам следует следить за функциями платформы, такими как fork (только для Unix).

http://us3.php.net/pcntl_fork

0 голосов
/ 01 мая 2009

Я запускаю Drupal (несколько версий с широким набором модулей надстроек) на windows / xampplite все время и развертываю в unix box .. ни разу не заметил ни одной разницы.

И я также запускаю SugarCRM, Joomla, Pligg, Zend Framework, CMS Simple, WordPress, Mantis, PhPBB и другие, которые я сейчас не могу вспомнить точно так же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...