Aby uruchomić plik PHP, otwórz terminal w jego folderze i wpisz php index.php. PHP wykona plik i wypisze wynik w terminalu. Aby zobaczyć stronę PHP w przeglądarce, uruchom wbudowany serwer poleceniem php -S localhost:8000 i otwórz http://localhost:8000.
php index.php
Pierwszy index.php może mieć jedną linię. Kliknij Run: dokładnie to wypisuje php index.php.
Kod PHP zaczyna się po znaczniku <?php. Wszystko przed tym znacznikiem jest wypisywane jako zwykły tekst i właśnie tak PHP łączy kod z HTML.
Uruchamianie pliku PHP z wiersza poleceń
PHP CLI (interfejs wiersza poleceń) wykonuje skrypt raz i kończy działanie. Potrzebujesz zainstalowanego PHP; jeśli php -v zwraca błąd, zajrzyj najpierw do instalacji PHP.
cd ~/projects/hello
php index.php # run the file
php -l index.php # only check the syntax ("lint")
php index.php > out.txt # save the output to a file
php -l przydaje się przed wysłaniem pliku na serwer: zgłasza błąd parsowania z numerem linii albo wypisuje No syntax errors detected in index.php.
Przekazywanie argumentów przez $argv
Słowa po nazwie pliku trafiają do $argv. $argv[0] to zawsze nazwa samego skryptu, a $argc to liczba elementów razem z tą nazwą. Tutaj blok działa bez dodatkowych argumentów, więc jest tylko nazwa:
Na własnym komputerze php index.php Ada 3 wypisze powitanie trzy razy. Wartości zastępcze po ?? sprawiają, że skrypt działa, gdy brakuje argumentu. Dla nazwanych opcji, takich jak --name=Ada, użyj getopt:
<?php
// php index.php --name=Ada --verbose
$opts = getopt('', ['name:', 'verbose']);
echo "Hello, " . ($opts['name'] ?? 'world') . "\n";
if (isset($opts['verbose'])) {
echo "Verbose mode\n";
}
Uruchamianie PHP w przeglądarce przez php -S
PHP ma wbudowany serwer WWW do celów deweloperskich. Uruchom go w folderze ze swoimi plikami:
php -S localhost:8000
[Sat Oct 3 07:21:34 2026] PHP 8.3.19 Development Server (http://localhost:8000) started
Teraz http://localhost:8000/ uruchamia index.php, a http://localhost:8000/about.php uruchamia about.php. Każde wczytanie strony wykonuje plik od nowa, z query stringiem w $_GET. Poniższy blok działa tak samo: uruchom go, kliknij link, a skrypt wykona się ponownie z ustawionym $_GET['page'].
Przydatne opcje:
php -S localhost:8000 -t public # serve the public/ folder as the web root
php -S 0.0.0.0:8000 # reachable from other devices on your network
php -S localhost:8000 router.php # send every request through router.php
Wbudowany serwer obsługuje jedno żądanie naraz i jest przeznaczony wyłącznie do developmentu. Na produkcji PHP działa za Nginx albo Apache, zwykle przez PHP-FPM.
Sprawdzanie, jak skrypt został uruchomiony
PHP_SAPI mówi, które „server API” wykonuje skrypt: cli w terminalu, cli-server pod php -S, a fpm-fcgi lub apache2handler za prawdziwym serwerem WWW. Skrypty, które mają działać tylko z terminala, sprawdzają to na początku:
Jedna linia przez php -r
Do szybkiego testu nie potrzebujesz pliku. php -r wykonuje przekazany kod, bez znacznika <?php:
php -r 'echo date("Y-m-d"), PHP_EOL;'
php -r 'var_dump(0.1 + 0.2 == 0.3);'
W cmd na Windowsie umieść kod w podwójnych cudzysłowach, a w środku używaj pojedynczych. Dla kilku linii php -a otwiera powłokę interaktywną, w której każda instrukcja wykonuje się po naciśnięciu Enter.
Skrypt wykonywalny na macOS i Linuksie
Dodaj linię shebang przed <?php i oznacz plik jako wykonywalny. Linia shebang nie jest wypisywana:
#!/usr/bin/env php
<?php
echo "Backup started\n";
chmod +x backup.php
./backup.php
Tak uruchamia się skrypty PHP z crona: 0 3 * * * /usr/bin/php /home/me/backup.php.
Kody wyjścia skryptów
Skrypt wiersza poleceń zgłasza sukces lub porażkę przez kod wyjścia, który mogą sprawdzić skrypty powłoki i cron. exit(0) oznacza sukces, każda inna liczba oznacza błąd:
<?php
$file = $argv[1] ?? '';
if (!is_file($file)) {
fwrite(STDERR, "File not found: $file\n");
exit(1);
}
echo "Processing $file\n";
exit(0);
Częsty błąd: zły plik lub zły folder
Could not open input file: index.php oznacza, że PHP nie widzi pliku z miejsca, w którym jest terminal. Sprawdź bieżący folder przez pwd (albo cd na Windowsie) i albo przejdź przez cd do projektu, albo podaj pełną ścieżkę: php ~/projects/hello/index.php. Przy php -S błąd 404 dla strony, która na pewno istnieje, zwykle oznacza, że serwer uruchomiono w innym folderze; zatrzymaj go przez Ctrl+C i uruchom ponownie we właściwym miejscu albo wskaż folder przez -t. Gdy plik się wykonuje, ale pokazuje pustą stronę, włącz raportowanie błędów, aby zobaczyć, co poszło nie tak.
Najczęściej zadawane pytania
Jak uruchomić plik PHP w przeglądarce?
Uruchom wbudowany serwer w folderze z plikiem poleceniem php -S localhost:8000, a potem otwórz http://localhost:8000/yourfile.php. Otwarcie pliku prosto z dysku nie działa, bo nic nie wykonuje kodu PHP.
Jak przekazać argumenty do skryptu PHP?
Wpisz je po nazwie pliku: php report.php 2026 sales. W skrypcie $argv to tablica ['report.php', '2026', 'sales'], a $argc wynosi 3. Pierwszym elementem jest zawsze nazwa skryptu.
Jak uruchomić jedną linię PHP bez pliku?
Użyj php -r i pomiń znacznik <?php: php -r 'echo strtoupper("hi"), PHP_EOL;'. Dla kilku linii php -a otwiera powłokę interaktywną.
Jak sprawdzić, czy PHP działa z wiersza poleceń, czy na serwerze WWW?
Sprawdź PHP_SAPI (albo php_sapi_name()). W terminalu ma wartość "cli", pod php -S wartość "cli-server", a za serwerem WWW coś w rodzaju "fpm-fcgi" albo "apache2handler".