PHP Version Konflikt: Løsning på Forskellige Versioner i phpinfo() og Terminal

Hvordan kan det være, at phpinfo() viser PHP version 5.6.10, mens terminalkommandoerne php -i og php -v viser PHP version 5.3.2, og hvilken version af PHP anvendes reelt?

Præmissen om forskellen mellem phpinfo() og terminalkommandoerne skyldes sandsynligvis forskellige PHP-installationer, PHP CLI vs. PHP CGI/FPM, miljøvariabler og PATH, eller konfigurationsfiler. Den reelle PHP-version, som webserveren anvender, kan verificeres ved at oprette en PHP-fil med phpinfo() og åbne den i en webbrowser.

Hvorfor viser phpinfo() PHP version 5.6.10, mens terminalkommandoerne php -i og php -v viser PHP version 5.3.2, og hvilken version af PHP anvendes reelt?

Der kan være flere årsager til, at phpinfo() og terminalkommandoerne php -i og php -v viser forskellige PHP-versioner. Her er nogle mulige forklaringer:

  • Forskellige PHP-installationer: Det er muligt, at der er flere PHP-versioner installeret på systemet. Webserveren (f.eks. Apache eller Nginx) kan være konfigureret til at bruge en anden PHP-version end den, der er standard i terminalen.
  • PHP CLI vs. PHP CGI/FPM: PHP kan køre i forskellige tilstande. Terminalkommandoerne bruger PHP CLI (Command Line Interface), mens webserveren typisk bruger PHP CGI (Common Gateway Interface) eller PHP-FPM (FastCGI Process Manager). Disse kan være konfigureret til at bruge forskellige PHP-versioner.
  • Miljøvariabler og PATH: Terminalen kan være konfigureret med en bestemt PATH, der peger på en ældre PHP-version. Webserveren kan have en anden konfiguration, der peger på en nyere version.
  • Konfigurationsfiler: PHP-versionen, der bruges af webserveren, kan være specificeret i webserverens konfigurationsfiler (f.eks. httpd.conf for Apache eller nginx.conf for Nginx). Disse indstillinger kan overskrive systemets standard PHP-version.

For at finde ud af, hvilken PHP-version der reelt anvendes af webserveren, kan du gøre følgende:

  1. Opret en PHP-fil med følgende indhold og placer den i webserverens rodmappe:
    <?php phpinfo(); ?>
  2. Åbn filen i en webbrowser (f.eks. http://yourdomain.com/phpinfo.php).
  3. Kontroller den PHP-version, der vises på phpinfo()-siden. Dette er den version, som webserveren reelt anvender.

For at sikre, at terminalen bruger den samme PHP-version som webserveren, kan du opdatere PATH-miljøvariablen eller ændre PHP-konfigurationen i terminalen til at pege på den samme PHP-binærfil, som webserveren bruger.