Aktivera cURL i Apache

» »

Aktivera cURL i Apache

Publicerad i Ubuntu + Server + Apache + Windows den

Verktyget cURL används för att hämta data från exempelvis webbplatser på internet, men det finns inte i Apache från början — så här kommer du igång.

Att använda cURL i PHP-skript handlar ofta om att man vill hämta hem data, exempelvis ladda hem filer eller kommunicera med ett API, och skräddarsy den kommunikationen mer än att bara använda det traditionella kommandot file_get_contents().

cURL finns dock inte installerat när Apache är nyinstallerat, och om så är fallet möts man av följande felmeddelande i PHP;

Call to undefined function curl_init()

Att komma till rätta med problemet är enkelt, men tillvägagångssättet skiljer sig lite åt beroende på om du har din Apacheserver i Windows- eller Linuxmiljö.

Här nedanför följer steg för steg-anvisningar för både Linuxmiljö — i det här fallet Ubuntu — samt Windowsmiljö.

Aktivera cURL i Windows

Om du använder Apache på en Windows-server är det en .ini-fil du behöver konfigurera. Öppna php.ini-filen på Windows-servern och leta upp följande rad:

;extension=php_curl.dll

Ta därefter bort det semikolon — alltså tecknet ; som står först på raden — som innebär att PHP ignorerar insticksmodulen php_curl.dll. Spara dina ändringar i filen php.ini och stäng filen.

Nästa gång Apachetjänsten på Windows-servern startas om kommer nu cURL-insticksmodulen att läsas in och gå att använda.

Installera cURL i Linux

Om du istället har en Apache-server i Linuxmiljö, exempelvis med den populära distributionen Ubuntu, finns insticksmodulen för cURL inte installerad från början.

För att installera cURL-paketet i Ubuntu (och även andra Linuxdistributioner, men tillvägagångssättet kan variera lite) skriver du helt enkelt följande i terminalen;

sudo apt-get install php-curl

Nödvändiga filer laddas hem och du får en fråga om du vill gå vidare med installationen. Svara ja (Yes) på frågan om du önskar installera curl-paketet i din Ubuntu-installation, och vänta därefter till dess att installationen gått klart.

Så snart filerna har installerats behöver du ladda om modulerna som Apache använder i din Ubuntumiljö. Det gör du enkelt med följande kommando;

sudo service apache2 reload

Nu är du klar med aktiveringen av cURL i Apache på Ubuntu!

Visa felkoder i PHP

Normalt sett visas det inga felkoder i PHP, vilket gör att det kan vara krångligt och svårt att felsöka varför PHP-skriptet inte fungerar — oftast visas det bara en helt blank sida när det gått fel.

Det fungerar så för att skydda din server och din kod; det ska inte skrivas ut till dina besökare vilka fel du har i din kod eller vilken version av PHP eller MySQL du har på din server — dels ser det inte snyggt ut, och dels ger det en möjlighet att utnyttja eventuella säkerhetshål i din kod.

Detta kan dock leda till att du faktiskt inte ser vilket fel du har på din webbplats när du försöker utveckla, förutom om du inte går in och tittar i webbserverns logg för felkoder. Detta kan kännas mödosamt och krångligt, och ett enklare sätt är då att aktivera visningen av fel i PHP.

Lägg in följande kodrader i början av ditt PHP-skript;

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

När du sedan laddar om PHP-skriptet kommer alla varningar att skrivas ut på sidan, och du får enklare att felsöka det som inte fungerar.

Än en gång; tänk på att aldrig visa felkoder i PHP för dina besökare. Du bör därför alltid ha felrapporteringen avstängd i PHP, förutom när du aktivt felsöker fel i din kod. Du kan då slå på den endast för dig själv, exempelvis genom att lägga en sträng i $_GET — alltså värden som du skriver efter ? i din URL — där du triggar visningen av felkoder.

Ett exempel kan vara följande;

https://domän.se/index.php?felkoder=hemligtext

Du kan därefter validera detta högst upp i din egen kod;

if ($_GET['felkoder']=='hemligtext') {
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL);
}

Därefter aktiveras felrapporteringen i PHP bara för den som kan den valideringskod du valt för strängen felkoder. Ett enkelt och smidigt sätt att felsöka på egen hand, utan att behöva gå in i serverns loggar och leta efter felkoder.


Detaljer

Populära inlägg

Här hittar du de mest besökta artiklarna den senaste tiden.

Populära tjänster

Webbhotell

Inleed Special

29 kr / mån

  • Utrymme: 10 GB
  • Trafikmängd: 250 GB
  • Gratis SSL-certifikat: Ja
  • Startavgift: 0 kr

Virtuell server

Inleed VPS #1

199 kr / mån

  • Antal CPU-kärnor: 1 st
  • Minne: 8 GB
  • Utrymme: 100 GB
  • Trafikmängd: 3000 GB

Dedikerad server

Inleed Server #1

499 kr / mån

  • Antal CPU-kärnor: 2 st
  • Minne: 8 GB
  • Utrymme: 500 GB
  • Trafikmängd: 3000 GB

Backuphantering

Inleed Backup 100

19 kr / mån

  • Utrymme: 100 GB
  • Trafikmängd: 3000 GB
  • Startavgift: 0 kr

Domänhantering

Inleed DNS

0 kr / mån

  • Antal domännamn: Obegränsat

Co-location

Inleed Rackserver 1U

299 kr / mån

  • Trafikmängd: 3000 GB
  • Anslutning: 1000 Mbit/s
  • Reservström: UPS + Diesel
  • Startavgift: 0 kr

VPN-tjänster

NordVPN

33 kr / mån

  • Anslutningar: 6 st
Bäst webbhotell just nu
VPN-tjänster Pris Anslutningar
OVPN 49 kr 4 st
Inleed VPN 29 kr 2 st
NordVPN 33 kr 6 st
Ivacy VPN 22 kr 10 st

Vill du ha hjälp?

Ibland kan det vara svårt att göra ett val. Har du fortfarande inte hittat den information du söker, eller undrar du över något som saknas på sidan? Hör av dig till oss så hjälper vi dig!

Kontakta oss