Sätta upp en utvecklingsmiljö för PHP

För att kunna skriva och testa PHP-kod behöver du en server, eller serverprogramvara, som kan köra (exekvera) PHP-kod.

Har du ett webbhotell som stödjer PHP, så kan du testa din kod på den servern, men jag rekommenderar att du istället installerar en utvecklingsmiljö på din egna dator. Det är aldrig bra att testa saker på en ”riktig” server utan det är bättre att testa på sin egna dator.

Risken finns att man råkar skriva en funktion som fortsätter att loopa i all evighet och även om detta kanske inte sänker servern, så drar det enormt med prestanda och i värsta fall slutar servern att svara. Det säger sig självt att det är bättre att sänka sin egna dator än en publik server.

Det finns förstås flera olika lösningar för hur man sätter upp en utvecklingsmiljö med webbserver och MySql på sin egna dator, men jag har valt att använda mig av XAMPP och det är installationen av den som vi ska gå igenom i det här kapitlet.

XAMPP är ett programpaket som består av bland annat webbservern Apache och databasmotorn MySql. Apache är själva webbservern som levererar sidorna till besökaren och MySql sköter allt som har med databasen att göra.

Namnet XAMPP är en förkortning för:

  • X som i Cross-plattform
  • Apache
  • MySql
  • PHP
  • Pearl

Börja med att ladda ner och installera senaste versionen av XAMPP från exempelvis http://sourceforge.net/projects/xampp/files/latest/download?source=dlp

I skrivande stund är senaste versionen av XAMPP 1.7.4 och installationen brukar gå så smärtfritt, så jag bryr mig faktiskt inte om att gå igenom den. För ganska exakt ett år sedan skrev jag ett inlägg om att installera en egen webbserver med Apache, MySql och PHP på sin egna dator med hjälp av XAMPP och den är nog hyfsat aktuell ännu.

Skulle du stöta på problem, så föreslår jag att du googlar på problemet eller så kan du kontakta mig genom att lämna en kommentar här nedan, men bäst och snabbast svar får du garanterat genom att använda Google.

När installationen är slutförd och du startat XAMPP Control Panel Application, så kan du öppna en ny flik eller ett nytt fönster i din webbläsare och slutföra installationen genom att ange språk.

Efter att du valt språk kan du kontrollera statusen.

Kontrollera statusen för XAMPP

Kontrollera statusen för XAMPP

Om allt fungerar som det ska, så bör du ha ungefär samma information som här ovan.

Om du inte gjorde några ändringar i sökvägen för vart XAMPP skulle installeras, så installerades det under C:\xampp.

Skapa en ny underkatalog under xamp-katalogen med namnet ”gustbook” och i denna katalog skapar du en ny textfil som du ger namnet ”index.php”. Observera att den inte ska ha filtillägget ”.txt”.

Öppna därefter ”index.php” med valfri texteditor och skriv in följande rader.


<?php
 echo "Hej världen!";
?>

Spara filen och öppna sedan http://localhost/guestbook för att testa om PHP-koden exekveras som den ska.

Om du får upp en vit sida med texten ”Hej världen!” högst upp till vänster, så fungerar allt som det ska och vi är redo att fortsätta till nästa steg – att skapa en MySql-databas och en tabell.

Föregående kapitel | Nästa kapitel

Innehållsförteckning

15 kommentarer

  • harry

    vad hände med fler kapitel?

  • Jag tappade suget och har länge funderat på att ta bort alltihop, men bestämde mig ändå för att låta det vara kvar.

    Får jag inte tillbaka suget snart, så tar jag bort det eftersom det skapar väldigt mycket frustration att hitta en påbörjad guide och inget mer.

    Ber om ursäkt för det.

  • Nu är åtminstone nästa kapitel upp och även om det är mycket kvar, så är det åtminstone ett steg i rätt riktning.

    http://www.spix.nu/grundkurs-i-php-pa-svenska/skapa-en-mysql-databas-och-en-tabell/

  • Steffe

    Hej Juri! Hittade dig på internet i kväll när jag sökte på PHP. Jag håller just nu på med att ladda hem XAMPP. Är det OK att häva blockering mot min brandvägg för detta program?

  • Steffe

    Hej igen! Jag hävde blockeringen och laddade hem programmet. Jag fick denna information när jag startade controlpanelen:
    22:28:08 [main] Initializing Control Panel
    22:28:08 [main] Windows Version: Windows Vista Home Premium SP2 64-bit
    22:28:08 [main] XAMPP Version: 1.8.3
    22:28:08 [main] Control Panel Version: 3.2.1 [ Compiled: May 7th 2013 ]
    22:28:08 [main] Running with Administrator rights – good!
    22:28:08 [main] XAMPP Installation Directory: ”c:\xampp\”
    22:28:08 [main] Checking for prerequisites
    22:28:10 [main] All prerequisites found
    22:28:10 [main] Initializing Modules
    22:28:10 [Apache] Problem detected!
    22:28:10 [Apache] Port 80 in use by ”C:\Program Files (x86)\Skype\Phone\Skype.exe” with PID 3956!
    22:28:10 [Apache] Apache WILL NOT start without the configured ports free!
    22:28:10 [Apache] You need to uninstall/disable/reconfigure the blocking application
    22:28:10 [Apache] or reconfigure Apache and the Control Panel to listen on a different port
    22:28:10 [Apache] Problem detected!
    22:28:10 [Apache] Port 443 in use by ”C:\Program Files (x86)\Skype\Phone\Skype.exe” with PID 3956!
    22:28:10 [Apache] Apache WILL NOT start without the configured ports free!
    22:28:10 [Apache] You need to uninstall/disable/reconfigure the blocking application
    22:28:10 [Apache] or reconfigure Apache and the Control Panel to listen on a different port
    22:28:10 [main] Starting Check-Timer
    22:28:10 [main] Control Panel Ready

    Vad gör jag nu?

  • Det verkar fortfarande finnas en brandvägg som blockerar en eller flera portar, så försök öppna upp åtminstone port 80 som är standardporten för webbservern.

  • Steffe

    Hej Juri!

    Det var lättare sagt än gjort. Gjorde så här för att öppna port 80.
    Jag följde anvisningarna på denna sida: http://windows.microsoft.com/sv-se/windows/open-port-windows-firewall#1TC=windows-vista

    Men jag får fortfarande felmeddelande på [Apache]
    Verkar som Mitt Skype har tagit den porten till sin.

    22:58:12 [main] Initializing Control Panel
    22:58:12 [main] Windows Version: Windows Vista Home Premium SP2 64-bit
    22:58:12 [main] XAMPP Version: 1.8.3
    22:58:12 [main] Control Panel Version: 3.2.1 [ Compiled: May 7th 2013 ]
    22:58:12 [main] You are not running with administrator rights! This will work for
    22:58:12 [main] most application stuff but whenever you do something with services
    22:58:12 [main] there will be a security dialogue or things will break! So think
    22:58:12 [main] about running this application with administrator rights!
    22:58:12 [main] XAMPP Installation Directory: ”c:\xampp\”
    22:58:12 [main] Checking for prerequisites
    22:58:12 [main] All prerequisites found
    22:58:12 [main] Initializing Modules
    22:58:12 [Apache] Problem detected!
    22:58:12 [Apache] Port 80 in use by ”C:\Program Files (x86)\Skype\Phone\Skype.exe” with PID 3904!
    22:58:12 [Apache] Apache WILL NOT start without the configured ports free!
    22:58:12 [Apache] You need to uninstall/disable/reconfigure the blocking application
    22:58:12 [Apache] or reconfigure Apache and the Control Panel to listen on a different port
    22:58:12 [Apache] Problem detected!
    22:58:12 [Apache] Port 443 in use by ”C:\Program Files (x86)\Skype\Phone\Skype.exe” with PID 3904!
    22:58:12 [Apache] Apache WILL NOT start without the configured ports free!
    22:58:12 [Apache] You need to uninstall/disable/reconfigure the blocking application
    22:58:12 [Apache] or reconfigure Apache and the Control Panel to listen on a different port
    22:58:12 [main] Starting Check-Timer
    22:58:12 [main] Control Panel Ready
    23:00:10 [Apache] Problem detected!
    23:00:10 [Apache] Port 80 in use by ”C:\Program Files (x86)\Skype\Phone\Skype.exe” with PID 3904!
    23:00:10 [Apache] Apache WILL NOT start without the configured ports free!
    23:00:10 [Apache] You need to uninstall/disable/reconfigure the blocking application
    23:00:10 [Apache] or reconfigure Apache and the Control Panel to listen on a different port
    23:00:10 [Apache] Problem detected!
    23:00:10 [Apache] Port 443 in use by ”C:\Program Files (x86)\Skype\Phone\Skype.exe” with PID 3904!
    23:00:10 [Apache] Apache WILL NOT start without the configured ports free!
    23:00:10 [Apache] You need to uninstall/disable/reconfigure the blocking application
    23:00:10 [Apache] or reconfigure Apache and the Control Panel to listen on a different port
    23:00:10 [Apache] Attempting to start Apache app…
    23:00:10 [Apache] Status change detected: running
    23:00:12 [Apache] Status change detected: stopped
    23:00:12 [Apache] Error: Apache shutdown unexpectedly.
    23:00:12 [Apache] This may be due to a blocked port, missing dependencies,
    23:00:12 [Apache] improper privileges, a crash, or a shutdown by another method.
    23:00:12 [Apache] Press the Logs button to view error logs and check
    23:00:12 [Apache] the Windows Event Viewer for more clues
    23:00:12 [Apache] If you need more help, copy and post this
    23:00:12 [Apache] entire log window on the forums
    23:00:31 [mysql] Attempting to start MySQL app…
    23:00:32 [mysql] Status change detected: running
    23:00:59 [filezilla] Attempting to start FileZilla app…
    23:00:59 [filezilla] Status change detected: running
    23:01:08 [mercury] Attempting to start Mercury app…
    23:01:09 [mercury] Status change detected: running
    23:01:20 [Tomcat] Attempting to start Tomcat app…
    23:01:34 [Tomcat] Status change detected: running

  • Steffe

    Hej igen Juri!

    Var tvungen att stänga ner min Skype, då gick det att starta Apache:
    Så nu fungerar XAMPP som den ska tror jag..
    Så nu fortsätter jag efter dina instruktioner…

    Mvh Steffe

  • Steffe

    Hej Juri! Jag igen…
    Gick vidare och Skapade en ny underkatalog under xamp-katalogen med namnet ”gustbook” och i denna katalog skapar du en ny textfil som du ger namnet ”index.php”. Observera att den inte ska ha filtillägget ”.txt”.

    Öppnade därefter ”index.php” med valfri texteditor och skriv in följande rader.

    Spara filen och öppna sedan http://localhost/guestbook för att testa om PHP-koden exekveras som den ska.

    Men det gör den inte, får istället ett nytt felmeddelande:
    Objektet hittas ej!

    Den efterfrågade adressen hittades inte på denna server. Om du skrev in adressen manuellt så kontrollera din stavning och försök igen.

    Om du tror att detta beror på ett serverfel, vänligen kontakta webbansvarig.

    Error 404

    localhost
    Apache/2.4.7 (Win32) OpenSSL/1.0.1e PHP/5.5.9

  • Det är ett tag sedan jag använde XAMPP, men jag läste igenom guiden jag skrev för ett par år sedan och då skulle man skapa sin ”webbkatalog” under ”X:\xampp\htdocs\NYKATALOG” där X är disken där XAMPP installerades.

  • Steffe

    Hej Juri!

    Jag gör bara exact som du skrivit i dina instruktioner.
    Nu ändrade jag och gjorde som du säjer i ditt senaste meddelande och då händer det nya saker.

    Index till C:\xampp\htdocs\guestbook\
    Namn Storlek Datum ändrad
    [överordnad katalog]
    index.php 44 B 2014-07-19 11:29:45

    Jag kommer fram MEN jag måste trycka på index.php filen för att den ska visa detta:

    Varför vill den inte visa den på en gång?

    Mvh Steffe

  • Vad händer om du skriver in adressen http://localhost/guestbook/ i webbläsaren? Listas filen(erna) i katalogen eller körs index.php och resultatet visas?

    Om filerna visas och du klickar på index.php, vad händer då? Ser du din php-kod eller exekverar servern filen och visar resultatet?

    Om filen inte exekveras av servern, så är något fel. Om filen exekveras korrekt när du klickar på den, så är inte index.php standardfilen som körs i kataloger, en inställning någonstans i Xampp.

  • Steffe

    Datorn säjer den här webbsidan är inte tillgänglig….

  • Steffe

    Men om jag skriver
    C://xampp/htdocs/guestbook/index.php
    i webbläsaren, så visas den som den ska.

  • Steffe

    Hej Juri!

    Glömde säja att jag kör Vista, verkar vara Windows sämsta system tyvärr.

    Googlade fram två trådar på mitt problem, men jag förstår inte.

    http://www.phpportalen.net/viewtopic.php?p=660386&sid=ed144159aa6eec4d758c05e75b962771

    http://bytes.com/topic/asp-net/answers/645776-http-localhost-not-resolving-vista-ultimate

Lämna ett svar till Juri Salminen

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.