Quali e tutte le aree di Linux che uno sviluppatore PHP dovrebbe conoscere? (Come solo i comandi di esso o qualcosa di avanzato)

5

Ho sviluppato un sito Web utilizzando PHP, ma l'ho implementato sul sistema operativo Windows e l'ho ospitato sul server Windows. Ho appena cercato nel mercato del lavoro di PHP di conoscere i requisiti tecnologici in corso e di mantenere le mie conoscenze aggiornate di conseguenza con il mercato del lavoro.   Vedo di più stanno chiedendo lo stack LAMP. Capisco il tipo di competenze richieste per uno sviluppatore in PHP e MySQL. Ma venendo su Linux e Apache che tipo di competenze si aspettano esattamente le aziende da uno sviluppatore?

Su cosa dovrei concentrarmi in caso di Linux, Apache mentre sto sviluppando il mio sito web usando questi stack LAMP?

Sto per sviluppare un nuovo sito Web e voglio che utilizzi LAMP. Ma voglio sapere che differenza fa?

Perché lo stack LAMP ha aumentato la domanda nel mercato del lavoro rispetto a WAMP?

Modifica: Scusa se pensavo che la mia domanda stia creando confusione ... quindi ho messo la mia domanda in parole diverse come dovrebbero sapere di cosa e di tutte le aree di uno sviluppatore Linux e PHP? (Come solo i comandi di esso o qualcosa di avanzato)

Nota: I am newbie Linux

    
posta droidsites 12.11.2011 - 17:12
fonte

3 risposte

4

Per quanto riguarda il motivo per cui LAMP ha un mindshare più grande (se non una quota di mercato) rispetto a WAMP: probabilmente perché i componenti LAMP non hanno costi di licenza. Ciò rende l'avvio più economico. Hosting Linux a basso costo deve essere più economico di hosting Windows a basso costo solo per questo solo motivo. La natura libera / libera di LAMP consente di provarlo gratuitamente. Da lì, tutto il resto è un incidente storico, anche se IIS e Windows hanno storicamente avuto problemi di sicurezza sempre più gravi rispetto ad Apache e Linux.

Per quanto riguarda ciò che devi sapere come sviluppatore:

  1. Familiarità con la programmazione della shell.
  2. Almeno moderata capacità di usare a editor di testo, probabilmente vi o vim
  3. Familiarità con Linux di base comandi ls , ps . Non solo per eseguirli, ma per capirli, come trovare informazioni su di loro. ( man ls , man ps , le opzioni di tipo "--help").
  4. Familiarità con la vista dell'utente di un filesystem linux. Non solo cose come "hierachical", "single root", ma piuttosto dove potresti trovare i file di configurazione, dove vive HTML, dove vivono i file .php, cosa mostra in / proc /.
  5. Familiarità con l'interfaccia a riga di comando del database. "M" in LAMP è per "MySQL", ma PostgreSQL è comune.
  6. Una familiarità intimo con ssh , scp , sftp può essere d'aiuto.

Se hai hardware di ricambio, anche hardware di 5 o 6 anni, puoi installare facilmente qualcosa come la distro linux di Slackware. Insegnare e utilizzare Slackware ti insegnerà molto, la configurazione di Apache, MySQL e PHP ti insegnerà ancora di più.

    
risposta data 12.11.2011 - 19:32
fonte
1

Questa è una buona domanda e circola da un po '. La principale differenza tra Windows e Linux è che il filesystem di Linux è case sensitive. Questo può causare problemi con le persone che vanno da Windows a Linux, perché myPage.php e mypage.php sono due documenti diversi. Con linux puoi installare estensioni per ciò di cui hai bisogno e non per tutto. Generalmente linux ha un ingombro minore e puoi eseguire tecnicamente un server web su una macchina di 10 anni come se fosse nuovo di zecca.

Questo può essere ottenuto grazie a linux usando un'unità di swap che funziona in congiunzione con ram. Ciò consente al sistema di utilizzare lo spazio di disco rigido per attività di file semplici e di lasciare l'hardware per le attività di applicazione / processo (in generale).

Ma per quanto riguarda i requisiti tecnici dei programmatori varia in base all'azienda. Ho avuto aziende che volevano assicurarsi di poter programmare in loro e altre che volevano che io gestissi l'ambiente.

Un link a qualcuno che ha messo da parte le differenze può essere trovato qui: link

    
risposta data 12.11.2011 - 18:37
fonte
1

Come sviluppatore, l'abilità più importante su cui concentrarsi è lo sviluppo. Ci sono molte più differenze tra Linux e Windows rispetto alla distinzione tra maiuscole e minuscole. Un dev di LAMP dovrebbe avere un set di abilità di gestione del server strong, ma non sei un amministratore di sistema.

Un paio di obiettivi concreti: Essere a proprio agio sulla linea di comando è d'obbligo. Essere in grado di configurare, proteggere, configurare e distribuire un server web da zero nella distro * nix preferita dalla riga di comando. Una solida comprensione di come vengono gestiti i daemon del server e di come interagiscono tra loro fa molto per diagnosticare tutti i problemi. Essere in grado di impostare e modificare i record DNS e NS. Diventa comodo con un sistema di controllo della versione come svn o git.

Per quanto riguarda WAMP vs LAMP: beh, per prima cosa, le licenze di Windows costano denaro. E Windows è stato fornito con un server web integrato chiamato IIS da XP, che può essere configurato per eseguire PHP in ~ 3 clic, e poi c'è MSSQL e .NET, che - > ASP, e improvvisamente web dev è un gioco di palla completamente diverso. Perché, se stai per eseguire IIS, probabilmente hai un sacco di altri strumenti / suite specifici per Windows che vuoi eseguire (Exchange, AD, ecc.) Quindi probabilmente li stai eseguendo tutti su Windows Server 2008, non un sistema operativo desktop come Windows 7.

WAMP è principalmente lo sviluppo di sandbox localhost. Oserei dire che gli sviluppatori più esperti che eseguono Windows hanno * nix come dual boot o una macchina virtuale per scopi di sviluppo. Lavorare sulla riga di comando in Windows è un problema da configurare ed è alquanto maldestro, anche con PuTTY, Pageant, plink, ecc. Se le tue risorse lo consentono, configurare una macchina virtuale localmente su cui imparare potrebbe essere utile per te.

HTH. :)

    
risposta data 12.11.2011 - 19:45
fonte

Leggi altre domande sui tag