sistema - El sitio web de PHP, ¿debería desarrollar una distribución de Linux en lugar de Windows?
sistemas operativos para servidores pdf (13)
Deberías desarrollar realmente en la misma plataforma en la que vas a implementar. No digo que sea malo hacerlo de manera diferente, pero puede ahorrarle algo de dolor a largo plazo. OTOH, podrías aprender más rápido sobre las diferencias de plataforma de esa manera. Entonces, la pregunta principal es: ¿quieres tener un sistema de producción funcionando lo antes posible sin mucho dolor de cabeza? O bien, ¿quieres pasar un tiempo y hacer un esfuerzo para aprender a desarrollar cosas multiplataforma?
Y sí, hay diferencias. Por ejemplo, nombres de archivo sensibles a mayúsculas y minúsculas. Luego, algunas funciones de PHP usan funciones nativas de C que tienen una implementación diferente. Por ejemplo, printf () no produce la misma cantidad de espacios en blanco para algunos de los tipos. La resolución de la medición del tiempo (milisegundos frente a microsegundos) puede ser diferente, etc. Luego, tiene diferentes formas en que se manejan los permisos del sistema de archivos. Estos son solo algunos de los problemas recientes que he encontrado que puedo recordar en la cima de mi cabeza.
En pocos meses empiezo un proyecto en PHP y estoy dudando en hacer lo de siempre: desarrollar en mi máquina con Windows Vista 64bits. Como sé pocas cosas en Linux, creo que puede ser una buena forma de aprender trabajando en una distribución de Linux.
¿Crees que es una buena idea o no? Me gustaría ejecutar un VirtualBox con Ubuntu (en mi Vista64bits). Estaba pensando en instalar XAMPP para poder desarrollar en PHP.
Si crees que es una buena idea, siéntete libre de sugerirme algún tutorial sobre lo que debería saber con Virtualizing an OS, o Linux / dev.
Actualización Tengo muchos sitios web en PHP con Windows, la pregunta es más acerca de si es una buena manera de comenzar a aprender Linux desarrollándolo en una máquina virtual. Tengo 4 gigas, ¿será sencillo si instalo Eclipse en la máquina virtual? etc.
En mi opinión, no es necesario desarrollar en una distribución de Linux. El desarrollo web se puede hacer desde cualquier sistema operativo. No sé, ¿por qué estás programando para la web ... como profesional? para su página personal? Creo que es suficiente obtener un espacio web gratuito con un Servidor PHP y cargar tus archivos allí ... no te lleva mucho tiempo y hay menos cosas que administrar.
un estudiante alemán;)
En principio, desaconsejaría "aprender haciendo" en un proyecto real, a menos que sea realmente pequeño, o haya realizado proyectos muy similares antes, de modo que la curva de aprendizaje sobre los problemas relacionados con el proyecto no sea pronunciada. En ese caso, puede tener recursos gratuitos para aprender sobre el entorno en desarrollo.
Generalmente me gusta más el entorno Linux que Windows. Principalmente porque se proporcionan todas las herramientas de CLI que necesitaría y Bash supera a cmd.ext en cualquier momento. Pero con Cygwin encuentro que incluso Windows es un entorno de desarrollo cómodo.
En cuanto al desarrollo de PHP, realmente no puedo ver cómo sería muy diferente. Tal vez haya algún beneficio al verse obligado a hacer que el código sea más portátil (cosas como terminaciones de línea, barras diagonales en nombres de archivo y demás) si usa sistemas de cabina.
Como escritorio o estación de trabajo, no hay mucha diferencia entre los dos. Encuentro que las mayores diferencias radican en cómo los administra, pero espero que haya otras personas que lo hagan por usted.
PHP no es el mismo en todas las plataformas, y hasta hace muy poco las versiones de Windows tenían problemas que no se encontraban en las versiones de Linux. Muchas funciones útiles son * nix específicas.
Me gustaría hacer eco de los sentimientos de @ Milan sobre el desarrollo en el entorno de despliegue. Aprenderá mucho más sobre el entorno de despliegue al hacerlo también.
En el tema de VM, si quiere todas sus herramientas de Windows y su máquina de Windows, configure un servidor Linux en su máquina virtual (puede tener una GUI si lo desea, pero la usará principalmente como servidor). Configúralo para que Windows pueda ver la instalación de apache que se ejecuta en tu máquina virtual y uses recursos compartidos de samba para acceder a los archivos de vm como una unidad en Windows. De esta forma, desarrollas en Windows pero estás probando implementar / configurar en un servidor Linux en ejecución. Mientras dos desarrolladores en mi tienda ejecutan Ubuntu, un tercero necesita usar Photoshop y varios otros bits de software de Windows todo el tiempo, por lo que utiliza este método de ejecutar un servidor en una máquina virtual pero desarrollándose desde Windows.
Ah, y si está ejecutando Linux, ¡no use XAMPP! Algunos comandos simples lo mantendrán en funcionamiento y obtendrá una comprensión mucho mejor de su implementación. XAMPP está bien, pero es para sistemas operativos que no tienen administración de paquetes de Linux.
PHP debe ser el mismo en cualquier plataforma, por lo tanto, donde desarrolles no debería importar.
Sin embargo, en mi experiencia y observación, más sitios con PHP se ejecutan en Linux que en Windows.
Obtener la configuración de Apache y PHP en algo como Ubuntu o Fedora es muy fácil, y probar todo es bastante simple también.
Además, cuando inicie sesión en su sitio, ¿en qué plataforma se ejecutará? Prefiero hacer el desarrollo en la plataforma en la que se ejecutará siempre que sea posible.
Personalmente, no creo que para la producción local deba usar una máquina virtual. ¿Estaría ejecutando su IDE dentro de la VM también?
Si conoce los peligros de moverse entre los entornos de Windows y Linux (como la distinción entre mayúsculas y minúsculas y los permisos), no debería tener problemas para desarrollar en Windows y desplegar en Linux.
Trabajar en una distribución Linux es definitivamente la forma más fácil de aprenderlo. Y configurar algunos servidores y hacer algún trabajo de desarrollo es un excelente comienzo.
La virtualización de Linux también es realmente fácil. Lo he hecho bastantes veces y es realmente obvio. Además, ir de esta manera te facilitará el uso de Linux, mucho mejor que solo saltar y descubrir que tu tarjeta inalámbrica no está soportada como yo :)
En cuanto al desarrollo de PHP en Linux ... He hecho algunos códigos PHP en Windows y en Linux y puedo decir que hay muy poca diferencia entre los dos. Uso Eclipse en ambas plataformas y Apache y MySQL / XAMPP. La única gran diferencia que he visto es que Linux es mucho más quisquilloso con los permisos y el caso.
Use el sistema operativo que su servidor de implementación se ejecutará, y es muy probable que sea Linux. Recientemente, he visto un despliegue muy mal porque se desarrolló usando wampserver y se implementó en CentOS. Con grandes diferencias en Apache y PHP config. Así que conozca su servidor de implementación y haga que coincida lo más posible.
mientras que XAMPP funciona muy bien, ejecutar Apache y PHP en Linux es un hecho; mientras que en Windows es algo extra lo que tienes que hacer ... y dar soporte. Además, la mayoría de las partes de la pila están mucho más optimizadas y maduras para un entorno POSIX. El rendimiento del motor de la base de datos es particularmente sensible a las primitivas disponibles.
La mayoría de OSS se ejecuta en Windows, pero es una clavija redonda en un agujero cuadrado.
Intenta crear un entorno de desarrollo con VmWare Player. Tengo varios entornos de Linux que ejecuto en mi computadora portátil Vista. También podría simplemente arranque dual. Yo uso Ubuntu, es fácil.
El efecto secundario de desarrollar dentro de una VM: más sobrecarga y eventualmente las necesidades de herramientas adicionales para hacer que el desarrollo sea más cómodo. A menudo las personas necesitan herramientas especiales para su desarrollo como Photoshop o algunas herramientas de diseño vectorial que no están disponibles en Linux. Si la copia de trabajo del proyecto está dentro de la máquina virtual, tiene sentido tener fácil acceso a ella. Por lo tanto, configurará SAMBA (lo que a menudo genera problemas con el inicio de sesión desde XP) o configurará SSL (SFTP) / FTP. También debe aprender cómo usar la red con la máquina virtual (NAT, puente, reenvío de puertos).
Por otro lado, desarrollar en otra plataforma ya que el objetivo puede causarle dolor de cabeza. A menudo me confundí con los archivos .htaccess para la protección con contraseña, debido a la diferente ruta en Windows / Linux. Si olvida cambiar estas entradas más adelante en el servidor de producción, tiene un problema ...
Una mejor solución: usa lo mejor de ambos mundos. Una máquina virtual que finalmente se ejecuta sin cabeza (sin gui, más como un "servidor remoto") con Ubuntu / Debian / FreeBSD) y solo ejecuta los servidores necesarios (Apache, MySQL, FTP, SSH ...).
Eclipse u otras herramientas de desarrollo en Windows / Mac.
5 años después: mi opinión es usar la solución Linux. Hay muchas ventajas para usar PHP en Linux. La razón principal es el nivel de ayuda disponible de la comunidad. PHP parece estar optimizado para entornos Linux también.
También hay seguridad en los números ya que una abrumadora cantidad de sitios se alojan y ejecutan con soluciones LAMP. Existe una amplia gama de marcos y CMS que funcionan mejor en Linux con Apache2.
Haz tu vida más fácil y comienza a aprender PHP de inmediato.