Domanda

In pochi mesi inizio un progetto in PHP e esito a fare come al solito: sviluppo sul mio computer con Windows Vista a 64 bit. Dato che conosco poche cose su Linux, penso che possa essere un buon modo per imparare lavorando su una distribuzione Linux.

Pensi che sia una buona idea o no? Avrei eseguito un VirtualBox con Ubuntu (sul mio Vista64bits). Stavo pensando di installare XAMPP per poterlo sviluppare in PHP.

Se pensi che sia una buona idea, non esitare a suggerirmi un tutorial su cosa dovrei sapere con Virtualizzare un sistema operativo o Linux / dev.

Aggiorna Ho creato molti siti Web in PHP con Windows, la domanda è più se è un buon modo per iniziare ad imparare Linux sviluppandoci su di esso tramite una macchina virtuale? Ho 4 concerti, sarà fluido se installo Eclipse nella macchina virtuale? ecc.

È stato utile?

Soluzione

Dovresti davvero sviluppare sulla stessa piattaforma in cui stai per implementare. Non sto dicendo che è male fare diversamente, ma a lungo termine può farti risparmiare un po 'di dolore. OTOH, potresti imparare più velocemente sulle differenze della piattaforma in questo modo. Quindi, la domanda principale è: vuoi avere un sistema di produzione che esegue ASAP senza troppi mal di testa? Oppure, vuoi passare un po 'di tempo e fare qualche sforzo per imparare a sviluppare cose multipiattaforma?

E sì, ci sono differenze. Ad esempio, nomi di file con distinzione tra maiuscole e minuscole. Quindi, alcune funzioni PHP usano funzioni C native che hanno un'implementazione diversa. Ad esempio, printf () non produce la stessa quantità di spazio bianco per alcuni dei tipi. La risoluzione della misurazione del tempo (millisecondi vs microsecondi) può essere diversa, ecc. Quindi, si hanno diversi modi in cui vengono gestite le autorizzazioni del filesystem. Questi sono solo alcuni dei problemi recenti che ho scoperto che posso ricordare dalla cima della mia testa.

Altri suggerimenti

PHP dovrebbe essere lo stesso su qualsiasi piattaforma, quindi dove che sviluppi non dovrebbe importare.

Tuttavia, nella mia esperienza e osservazione, più siti che eseguono PHP sono in esecuzione su Linux rispetto a Windows.

Ottenere Apache e PHP su qualcosa come Ubuntu o Fedora è un gioco da ragazzi, e testare tutto è anche abbastanza semplice.

Inoltre, quando vai in diretta con il tuo sito, su quale piattaforma funzionerà? Preferisco fare lo sviluppo sulla piattaforma su cui verrà eseguita quando possibile.

Personalmente, non penso che per la produzione locale dovresti usare una VM. Vuoi eseguire il tuo IDE anche nella VM?

Se sei abbastanza consapevole delle insidie ??dello spostamento tra ambienti Windows e Linux (come la distinzione tra maiuscole e minuscole e le autorizzazioni), non dovresti avere problemi a sviluppare su Windows e distribuire su Linux.

Lavorare su una distribuzione Linux è sicuramente il modo più semplice per impararlo. E impostare alcuni server e svolgere alcuni lavori di sviluppo è un ottimo inizio.

Virtualizzare Linux è anche molto semplice. L'ho fatto un paio di volte ed è davvero ossessivo. Inoltre, andare in questo modo ti faciliterà l'uso di Linux, molto meglio che saltare semplicemente e scoprire che la tua scheda wireless non è supportata come ho fatto io :)

Per quanto riguarda lo sviluppo di PHP su Linux ... Ho fatto un po 'di codice PHP su Windows e su Linux e posso dire che c'è poca differenza tra i due. Uso Eclipse su entrambe le piattaforme e Apache & amp; MySQL / XAMPP. L'unica grande differenza che ho visto è che Linux è molto più schizzinoso riguardo alle autorizzazioni e al caso.

PHP è non lo stesso su tutte le piattaforme e fino a poco tempo fa le versioni di Windows avevano problemi che non si trovavano nelle versioni di Linux. Molte funzioni utili sono specifiche di * nix.

Vorrei fare eco ai sentimenti di @ Milan sullo sviluppo nell'ambiente di distribuzione. In questo modo si impara molto di più sull'ambiente di distribuzione.

Sul problema della VM, se vuoi tutti i tuoi strumenti Windows e la tua macchina Windows, imposta un server linux nella tua VM (puoi avere una GUI se vuoi, ma lo farai principalmente usalo come server). Impostalo in modo che Windows possa visualizzare l'installazione di Apache in esecuzione nella tua VM e usi le condivisioni samba per accedere ai file di VM come un'unità in Windows. In questo modo, si sviluppa in Windows ma si sta testando la distribuzione / installazione su un server Linux in esecuzione. Mentre due sviluppatori nel mio negozio eseguono Ubuntu, un terzo deve utilizzare Photoshop e vari altri bit di software Windows per tutto il tempo, quindi utilizza questo metodo per eseguire un server in una VM ma svilupparsi da Windows.

Oh, e se stai usando Linux, non usare XAMPP! Alcuni semplici comandi ti metteranno in funzione e otterrai una comprensione molto migliore della tua distribuzione. XAMPP va bene, ma è per i sistemi operativi che non hanno la gestione dei pacchetti di Linux.

mentre XAMPP funziona benissimo, con Apache e PHP su Linux è un dato di fatto; mentre su Windows è qualcosa in più che devi fare ... e supporto. Inoltre, la maggior parte delle parti dello stack sono molto più ottimizzate e mature per un ambiente POSIX. Le prestazioni dei motori di database sono particolarmente sensibili alle primitive disponibili.

La maggior parte degli OSS funziona su Windows, ma è un piolo circolare martellato su un foro quadrato.

In linea di principio, vorrei sconsigliare " l'apprendimento facendo " in un vero progetto - a meno che non sia davvero piccolo, o non abbiate già fatto progetti molto simili prima, in modo che la curva di apprendimento su questioni relative al progetto non sia ripida. In tal caso, potresti avere risorse gratuite per conoscere l'ambiente di sviluppo.

In genere mi piace l'ambiente Linux meglio di Windows. Principalmente perché vengono forniti tutti gli strumenti dell'interfaccia della riga di comando necessari e Bash batte cmd.ext in qualsiasi momento. Ma con Cygwin trovo anche Windows un ambiente di sviluppo confortevole.

Per quanto riguarda lo sviluppo di PHP, non riesco davvero a vedere come sarebbe molto diverso. Forse c'è qualche vantaggio nell'essere costretti a rendere il codice più portatile (cose come la fine della linea, le barre in avanti nei nomi dei file e simili) se usi i sistemi di stand.

Come desktop o workstation non c'è molta differenza tra i due. Trovo che le maggiori differenze risiedano nel modo in cui le gestisci, ma spero che tu abbia altre persone che lo fanno per te.

Secondo me non è necessario svilupparsi in una distribuzione Linux. Lo sviluppo Web può essere eseguito da qualsiasi sistema operativo. Non lo so, perché stai programmando per il web ... come professionista? per la tua homepage personale? Penso che sia abbastanza per avere un po 'di spazio web gratuito che esegue un server PHP e caricare i tuoi file lì ... non ci vuole molto tempo e ci sono meno cose da gestire.

uno studente tedesco;)

Utilizza il sistema operativo in esecuzione sul tuo server di distribuzione ed è altamente probabile che sia Linux. Recentemente ho visto uno schieramento andato molto male perché è stato sviluppato usando wampserver e distribuito su CentOS. Con grandi differenze nella configurazione di apache e PHP. Quindi conosci il tuo server di distribuzione e abbinalo il più vicino possibile.

Prova a creare un ambiente di sviluppo usando VmWare Player. Ho diversi ambienti Linux che eseguo sul mio laptop Vista. Potresti anche eseguire il dual boot. Uso Ubuntu, è facile.

L'effetto collaterale dello sviluppo all'interno di una VM: più sovraccarico ed eventualmente necessità di strumenti aggiuntivi per rendere più confortevole lo sviluppo. Spesso le persone hanno bisogno di strumenti speciali per il loro sviluppo come Photoshop o alcuni strumenti di disegno vettoriale non disponibili su Linux. Se la copia di lavoro del progetto si trova all'interno della VM, è logico accedervi facilmente. Quindi imposterai SAMBA (che spesso crea problemi con l'accesso da XP) o imposterai SSL (SFTP) / FTP. Inoltre, è necessario imparare come utilizzare la rete con la VM (NAT, bridging, port forwarding).

Dall'altro lato, svilupparsi su un'altra piattaforma come bersaglio può dare qualche mal di testa. Mi sono trovato spesso confuso con i file .htaccess per la protezione con password, a causa spesso del diverso percorso su Windows / Linux. Se si dimentica di modificare queste voci in un secondo momento sul server di produzione, si verifica un problema ...

Una soluzione migliore: usa il meglio dei due mondi. Una macchina virtuale alla fine gira senza testa (niente gui, più come un "server remoto") con Ubuntu / Debian / FreeBSD) e esegue solo i server necessari (Apache, MySQL, FTP, SSH ...).

Eclipse o gli altri strumenti di sviluppo su Windows / Mac.

5 anni dopo: la mia opinione è di usare la soluzione Linux. Ci sono molti vantaggi nell'uso di PHP in Linux. Il motivo principale è il livello di aiuto disponibile dalla comunità. PHP sembra essere ottimizzato anche per ambienti Linux.

C'è anche sicurezza nei numeri poiché un numero schiacciante di siti è ospitato e gestito con soluzioni LAMP. Esistono numerosi framework e CMS che funzionano al meglio su Linux con Apache2.

Semplifica la tua vita e inizia subito ad imparare PHP.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top