¿Qué necesito para configurar un entorno de desarrollo PHP?

Depende de su plataforma y cuáles son sus intenciones y, por supuesto, con quién habla …

La mayoría de las personas querrán ejecutar PHP integrado con un servidor web y probablemente también con una base de datos, así que supondré que caes en esa categoría.

Una cosa a tener en cuenta. No necesita nada más que su editor de texto favorito para editar archivos PHP. Hay todo tipo de ‘entornos de desarrollo integrado’ que algunas personas adoran con pasión, pero realmente no los necesita y, para ser sincero, cuestionaría su utilidad. Estoy construyendo aplicaciones basadas en la nube realmente a escala industrial en PHP y todavía uso Notepad ++ o, a veces, si me siento un poco arriesgado, usaré Atom. Probablemente debería salir más también …

Soy un hombre de Windows cuando se trata de mi máquina de desarrollo. Para mí, el servidor de producción más sensible implica una pila ‘nix y personalmente voy por Ubuntu que se ejecuta en una instancia de tamaño adecuado en AWS de Amazon. Hay muchas alternativas perfectamente buenas, pero obviamente querrá que la estructura de su entorno de producción se adapte bien a su máquina de desarrollo.

Si desea configurar en una máquina Windows para el desarrollo web, entonces probablemente querrá la pila WAMP completa. Eso le dará una integración del servidor web Apache, la base de datos MySQL y el lenguaje PHP en sí. Definitivamente es más fácil instalar esto usando algo como WampServer o XAMPP, que es esencialmente una instalación agrupada y automatizada de la pila completa, con esta última incluyendo Perl.

Sin embargo, si tiene tiempo de sobra y tiene suficiente conocimiento de TI, entonces personalmente recomendaría instalar los elementos usted mismo; definitivamente no es tan fácil, pero en mi opinión lo ayudará a comprender cómo encajan los elementos, y le dará control más granular de su sistema si alguna vez desea hacer cosas que no salen de la caja. Eso será controvertido en algunos círculos, y sinceramente, si no se siente cómodo leyendo los archivos de configuración, configurando las variables de entorno de MS, descubriendo qué versiones del instalador de apache lounge se utilizarán junto con los tiempos de ejecución de Visual C, etc., y generalmente frustrado hasta que funcione, entonces esto no será para ti. En ese caso, simplemente comience a usar uno de los paquetes anteriores y debería estar en funcionamiento muy rápidamente, y por supuesto, siempre puede cambiar más tarde si lo desea.

Pero solo a modo de ejemplo, he creado un sistema de implementación automatizado utilizado en varias oficinas de nuestra organización que utiliza git para rastrear, fusionar e implementar automáticamente el trabajo de las personas desde diferentes sucursales en varios servidores remotos. También quiero usar node, browsersync y SASS en mi pila de desarrollo local y uso PHP para el procesamiento de memoria de carga de imágenes y documentos. No puede hacer cosas así fácilmente, si es que lo hace, sin el control total de su pila de software.

Correcto: si decide instalar la pila usted mismo, su mejor opción es seguir un tutorial cuidadosamente paso a paso. No se apresure, tómese su tiempo e intente comprender cada paso en el camino. Hay una buena aquí ¿Cómo instalar manualmente Apache, PHP y MySQL en Windows? y hay muchas tablas de ayuda y otros recursos disponibles: ¡Stack Overflow es tu amigo! Al final del proceso, tendrá una buena idea sobre dónde encontrar los módulos de Apache, qué hacen y cómo encajan, cómo configurar PHP para que funcione con Apache, cómo conectarse a MySQL, etc. Todo un gran conocimiento que puede construir y que sin duda resultará útil cuando desee implementar en un servidor de producción. Instalar la pila en Ubuntu es muy simple, pero configurarlo puede ser complicado, y lo que aprenda a configurar en Windows le servirá de mucho.

Una vez que tenga su servidor básico en funcionamiento, querrá comenzar a entender cómo integrar otras funciones junto con PHP. Nuevamente, hay muchos tutoriales y paneles útiles para ayudar, pero aquí hay algunas sugerencias:

Si está utilizando formularios y una base de datos, no pierda el tiempo. Haga que PDO funcione y úselo para asegurarse de que su base de datos y sitio web estén protegidos contra ataques de inyección comunes.

Personalmente, creo que MySQL Workbench es la mejor herramienta para administrar bases de datos MySQL. Es simple de usar, robusto e intuitivo y es una aplicación de escritorio.

SASS es brillante y también lo es la Sincronización del navegador: juntos pueden trabajar para que el diseño de su sitio web sea mucho menos complicado y mejorar su productividad sin fin. Si los configura correctamente, cada vez que cambie su archivo fuente SASS, el sistema recompilará su CSS y lo inyectará en la página en pantalla; cada vez que cambie HTML o PHP, su pantalla se actualizará automáticamente. Pero estas utilidades se ejecutan en el nodo y tendrá que entender Gulp o algo similar.

Usa Git Bash para Windows: es genial. Puede usar los comandos de Unix en Win y le ayudará si desea hacer algo en Open SSL. Aprenda git, y apréndalo en la línea de comando. Personalmente uso Bitbucket para almacenar mi código y una vez que te acostumbres a git, ¡te preguntarás cómo te fue sin él!

De todos modos, esa es mi opinión personal sobre esto. Estoy seguro de que habrá muchos otros, pero el desarrollo de software es un viaje de aprendizaje que nunca se completa. Al igual que en la vida, las personas tienen opiniones firmes, pero lo que hay que recordar es que el viaje es necesario y personal, y no todos los tamaños son adecuados. Los atajos están bien para algunas personas y funcionan bien; otras personas prefieren disfrutar del paisaje y escalar las montañas 🙂

¡Que te diviertas!

Vamos a dividir esto en los componentes esenciales que necesitará (supongo que es un principiante basado en la formulación de sus preguntas).

Entonces, las cosas más básicas que necesitará son:

  • Un intérprete PHP
  • Un editor de código

En realidad eso es todo.

Pero, como es muy común para los principiantes, es posible que desee ejecutar PHP dentro de un servidor web (generalmente algo como Apache o nginx). Entonces agregaremos una instalación / configuración del servidor web aquí.

  • Servidor web (Apache / nginx)

Lo que también pertenece a una configuración extensa, en este campo, es una base de datos como, por ejemplo, MySQL, PostgreSQL, MariaDB para guardar datos de forma persistente. Pero, como sé, lo frustrante que es sentirse abrumado por todas esas impresiones y detalles técnicos, pasaremos esto y nos centraremos en los tres puntos allí arriba. Definitivamente está bien volver a la instalación de una base de datos una vez que se familiarice con un entorno PHP.

Entonces, hasta ahora, ya aprendiste dos cosas.

  1. PHP se procesa a través de un intérprete de PHP que es independiente de cualquier servidor web (PHP se ejecuta como instalación independiente)
  2. Una pila de desarrollo común, en el campo del desarrollo web, es PHP + servidor web (Apache / nginx) + base de datos (MySQL, etc.)

Ahora, tendremos que distinguir entre su sistema operativo utilizado, que no mencionó. Por lo tanto, revisaré las tres configuraciones de sistema operativo más comunes.

Windows, Linux y macOS.

Antes de esto, permítanme anotar una información importante: la base técnica y la forma en que se utiliza el entorno, difiere mucho entre esos tres sistemas operativos. Sería mucho más fácil saber qué sistema operativo utilizará. Pero de todos modos…

Comencemos con el

Intérprete PHP

En Windows querrás instalar el intérprete oficial para un sistema de 64 bits (supongo que estás usando un sistema de 64 bits): http://windows.php.net/downloads

Este paquete instala el intérprete PHP en su sistema Windows. Cuando extraiga el paquete, encontrará una carpeta que contiene algunas otras carpetas y muchos ejecutables y otros archivos. Esta es la salida compilada del código fuente PHP.

Aquí, todo lo que tiene que hacer es colocar la carpeta en algún lugar de su sistema donde se ejecute sin problemas de permisos. Tal vez bajo su propia jerarquía de sistema de archivos de usuario. En realidad eso es todo. Lo que sucederá más adelante es que se invocará al intérprete PHP (el archivo php.exe ) y ejecutará sus propios archivos de código fuente (compílelos e intérelos). Una cosa que hay que hacer allí es tal vez poner la ruta al binario PHP en la ruta de su sistema.

En macOS y Linux hay una gran posibilidad de que el intérprete PHP ya esté instalado. En realidad, macOS tiene el intérprete preinstalado, en Linux difiere entre las distribuciones.

Para no confundirte tanto, asumiremos que tu macOS ya lo tiene preinstalado (pero también es posible instalar el intérprete de PHP en macOS como en cualquier otro sistema operativo).

Linux hace que sea mucho más fácil instalar PHP. Casi todas las distribuciones principales tendrán PHP en el repositorio de su sistema. Por lo tanto, todo lo que tiene que hacer es instalarlo desde allí, así:

  • Fedora : dnf install php (encontrará el paquete PHP de repositorio más reciente por sí mismo, por ejemplo, php-7.0.18-1 e instalará cualquier paquete de dependencia)
  • CentOS / Redhat : yum install php (quizás quieras instalar algunos otros paquetes dependientes como php-devel )
  • Debian : apt-get install php5-common php5-cli

Lo que necesitará notar aquí: PHP 7 solo está disponible en algunos repositorios oficiales, como en el repositorio de Fedora. Debian y CentOS / RHEL todavía usan las últimas versiones de PHP 5 en sus paquetes oficiales (esto se debe a sus políticas de sistema que se adhieren a las versiones anteriores y a una larga fase de prueba para las nuevas versiones). De todos modos, es posible instalar PHP 7 en todos esos sistemas a través de paquetes compilados de otros proveedores o compilar el código fuente PHP 7 usted mismo.

Ok, esa es mucha información y algunas cosas técnicas. Entonces, ¿por qué te digo esto? Simplemente, solo quiero mostrarle lo que significa comprender los conceptos básicos. ¡Ejecutar un entorno PHP no es lo mismo que simplemente instalar un paquete de instalación en cualquier lugar!

Pero lo bueno aquí es que en realidad hay una manera cómoda de ejecutar un entorno PHP dentro de un entorno preconfigurado para usuarios de Windows y macOS, que ya se mencionó: XAMPP.

Sí, en términos de una comprensión técnica de los procesos fundamentales involucrados en el procesamiento de PHP, esta no es la mejor manera de hacerlo. Pero, todo principiante quiere ver resultados rápidos, por lo que adoptaremos este enfoque.

Ok, pasemos a las cosas del servidor web, de lo que se trata algo como XAMPP.

Servidor web

PHP, en aquellos días, se desarrolló como un lenguaje para adaptarse dinámicamente al proceso de análisis y representación de HTML. Por lo tanto, PHP estaba y está disponible como módulo en servidores web, por ejemplo, en el servidor web Apache.

El proceso (simplificado) se ve así:

  1. El intérprete PHP procesa el archivo de código fuente PHP (lo compila e interpreta)
  2. El intérprete pasa el archivo HTML generado al servidor web
  3. El servidor web devuelve el archivo al navegador del cliente.
  4. El navegador muestra el archivo estático y lo que obtienes es tu sitio web elegante

Como Windows de Microsoft tiene una arquitectura diferente a la de Linux y Unix, es común abstraer todas esas cosas de bajo nivel de PHP y la configuración del servidor web y solo usar un paquete preconfigurado, que generalmente es XAMPP. XAMPP (clásico A pache, M ySQL, P HP y P erl y la X representa su uso de arquitectura cruzada) es un paquete listo para usar donde tiene un servidor web Apache con una base de datos MySQL y un intérprete PHP en funcionamiento en 5 minutos, localmente en su computadora.

Este paquete estaba destinado a desarrolladores que usan un entorno local o algún tipo de usuarios avanzados.

Además, es algo común que los usuarios / desarrolladores de macOS también usen ese paquete XAMPP en sus sistemas locales, ya que Apple tiende a ocultar y abstraer los detalles del sistema subyacente a sus usuarios. Pero, como macOS es un verdadero hijo de BSD (y, por lo tanto, un sistema similar a Unix), es completamente posible configurar un servidor web al igual que en Linux y otros derivados de BSD.

Lo que debe hacer es descargar el paquete deseado del sitio XAMPP vinculado e instalarlo con la rutina de instalación. Todas las configuraciones deben hacerse automáticamente.

En Linux y sistemas BSD puros (FreeBSD, OpenBSD, etc.) es muy inusual usar XAMPP. Esto se debe a que ya hay una configuración de sistema muy buena, estable y probada disponible para un servidor web (que no difiere de los servidores web reales que sirven a todos esos sitios en Internet).

Por lo tanto, Linux (y Unix) ya tiene todo en su lugar y, si no, simplemente instálelo desde los repositorios y estará a bordo.

Ahora, la diferencia aquí es que un paquete XAMPP tiene su propio servidor e intérprete empaquetados y configurados, y es por eso que (por lo general) solo necesitará encender el servidor web en el panel de control de XAMPP y listo. Puede acceder a él en su sistema en su navegador en http: // localhost o 127.0.0.1 (que es lo mismo, ya que localhost es solo un alias para esta IP). Como su servidor web Apache está configurado correctamente, sirve un archivo index.html del directorio raíz de documentos del servidor web.

Todo lo que tiene que hacer es simplemente lanzar su propio archivo xyz.php en el directorio raíz de documentos del servidor web y escribir la ruta en su navegador, como: http: //localhost/xyz.php

El intérprete PHP procesará su archivo y el servidor web se lo devolverá.

En sistemas Linux y Unix, el proceso es exactamente el mismo. La principal diferencia aquí es que ejecuta todo en el sistema de archivos real y, por lo tanto, en configuraciones de sistema reales en lugar de en un paquete de entorno encapsulado.

Consulte los directorios que contienen todas las configuraciones necesarias, p. Ej.

  • Fedora / RHEL / CentOS: / etc / httpd /
  • Debian: / etc / apache2 /

Allí encontrará los archivos de configuración del servidor principal y en los que encontrará las rutas raíz del documento, etc. Allí también coloca sus archivos PHP, enciende el servidor web (por ejemplo, systemctl start https.service ) y ahí vas bajo localhost / 127.0.0.1

¿Lo que queda? Oh si, el editor …

Editores de código fuente

Lo bueno aquí es que hay una gran cantidad de editores e IDE diferentes, la mayoría de ellos altamente configurables según sus propias preferencias.

Lo malo aquí es: ¡hay un montón de software de basura increíble!

Por lo tanto, le sugiero que se tome su tiempo y lea algunas documentaciones del editor y, obviamente, pruebe algunos editores diferentes. Verá en qué difieren y sentirá a los editores buenos y malos.

El único consejo que daría aquí, solo para hacerte un favor, es:

No use un IDE.

Un IDE resume flujos de trabajo, configuraciones y muchas otras cosas para su conveniencia “creída” y, por lo tanto, oculta lo que es muy importante. Llegarán esos días en los que te encontrarás en una jungla si tienes IDEs, tal vez te verás obligado a usar algunos de ellos, y luego habrá el momento perfecto para enfocarte en ellos.

Hasta entonces, personalmente mantendría distancia de ellos.

En particular (como lo leí aquí en una respuesta), ¡me mantendría alejado de los IDE de basura como Dreamweaver! Además de que Adobe está produciendo toneladas de software hinchado, inseguro y con errores, Dreamweaver es un ejemplo perfecto de cómo un IDE no debe ser.

Honestamente, admito que soy parcial en este caso y seguramente también puedes probar Dreamweaver. Fue solo una advertencia honesta.

El editor tiene el propósito de hacer que la edición de su código fuente sea conveniente y profesional. Es por eso que los editores tienen (o deberían tener) algunas características básicas para los desarrolladores, como:

  • Resaltado de sintaxis
  • Completar código
  • Interfaz de plugin
  • Línea de números
  • Plantillas de código
  • IU personalizable
  • Soporte para diferentes codificaciones.
  • y algunos otros …

Para agregar algunos nombres para futuras investigaciones:

  • Texto sublime
  • Átomo
  • empuje
  • Notepad ++

Ahora, escribí mucho aquí y entiendo totalmente que mi respuesta puede confundir debido a todos esos detalles. Lo que es algo divertido es el hecho de que, aunque escribí todo esto, creo que quizás escribí el 5% de lo que realmente quería decir.

¿Por qué es esto? Mh … Honestamente, porque de eso se trata tu pregunta. No especificó ningún detalle y, por lo tanto, es posible interpretarlo de muchas maneras. Si escribiera todas estas cosas que aprendí en todos esos años, este enfoque terminaría en un libro. No es el mejor formato para Quora.

Creo que mi respuesta es solo una especie de resumen de diferentes declaraciones específicas. Tal vez encuentre algunos detalles aquí, que lo llevarán a otros temas y puntos de vista interesantes, etc. Tal vez no encuentres nada aquí que te ayude de alguna manera. Pero lo mejor de la programación y el desarrollo es la filosofía de “prueba y error”, que lo guiará por el camino correcto. Aprender se trata de cometer errores, por lo tanto, intentarás, fracasarás y (con suerte) aprenderás después.

Lo que eso significa es:

Independientemente de mi respuesta, de cualquier manera descubrirá qué es posible y qué no, ya que se encontrará con errores. Eso cuenta para cada aspecto, descubrirá si algo como Dreamweaver es un buen IDE o simplemente un mal software, y así sucesivamente …

Entonces, todo lo mejor y buena suerte.

Simplemente descargue XAMPP, ya está listo.

XAMPP es un paquete de soluciones de servidor web multiplataforma gratuito y de código abierto desarrollado por Apache Friends, que consiste principalmente en el Servidor Apache HTTP, la base de datos MariaDB e intérpretes para scripts escritos en los lenguajes de programación PHP y Perl. XAMPP significa Plataforma cruzada (X), Apache (A), MariaDB (M), PHP (P) y Perl (P). Es una distribución simple y liviana de Apache que hace que sea extremadamente fácil para los desarrolladores crear un servidor web local para fines de prueba e implementación. Todo lo necesario para configurar un servidor web (aplicación de servidor (Apache), base de datos (MariaDB) y lenguaje de script (PHP)) se incluye en un archivo extraíble.

Fuente: Wiki

Ya se ha mencionado XAMPP, y si lo instala, es bastante bueno. Pero déjame desglosar el contenido de XAMPP y otros paquetes similares. Para crear páginas web PHP necesitas tres cosas.

El primero es PHP en sí. Un script PHP generará la página web que está viendo en HTML y CSS (también se recomienda aprender estos por cierto).

A continuación, necesita un servidor web que redirija el navegador a su salida de script PHP. Los buenos incluyen Apache y nginx. Ahora puede escribir ‘hello world’ en PHP y ejecutar scripts PHP simples.

Sin embargo, si desea crear un foro o blog web, también debe almacenar el contenido en algún lugar. Esto se puede hacer de dos maneras, ya sea a través de archivos (que en sí mismos es un gran riesgo de seguridad), o a través de un servidor SQL.

Piense en ello como PHP como el programa real que crea un documento HTML, Apache como la cosa que llama al programa y muestra la salida en el navegador web, y SQL como el lugar donde almacena todos sus usuarios y publicaciones de blog, y tiene un bonito Buena idea de quién hace qué.

Si te sientes cómodo con el entorno Linux. Sugeriría darle una oportunidad a semiCode. Como viene con una aplicación preinstalada.

http://www.semicodeos.com

Instaladores y descargas de XAMPP para amigos de Apache

Puede descargar xampp desde el enlace anterior según la arquitectura de su sistema.

Incluso puede descargar todos los paquetes (PHP, SQL, APPACHE) por separado también.

Hay algunas opciones diferentes según el sistema que tenga. Uno que funcionará para Mac o PC se llama XAMPP.

XAMPP requiere alguna configuración para funcionar, pero proporciona un servidor apache y un servidor mySQL. Esto le permite desarrollar en su máquina local. Otra herramienta gratuita que recomiendo usar con XAMPP es NetBeans. Es un IDE gratuito para varios lenguajes de programación.

¡La mejor de las suertes para ti! Espero que esto haya ayudado!

Necesita un servidor Apache con php instalado. Mysql se puede instalar si se requiere una base de datos. Si es Windows, puede probar el servidor WAMP que instalará todos los softwares necesarios de una vez.

Retrocede en el tiempo 10 o más años impares y luego instala algo como xamp. Obtiene un servidor web y comienza a escribir php y ejecuta una instancia de MySQL mientras lo hace.

Pero por favor no use php para su desarrollo web. Usa algunas de las tecnologías más nuevas, casi cualquier cosa será mejor Ruby on Rails, django, lo que sea.

¿Quieres hacer un servicio fácil? Tal vez use Node para ponerlo en marcha.

¿Quieres hacer un buen sitio web para acceder a ese servicio? Tal vez use algo como React para hacer el sitio web y acceder a ese servicio.

Si todo eso parece mucho trabajo, apegarse a algo como Django sería más fácil que usar php.

No soy un desarrollador front-end, pero usé php cuando estaba en la escuela secundaria. fue bueno en ese momento, pero no recomendaría a nadie que lo use teniendo en cuenta que existen algunas tecnologías realmente mejores y nuevas.

Debe instalar un programa de consola de desarrollador como Visual Studio o Notepad ++ o Dreamweaver, son fáciles de usar y gratuitos (no requiere compra).

Dreamweaver me recomendó

Necesita XAMPP o WAMP como servidor local + texto sublime para editor de texto + Heidisql (UI para MYSQL)