Så här installerar du Yii på Windows eller Mac

Vad du ska skapa

Vill du veta mer om Yii? Läsa Introduktion till Yii Framework och följ vår Yii Programmeringsserie.

Välkommen

I dagens handledning förklarar vi hur du installerar Yii i en lokal utvecklingsmiljö för både Windows och MacOS. För Windows-guiden kommer vi att lita på WAMP Server, en Windows-webbutvecklingsmiljö för Apache, PHP och Mac, och för Mac-guiden använder vi sin kusin, MAMP. Även om Rod använder WAMP i dagens handledning finns det också en Windows-version av MAMP.

Jag skriver Mac-delen av den här guiden, och min kollega Rod Ussing skriver Windows-sidan. Jag träffade Rod i gymnasiet i Kalifornien vid mitt andra programmeringsjobb, ett mycket stort hexadecimalt tal för år sedan. Han använder fortfarande Windows, men efter åtta års arbete på Microsoft och trött på att starta om systemet för att starta om Outlook, lämnade jag MacOS. 

Vad är Yii?

Yii är en otroligt pålitlig, väl utformad, högpresterande ram för PHP, eftersom Rails är för Ruby och liknar Laravel. Om du undrar om du kan bygga verkliga applikationer i Yii, kolla in mötesplanerare och vår bygga din start-serie.

  • Hur man programmerar med Yii2: Använd den avancerade applikationsmallen

    Låt oss utforska Yiis avancerade mall, som ger integrerad användarregistrering och registrering samt en back-end-webbplats för administrationsfunktioner.
    Jeff Reifman
    Yii
  • Bygg upp din start med PHP: Innehållsförteckning

    En guide till vår pågående serie om att starta eget företag och produkt med PHP. Här är vad som kan förväntas i kommande episoder. Kontrollera regelbundet för uppdateringar.
    Jeff Reifman
    Yii

Jag älskar kodning i Yii. Allting är snabbare och lättare för mig. Och det är relativt enkelt så långt som ramverk går (det är jag som kastar skugga på Rails).

Vi börjar med grunderna för vad som är unikt att installera Yii i macOS, och sedan gå vidare till Windows. Eftersom det som behövs för att slutföra installationen på varje plattform konvergerar beskriver vi de återstående instruktionerna i en enhetlig form för båda plattformarna. 

Välja mellan Yii Basic och Yii Advanced

Yii Basic är den enklaste formen av Yii. Du kan bygga alla typer av applikationer med det, men det är bäst för en enskild nivå, t.ex. en kund som står inför sidan.

Här är katalogstrukturen för en Yii Basic-applikation med bara en uppsättning kataloger för en enda applikation:

 tillgångar / innehåller tillgångsdefinitionskommandon / innehåller konsolkommandon (controllers) config / innehåller programkonfigurationer controllers / innehåller webbkontroller klasser mail / innehåller visningsfiler för e-postmodeller / innehåller modellklasser runtime / innehåller filer genererade under körtest / innehåller olika test för den grundläggande applikationsleverantören / innehåller beroendevisningar från tredje partens paket / innehåller visningsfiler för webbapplikationswebben / innehåller inmatningsskript och webbresurser

Yii 2 Advanced Project Template är bäst för att utveckla komplexa webbapplikationer med flera nivåer, till exempel frontänd, bakre ände och konsol, var och en är en separat Yii-applikation. Till exempel kan administrativa sidor köras i bakre änden, och cron-uppgifter kan köras i konsolmiljön.

Däremot är här katalogstrukturen för en Yii Advanced-applikation med flera nivåer:

common config / innehåller delade konfigurationer mail / innehåller visningsfiler för e-postmodeller / innehåller modellklasser som används i både backend och frontend test / innehåller test för vanliga klasser konsol config / innehåller konsolkonfigurationer controllers / innehåller console controllers (kommandon) migreringar / innehåller databasmigrationsmodeller / innehåller konsolspecifika modellklasser runtime / innehåller filer som genereras under runtime-backend-tillgångar / innehåller programtillgångar som JavaScript och CSS config / innehåller backend-konfigurationscontrollers / innehåller webbkontroller klassmodeller / innehåller backend-specifika modellklasser runtime / innehåller filer som genereras under körtesttest / innehåller test för backend-applikationsvyer / innehåller visningsfiler för webbapplikationswebben / innehåller inmatningsskript och webbresurser frontend-tillgångar / innehåller programtillgångar som JavaScript och CSS config / innehåller frontendkonfigurationskontrollers / innehåller webbkontroller klasser modeller / contai ns frontend-specifika modellklasser runtime / innehåller filer genererade under körtesttest / innehåller test för frontend-applikationsvyer / innehåller visningsfiler för webbapplikationswebben / innehåller inmatningsskript och webbresurser widgets / innehåller frontend widgets-leverantör / innehåller beroende tredje part paketmiljöer / innehåller miljöbaserade överskridanden

Varje nivå är en egen webbplats, men de kan enkelt dela kod och en gemensam databas om så önskas. Jag använder den här mallen i vår startserie. Yii Advanced ger också inbyggt konfigurationsstöd för olika miljöer, vilket gör teamutveckling enklare.

Förbereder macOS för Yii

Jag har kodat i Yii på macOS i flera år nu. Visst, det finns många olika sätt att köra en Apache, MySQL, PHP-miljö på en Mac, men jag föredrar MAMP.

Installera MAMP

I grund och botten, besök bara MAMP-webbplatsen och ladda ner macOS-paketet:

När du har laddat ner kan du dra paketet till tillämpningar mapp och dubbelklicka för att starta MAMP. Detta visar ett MAMP-fönster:

Konfigurera MAMP

Klick Inställningar att konfigurera de portar du vill ha servern på (jag använder 8888 för Apache):

Klick Webbserver att granska eller ändra katalog på din server. Jag använder Apache lokalt:

Installera kompositör på macOS

Yii2 kräver Composer, en populär dependence manager för PHP. Om du inte redan har Composer installerat gör du följande:

curl -s http://getcomposer.org/installer | php mv kompositör.phar / usr / local / bin / composer

Använd sedan Kompositör för att installera Yii2. Installationsförfrågan kräver att du använder dina egna GitHub-kontouppgifter registrera dig om du inte har ett konto.

Som Rod beskriver vidare nedan kräver installation av Yii komponentens tillgångs plugin:

kompositör globalt kräver "fxp / composer-asset-plugin: 1.0.0-beta2"

Han rekommenderar att du konfigurerar ett konto med GitHub och konfigurera en åtkomsttoken. Anledningen till detta är att under installationen av Yii kan antalet begäranden överstiga gränsgränsen för GitHub API, och kompositören kan sluta och begära in ditt GitHub inloggningsuppgifter för att få en GitHub API-åtkomsttoken under installationen. 

När du är klar kan du installera Yii. Vi använder Yii basic och installerar det i ~ / Sites / hello katalogen:

kompositör skapa projekt - föredra-dist yiisoft / yii2-app-basic hej

Skapa sedan en symlink för MAMP till din sajt-appkatalog:

cd / applikationer / MAMP / htdocs ln -s ~ / webbplatser / hej / / applikationer / MAMP / htdocs / hej

Om du väljer att installera Yii Advanced, kan det hjälpa till att aktivera och anpassa din virtuella värdfil:

$ nano /Applications/MAMP/conf/apache/httpd.conf # Virtuella värdar inkluderar /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

Nedan har jag konfigurerat frontend.dev och backend.dev för att kartlägga till en Yii Advanced install i ~ / Sites / yiiplus katalog som har en symbolisk länk i / Program / MAMP.

$ nano /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf NameVirtualHost *: 8888  ServerName frontend.dev DocumentRoot / Applications / MAMP / htdocs / yiiplus / frontend / web /  # använd mod_rewrite för ganska URL-stöd RewriteEngine on # Om en katalog eller en fil finns, använd begäran direkt RewriteCond% REQUEST_FILENAME! -f RewriteCond% REQUEST_FILENAME! -d # Annars vidarebefordra begäran till index.php RewriteRule. index.php # använd index.php som indexfil DirectoryIndex index.php # ... andra inställningar ...    ServerName backend.dev DocumentRoot / Applications / MAMP / htdocs / yiiplus / backend / web /  # använd mod_rewrite för ganska URL-stöd RewriteEngine on # Om en katalog eller en fil finns, använd begäran direkt RewriteCond% REQUEST_FILENAME! -f RewriteCond% REQUEST_FILENAME! -d # Annars vidarebefordra begäran till index.php RewriteRule. index.php # använd index.php som indexfil DirectoryIndex index.php # ... andra inställningar ...  

Om du väljer att använda Yii Advanced, uppmanar jag dig att även kolla in min handledning om detta, som erbjuder mer information.

Det är de plattformsspecifika stegen för macOS. Nu ska vi titta på förberedelserna för Yii på Windows. Senare återkommer vi för att slutföra konfigurationerna med steg som fungerar för båda plattformarna. Om du är strängt en macOS-användare, hoppa framåt till Slutför Yii-konfigurationen sektion.

Förbereder Windows för Yii

För Yii på Windows ska vi använda WAMP. För att börja, måste du ladda ner och konfigurera WAMP på din Windows-dator. För denna handledning kommer vi att installera WAMP på din lokala dator (vilken servern kommer att adressera som localhost). Om du vill installera på en Windows-tillverkningsserie måste du kontakta din leverantör för serverinformation och följa rekommendationerna för installation och konfiguration av WAMP Server eller en alternativ Apache, MySQL, PHP-stack för den omgivningen.

Installera WAMP

Eftersom fokuseringen av denna handledning är att installera Yii, föreslår vi att du konsulterar en av de många utmärkta existerande handledning som täcker installationen av WAMP; Du kommer bli förvånad över hur lätt det är. Eftersom det också är en PHP-applikation, är WordPress-guiden för att installera WAMP en bra utgångspunkt.

När vi har installerat och konfigurerat WAMP måste vi installera Kompositör, som är en dependence manager och installatör för PHP-projekt. Detta gör att vi kan komma igång med vår Yii-installation.

Installera kompositör på Windows

Även om du kan hämta Yii-paket från GitHub, använder vi kompositören i den här handledningen för att installera den. Om du inte är bekant med Kompositören kan du lära dig mer i den här handledningen.

Låt oss först gå till GitHub för att hämta och installera den senaste versionen av Composer-setup.exe, som vid denna tidpunkt är v4.5.0.

När installationen är klar är det en bra idé att logga ut och logga in igen för att vara säker på att alla filer är uppdaterade [Jeff här: eller köp en Mac].

Du kan kontrollera din installation genom att öppna kommandotolken och gå till:

cd \ Användare \ ditt-användarnamn

Ange följande kommando:

kompositör -V

Versionsinformationen för Kompositören ska då visas, något som:

Kompositör version 1.4.1 2017-03-10 09:29:45

Installera Asset Plugin Composer

För att hantera dina projekttillgångar i Composer .json, utan att behöva installera NPM eller Bower, måste du se till att kompositören har alla paket som behövs genom att köra installationskommandot för Composer Assets plugin.

Öppna kommandotolken i Windows och navigera till var din PHP-mapp finns. På denna installering finns PHP i katalogen wamp64 \ bin \ och det är PHP version 7.0.10, så vi skriver:

cd \ wamp64 \ bin \ php \ php7.0.10

Skriv sedan följande kommando:

kompositör globalt kräver "fxp / composer-asset-plugin: ^ 1.3.1"

Tänk på att programvaran ändras, så var noga med att kontrollera att du arbetar med den senaste stabila versionen. Var försiktig med betas eftersom om du får för långt ut på blödningskanten kan saker börja bryta.

För de mest aktuella versionerna av Kompositör och Kompositör Asset Plugin:

  • Kompositör
  • Komponenten tillgång plugin 

Konfigurera WAMP för din Yii-applikation

Nu, låt oss konfigurera WAMP för Yii. Ändra din katalog till WAMP-installationen \ www för den här installationen:

cd \ wamp64 \ www

I den här katalogen skapar vi en ny katalog med namnet Yii Basic genom att skriva:

mkdir yii-basic

Det är här vi ska installera Yii Basic. Du kan hoppa över det här steget och installera Yii direkt i www-katalogen, men skapa en tydligt namngiven katalog undviker förvirring, speciellt om du planerar att installera både Yii Basic och Yii avancerade mallar.

I den nya yii-basic-katalogen kör vi följande kommando för att installera Yii Basic Template:

kompositör skapa -projekt --prefer-dist --stability = dev yiisoft / yii2-app-basic yii-basic

Vi kan verifiera Yii genom att navigera till mappen "Grundläggande" i katalogen du skapade:

cd \ wamp64 \ bin \ www \

Nu skriver vi in ​​kommandot:

PHP yii tjäna

Detta kommer att starta Yii med WAMPs PHP-motor.

Konfigurera värdfilen i Windows

Om du vill anpassa de lokala webbläsaradresserna till din webbplats, eller hänvisa tydligt till framsidan och baksidan av Yii-Advanced-webbplatsen, behöver du göra lite mer.

Använd antingen textredigeraren Öppna fil dropdown eller genom att navigera direkt i Utforskaren, gå till filen:

C: \ WINDOWS \ system32 \ drivers \ etc \ värdar

Vi letar efter avsnittet som läser:

# localhost namnupplösning hanteras inom DNS själv. 127.0.0.1 localhost

För att förbereda Yii-Advanceds flera webbplatser, låt oss lägga till en för frontend och en för backend:

127.0.0.1 frontend.dev 127.0.0.1 backend.dev

Det kommer att se ut så här:

Du hittar mer om att hitta och konfigurera Windows Host-filen här.

Aktivera virtuella värdar i httpd.conf-filen

Det är en bra idé att kontrollera att virtuella värdar är aktiverade i Apache httpd.conf-filen.

Var mycket försiktig när du redigerar httpd.conf-filen - gör en kopia innan du börjar, och se till att du förstår vad du gör innan du gör ändringar, annars kan du enkelt förstöra din WAMP-server. [Jeff här, låter som Rod talar ur erfarenhet.]

För att hitta httpd.conf, skriv:

cd \ wamp64 \ bin \ apache \ apache2.4.23 \ conf

Jag gillar den här guiden för en mer detaljerad förklaring av redigering av httpd.conf för att aktivera funktioner relaterade till virtuella värdar i Apache och konfigurera virtuella värdar på WAMP.

Konfigurera virtuella värdar

Vi behöver nu konfigurera våra Apache Virtual Hosts. Med hjälp av vår textredigeringsmeny eller Windows Utforskare navigerar vi till följande katalog:

C: Wamp64 \ bin \ Apache \ apache2.4.23 \ conf \ extra \ httpd-vhosts.conf

Det borde redan finnas en virtuell värd för localhost, så nu måste vi lägga till Virtual Hosts för Yii frontend och Yii backend. Jag rekommenderar att du skriver namnet ovanför varje virtuell värd för att undvika förvirring. (Glöm inte att kommentera namnet!)

d.v.s.. #Frontend

Virtual Host-konfigurationsfilen ska se ut så här. 

I det här exemplet installerade vi Yii Advanced i c: / wamp64 / www / Yii-avancerad och skapade en applikation med namnet yii-applikation. Det är också okej att installera Yii i www så din väg kunde läsa mer enkelt c: / wamp64 / www / myapp / frontend / web.

Var uppmärksam på Document och Directory rader. De måste båda innehålla den fullständiga vägen till Yii-applikationskatalogen hela vägen till "web" -filen som ligger i respektive frontend- och backend-kataloger. Innehållet i DocumentRoot och Directory är identiskt förutom att sökvägen för katalog finns i citattecken.

Installera Yii-Advanced Mall för Windows

För att installera Yii avancerad mall, låt oss återvända till wamp64 \ www-katalogen:

cd \ wamp64 \ www

Nu ska vi skapa en ny katalog med namnet yii-advanced:

mkdir yii-advanced

I den nya katalogen kör vi följande kommando, som installerar Yii Advanced mallen:

komponent skapar projekt -prefer-dist yiisoft / yii2-app-avancerad yii-applikation

Hittills har installationen av Yii Basic och Yii Advanced varit detsamma. Nu måste vi lägga till några steg för att få din Yii Advanced Template redo för åtgärd.

Slutför Yii-konfigurationen

Steg för både Windows och Mac

Skapa MySQL-databasen

Om du antar att PHPmyAdmin är installerad på din WAMP-server (det ingår i MAMP), kan du faktiskt skapa databasen via PHPmyAdmin GUI, men vi kommer att ta hand om och använda SQL-kommandoraden, som ärligt talar inte mycket mer.

I kommandoraden Windows, navigera till MySQL-mappen genom att skriva:

cd \ wamp64 \ www \ bin \ mysql \ mysql5.7.14 \ bin

Du kan också göra detta från var som helst så länge som WAMP eller MAMP finns i din lokala miljöväg.

Sedan, för både Mac och Windows, skriv:

mysql -u rot-p

Detta kommer att föra oss till kommandoraden mysql. Nu ska vi utföra följande kommando i SQL:

skapa databas yii2test;

(Du kan namnge databasen vad du vill, förutsatt att du är säker på att du använder rätt namn under resten av processen.)

Nu ska vi skapa ett användarnamn och lösenord för den här databasen genom att skriva följande SQL-kommandon:

ALLA ALLA PÅ yiit2est. * Till 'ditt-användarnamn' @ 'localhost' IDENTIFIED BY 'your_chosen_password'; FLUSH PRIVILEGES; UTGÅNG;

Du kommer nu lämna MySQL och returneras till konsolkommandot.

Håll databas användarnamnet och lösenordet till hands eftersom vi behöver den för att konfigurera PHP-konfigurationsfilen (common / config / main-local.php), vilket gör det möjligt för Yii att kommunicera säkert med MySQL.

Initialisering av Yii Advanced Application

Detta är onödigt för Yii-basinstallationer.

För att initiera Yii avancerade måste vi navigera till Yii-Advanced-programmappen. I det här fallet skulle det vara:

cd \ wamp64 \ www \ yii-advanced \

Skriv sedan in i det:

Detta kommer att starta initieringsskriptet som kommer att fråga om du vill initiera Yii för en utvecklings- eller produktionsmiljö. sannolikt kommer det att se ut så här:

Vilken miljö vill du att applikationen ska initieras i? [0] Utveckling [1] Produktion 

För denna handledning ska vi arbeta i en utvecklingsmiljö, skriv in 0 och tryck på Enter, och skriv sedan "yes" (utan citat) när du blir ombedd och initieringen kommer att slutföras.

Vi är nästan färdiga - allt som återstår nu är några konfigurationssteg, och du kan komma till arbetsprogrammering med Yii.

Uppdaterar inställningarna för Yi-konfiguration

För Yii-basic redigerar du /yii-basic/config/db.ini. För, Yii-advanced, kommer du att redigera /yii-advanced/common/config/main-local.php.

För att redigera den här filen måste vi använda en textredigerare. Atom är ett utmärkt val som kommer att tjäna dig bra när du går in i mer avancerad kodning.

För att öppna konfigurationsfilen, använd antingen Öppna fil dropdown i textredigeraren eller navigera direkt till config-filen med Utforskaren och högerklicka Öppna med och välj din textredigerare. (I Windows kan du behöva köra textredigerare som admin.)

Följande exempel från den installation vi använder idag illustrerar denna process. Tänk på att du kanske använder en annan typbeteckning och har en lite annan väg beroende på vad du namngav dina mappar.

Konfigureringsfilen ska se ut så här:

Kom ihåg att ange samma användarnamn och lösenord som du använde för att konfigurera din Yii MySQL-databas, annars spelar Yii och MySQL inte bra ut!

Och snälla tänka inte ens på att använda din databas root användarnamn och lösenord i config-filen! [Jeff här ... verkligen, gör inte.]

Använda Yii Migrationsverktyget

Yii Advanced har egna migreringar. Nu när MySQL är upprättat behöver vi några tabeller. Yii-migranterna skapar tabeller och scheman i din MySQL-databas programmerat.

För att starta Yii-migreringsverktyget i Windows måste vi gå till vår Yii-installationskatalog genom att skriva:

cd \ wamp64 \ www \ yii-advanced \ yii-ansökan

Återigen kan du välja att installera det utan den moderkatalog som Rod skapade för den här demo. Till exempel använder jag för MAMP:

$ cd ~ / webbplatser / yii-advanced

Skriv nu följande kommando:

yii migrera

I ett ögonblick kommer du att bli ombedd om du vill "Använd ovanstående migration?"

Typ Ja och slå tillbaka. Om allt går bra får vi ett meddelande om att Yii migrerade framgångsrikt.

Besöker din Yii webbplats

Nu för sanningens ögonblick. När du besöker localhost: 8888 i din webbläsare bör du se

För Yii Advanced kan du behöva försöka frontend.dev eller inkludera frontänden eller baksidan, t.ex.. localhost: 8888 / frontend. Om du inte aktiverar din värdfil kan du komma åt Yii direkt via sökvägen, localhost: 8888 / web.

Om du installerade avancerad mall, gå till Bli Medlem länka och ange ett användarnamn, e-postadressen du vill använda och ett lösenord. 

Använd inte ditt MySQL-lösenord (det du skrev in i PHP-konfigurationsfilen). Det här är Yii användarkonto databasen med nya användarnamn och lösenord.

Din första användarregistrering är också Yii-programmets administrativa användare med tillgång till allt.

Nu när du är registrerad skriver du in i webbläsaren:

backend.dev

Du borde få en admin inloggningsskärm där du kan ange ditt nya användarnamn och lösenord:

Detta tar dig tillbaka till ovanstående Yii "Grattis"Sida men som en autentiserad användare.

Nu med alla grattis gå runt, varför inte gratulera dig själv som du bara har installerat Yii. Snyggt gjort. [Jeff här, om du gjorde det på Windows, gå och köp en Mac och prova den där.]

I stängning

Jag hoppas att vår handledning idag hjälper dig att komma igång med Yii. Rod och jag njöt av att skriva det här tillsammans.

Titta på kommande handledning i vår Programmering med Yii2-serien när vi fortsätter att dyka in i olika aspekter av ramen. Var noga med att kolla in vår Bygga din start med PHP-serien som använder Yii2s avancerade mall när vi bygger en verklig applikation.

Hur man programmerar med Yii: s Komma igång-episod gör ett bra jobb med att gå in i detaljer om att ställa in Yii Basic och en produktions Linux-server.

Om du vill veta när nästa Yii2 handledning kommer, följ mig @ reifman på Twitter eller kolla min instruktörssida. Min instruktörssida kommer att innehålla alla artiklar från denna serie så snart de publiceras. 

relaterade länkar

  • Yii Framework
  • Yii2 Developer Exchange
  • WAMP Server
  • MAMP