Menu

Cara Menjalankan File PHP: Command Line dan Server php -S

Jalankan file PHP dari terminal dengan php index.php, atau tampilkan sebuah folder di browser dengan server bawaan PHP: php -S localhost:8000. Keduanya tidak butuh Apache atau XAMPP.

Halaman ini dilengkapi editor yang bisa dijalankan. Edit, jalankan, dan lihat output-nya seketika.

Untuk menjalankan file PHP, buka terminal di folder file itu lalu ketik php index.php. PHP menjalankan file tersebut dan mencetak output-nya di terminal. Untuk melihat halaman PHP di browser, jalankan server bawaan dengan php -S localhost:8000 lalu buka http://localhost:8000.

php index.php

index.php pertamamu cukup satu baris. Tekan Jalankan: inilah persis yang dicetak oleh php index.php.

Kode PHP ditulis setelah tag <?php. Apa pun yang ada sebelum tag itu dicetak sebagai teks biasa, dan begitulah cara PHP mencampur kode dengan HTML.

Menjalankan file PHP dari command line

PHP CLI (command line interface) menjalankan script sekali lalu berhenti. Kamu perlu menginstal PHP; kalau php -v mencetak error, lihat dulu instal 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 berguna sebelum meng-upload file: perintah ini melaporkan parse error beserta nomor barisnya, atau No syntax errors detected in index.php.

Mengirim argumen dengan $argv

Kata-kata setelah nama file masuk ke $argv. $argv[0] selalu berisi nama script itu sendiri, dan $argc adalah jumlahnya, termasuk nama tersebut. Di sini blok dijalankan tanpa argumen tambahan, jadi hanya ada namanya:

Di komputermu sendiri, php index.php Ada 3 mencetak sapaannya tiga kali. Nilai cadangan ?? membuat script tetap berjalan saat ada argumen yang tidak diberikan. Untuk opsi bernama seperti --name=Ada, pakai 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";
}

Menjalankan PHP di browser dengan php -S

PHP punya web server untuk development yang sudah terpasang. Jalankan di folder yang berisi file-filemu:

php -S localhost:8000
[Sat Oct  3 07:21:34 2026] PHP 8.3.19 Development Server (http://localhost:8000) started

Sekarang http://localhost:8000/ menjalankan index.php, dan http://localhost:8000/about.php menjalankan about.php. Setiap kali halaman dimuat, file itu dijalankan lagi, dengan query string di $_GET. Blok di bawah ini bekerja dengan cara yang sama: jalankan, lalu klik sebuah link, dan script berjalan lagi dengan $_GET['page'] yang sudah terisi.

Opsi yang berguna:

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

Server bawaan ini menangani satu request dalam satu waktu dan hanya ditujukan untuk development. Di production, PHP berjalan di balik Nginx atau Apache, biasanya lewat PHP-FPM.

Memeriksa cara script dijalankan

PHP_SAPI memberi tahu "server API" mana yang menjalankan script: cli di terminal, cli-server di bawah php -S, dan fpm-fcgi atau apache2handler di balik web server sungguhan. Script yang hanya boleh dijalankan dari terminal memeriksanya terlebih dahulu:

Menjalankan satu baris dengan php -r

Untuk tes cepat, kamu tidak butuh file. php -r menjalankan kode yang kamu berikan, tanpa tag <?php:

php -r 'echo date("Y-m-d"), PHP_EOL;'
php -r 'var_dump(0.1 + 0.2 == 0.3);'

Di cmd Windows, bungkus kodenya dengan tanda kutip ganda dan pakai tanda kutip tunggal di dalamnya. Untuk beberapa baris, php -a membuka shell interaktif tempat setiap pernyataan dijalankan saat kamu menekan Enter.

Membuat script bisa dieksekusi di macOS dan Linux

Tambahkan baris shebang sebelum <?php dan tandai file itu sebagai executable. Baris shebang tidak ikut dicetak:

#!/usr/bin/env php
<?php
echo "Backup started\n";
chmod +x backup.php
./backup.php

Begitulah cara script PHP dijalankan dari cron: 0 3 * * * /usr/bin/php /home/me/backup.php.

Exit code untuk script

Script command line melaporkan berhasil atau gagal lewat exit code-nya, yang bisa diperiksa oleh shell script dan cron. exit(0) berarti berhasil, angka lain berarti gagal:

<?php
$file = $argv[1] ?? '';
if (!is_file($file)) {
    fwrite(STDERR, "File not found: $file\n");
    exit(1);
}
echo "Processing $file\n";
exit(0);

Kesalahan umum: menjalankan file atau folder yang salah

Could not open input file: index.php berarti PHP tidak bisa menemukan file itu dari lokasi terminal saat ini. Periksa folder aktif dengan pwd (atau cd di Windows), lalu cd ke folder proyek atau berikan path lengkapnya: php ~/projects/hello/index.php. Dengan php -S, error 404 untuk halaman yang kamu yakin ada biasanya berarti server dijalankan di folder lain; hentikan dengan Ctrl+C lalu jalankan lagi di tempat yang benar, atau berikan foldernya dengan -t. Kalau file berjalan tetapi menampilkan halaman kosong, nyalakan error reporting untuk melihat apa yang salah.

Pertanyaan yang sering diajukan

Bagaimana cara menjalankan file PHP di browser?

Jalankan server bawaan di folder yang berisi file itu dengan php -S localhost:8000, lalu buka http://localhost:8000/yourfile.php. Membuka file langsung dari disk tidak berhasil, karena tidak ada yang menjalankan kode PHP-nya.

Bagaimana cara mengirim argumen ke script PHP?

Tulis argumennya setelah nama file: php report.php 2026 sales. Di dalam script, $argv adalah array ['report.php', '2026', 'sales'] dan $argc bernilai 3. Elemen pertama selalu nama script-nya.

Bagaimana cara menjalankan satu baris PHP tanpa file?

Pakai php -r dan tulis kodenya tanpa tag <?php: php -r 'echo strtoupper("hi"), PHP_EOL;'. Untuk beberapa baris, php -a membuka shell interaktif.

Bagaimana cara tahu PHP berjalan dari command line atau dari web server?

Periksa PHP_SAPI (atau php_sapi_name()). Nilainya "cli" di terminal, "cli-server" di bawah php -S, dan sesuatu seperti "fpm-fcgi" atau "apache2handler" di balik web server.

Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai