Sebelum memulai praktik, pastikan Anda telah memahami konsep dasar pada materi kelas AI Agent & PHP di infokoding.

BAB 3

Persiapan Lingkungan Pengembangan AI Agent PHP 8.3

Langkah demi langkah menyiapkan lingkungan pengembangan: instalasi PHP 8.3+, Composer, Git, membuat project baru dengan struktur folder yang rapi, dan konfigurasi .env.

Terakhir diperbarui:

TL;DR (Ringkasan Cepat)

  • Pastikan PHP versi 8.3 atau lebih baru terinstal di sistem Anda.
  • Instal Composer sebagai package manager PHP.
  • Inisialisasi project dengan composer init dan buat struktur folder yang bersih.
  • Simpan API Key di file .env dan pastikan tidak di-commit ke Git.

GitHub Repository Starter Kit — php-ai-agent

Langsung clone atau fork starter kit resmi php-ai-agent untuk memulai setup lingkungan kerja secara instan.

Clone / Fork Repositori

Bagaimana Cara Install PHP 8.3 untuk AI Agent & Persiapan Lingkungan Development?

AI Agent yang kita bangun membutuhkan minimal PHP 8.3 karena menggunakan fitur modern seperti readonly properties, Fibers, dan typed properties yang menjadikan kode lebih aman dan ekspresif.

Instalasi Lingkungan Pengembangan PHP 8.3 di Ubuntu / Debian

sudo apt update
sudo add-apt-repository ppa:ondrej/php -y
sudo apt install php8.3 php8.3-cli php8.3-curl php8.3-mbstring php8.3-json php8.3-mysql php8.3-xml -y
php -v

Setup Lingkungan Pengembangan PHP 8.3 di macOS (Homebrew)

brew install php@8.3
php -v

Instalasi & Setting PATH PHP 8.3 di Windows 10/11

Unduh paket PHP 8.3 Zip dari windows.php.net, lalu ekstrak ke direktori lokal (misalnya C:\php83 atau C:\laragon\bin\php\php-8.3.0).

Agar perintah php dapat dipanggil secara global melalui Terminal atau Command Prompt, Anda wajib menambahkan lokasi folder PHP ke dalam Environment Variable PATH dengan salah satu metode berikut:

Metode 1: Setting PATH Manual via System Properties GUI (Windows 10/11)

  1. Tekan kombinasi tombol Win + R di keyboard, ketik sysdm.cpl, lalu tekan Enter.
  2. Buka tab Advanced, kemudian klik tombol Environment Variables... di bagian bawah.
  3. Pada panel System variables, pilih variabel Path, lalu klik tombol Edit....
  4. Klik tombol New, lalu masukkan path direktori folder PHP Anda (contoh: C:\php83).
  5. Klik OK pada seluruh jendela dialog untuk menyimpan konfigurasi, kemudian restart Terminal Anda.

Metode 2: Setting PATH Otomatis via PowerShell (Administrator)

Buka PowerShell as Administrator, kemudian jalankan perintah berikut untuk menyuntikkan PATH PHP secara permanen:

[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\php83", [EnvironmentVariableTarget]::Machine)

Verifikasi bahwa perintah PHP 8.3 sudah dikenali di Terminal baru:

php -v

Kebutuhan Spesifikasi Perangkat Keras: LLM Cloud API vs Local LLM (Ollama)

Sebelum memilih arsitektur AI Agent PHP yang akan dibangun, Anda perlu memahami perbedaan kebutuhan spesifikasi hardware (RAM & CPU) antara integrasi LLM Cloud API dan Local LLM:

Perbandingan Kebutuhan Hardware PHP Agent: Cloud API vs Local LLM

Arsitektur LLM Minimum CPU Minimum RAM Storage / Disk Analisis Performa & Biaya
LLM Cloud API
(OpenAI / Anthropic / Groq)
1 vCPU / Core 512 MB – 1 GB 10 GB SSD Sangat ringan. Skrip PHP hanya mengirim cURL HTTP payload; inferensi LLM diproses di cloud. Sangat ramah untuk Shared Hosting & VPS murah.
Local LLM
(Ollama / Llama.cpp 7B/8B)
4 – 8 CPU Cores (AVX2) / GPU 8 GB – 16 GB 30 – 50 GB NVMe PHP memanggil Ollama API via http://localhost:11434. Membutuhkan RAM & VRAM besar untuk memuat model 4-bit quantization di memori lokal.

Tabel Perbandingan Modul Wajib PHP 8.3 Antar OS

Modul Wajib Ubuntu / Debian macOS (Homebrew) Windows (XAMPP/Laragon)
PHP 8.3 Core sudo apt install php8.3-cli brew install php@8.3 Unduh installer / Laragon PHP 8.3
cURL Module sudo apt install php8.3-curl Built-in di php@8.3 Aktifkan extension=curl di php.ini
Mbstring Module sudo apt install php8.3-mbstring Built-in di php@8.3 Aktifkan extension=mbstring di php.ini
OpenSSL Module sudo apt install php8.3-xml Built-in di php@8.3 Aktifkan extension=openssl di php.ini

Instalasi Composer & Package Manager AI Agent PHP

Composer adalah package manager untuk PHP yang akan kita gunakan untuk menginstal library AI Agent.

# Linux / macOS
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
sudo mv composer.phar /usr/local/bin/composer
composer --version

# Windows: Unduh Composer-Setup.exe dari https://getcomposer.org

Instalasi Git & Version Control AI Agent PHP

# Ubuntu / Debian
sudo apt install git -y

# macOS
brew install git

# Verifikasi
git --version
git config --global user.name "Nama Anda"
git config --global user.email "email@anda.com"

Panduan Belajar AI-Agent-PHP: Setup Project Baru

mkdir php-ai-agent
cd php-ai-agent
composer init --name="myapp/ai-agent" --description="AI Agent dengan PHP" --type=project -n
git init
git add .
git commit -m "Initial commit: project AI Agent PHP"

Struktur Folder Project AI Agent PHP

Gunakan struktur folder yang bersih dan terorganisir agar kode mudah dipelihara:

php-ai-agent/
├── src/
│   ├── Agent/
│   │   ├── Agent.php         # Core Agent class
│   │   └── Planner.php       # Planning module
│   ├── Tools/
│   │   ├── ToolInterface.php # Interface untuk semua tool
│   │   ├── SearchTool.php    # Tool pencarian web
│   │   ├── DatabaseTool.php  # Tool database MySQL
│   │   └── FileTool.php      # Tool membaca file
│   ├── Memory/
│   │   ├── Memory.php        # Memory manager
│   │   └── Session.php       # Session handler
│   ├── MCP/
│   │   ├── McpClient.php     # MCP Client
│   │   └── McpServer.php     # MCP Server
│   └── Logger/
│       └── Logger.php        # Logging system
├── config/
│   └── config.php            # Konfigurasi aplikasi
├── tests/
│   └── AgentTest.php         # Unit tests
├── phpunit.xml               # Konfigurasi Unit Testing PHPUnit
├── .env                      # Environment variables (jangan di-commit!)
├── .env.example              # Template .env
├── .gitignore                # File yang dikecualikan dari Git
├── composer.json             # Dependensi PHP
└── index.php                 # Entry point aplikasi

Konfigurasi Environment .env AI Agent PHP

File .env adalah tempat menyimpan konfigurasi sensitif seperti API Key. Jangan pernah commit file .env ke repository Git!

# .env.example (file ini boleh di-commit sebagai template)
OPENAI_API_KEY=sk-your-api-key-here
OPENAI_MODEL=gpt-4o-mini
OPENAI_MAX_TOKENS=4096

DB_HOST=127.0.0.1
DB_PORT=3306
DB_NAME=ai_agent_db
DB_USER=root
DB_PASS=

LOG_LEVEL=debug
LOG_FILE=./logs/agent.log
# .gitignore
.env
vendor/
*.log
logs/
<?php
// config/config.php
function loadEnv(string $path): void
{
    if (!file_exists($path)) {
        return;
    }
    $lines = file($path, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    foreach ($lines as $line) {
        if (str_starts_with(trim($line), '#')) {
            continue;
        }
        [$key, $value] = explode('=', $line, 2);
        $_ENV[trim($key)] = trim($value);
    }
}

loadEnv(__DIR__ . '/../.env');

return [
    'openai_api_key'  => $_ENV['OPENAI_API_KEY'] ?? '',
    'openai_model'    => $_ENV['OPENAI_MODEL'] ?? 'gpt-4o-mini',
    'openai_max_tokens' => (int) ($_ENV['OPENAI_MAX_TOKENS'] ?? 4096),
    'db'             => [
        'host' => $_ENV['DB_HOST'] ?? '127.0.0.1',
        'port' => (int) ($_ENV['DB_PORT'] ?? 3306),
        'name' => $_ENV['DB_NAME'] ?? '',
        'user' => $_ENV['DB_USER'] ?? '',
        'pass' => $_ENV['DB_PASS'] ?? '',
    ],
];

Peringatan Keamanan

Selalu pastikan file .env ada di .gitignore sebelum git add. Kebocoran API Key ke repository publik dapat menyebabkan tagihan API yang sangat besar dan penyalahgunaan layanan Anda.

Skrip Test Koneksi Environment (.env)

Untuk memvalidasi bahwa setup environment (.env) dan pemuatan variabel API Key telah berhasil, jalankan 5 baris skrip PHP test koneksi dasar berikut (test_env.php):

<?php
require __DIR__ . '/vendor/autoload.php';
loadEnv(__DIR__ . '/.env');
$apiKey = $_ENV['OPENAI_API_KEY'] ?? '';
echo !empty($apiKey) ? "SUCCESS: Environment & API Key terkonfigurasi!\n" : "ERROR: OPENAI_API_KEY kosong di .env!\n";

Konfigurasi Unit Testing PHPUnit (phpunit.xml)

Untuk melengkapi struktur folder tests/ di atas dan mengotomatiskan pengujian unit komponen AI Agent PHP, buat file phpunit.xml berikut pada root direktori project:

<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd"
         bootstrap="vendor/autoload.php"
         colors="true"
         cacheDirectory=".phpunit.cache">
    <testsuites>
        <testsuite name="Unit">
            <directory>tests</directory>
        </testsuite>
    </testsuites>
    <php>
        <env name="APP_ENV" value="testing"/>
    </php>
</phpunit>

Automasi Testing AI Agent dengan GitHub Actions CI/CD

Untuk memastikan setiap pembaruan kode atau Tool AI Agent tidak merusak fungsi yang ada (regression test), Anda dapat mengonfigurasi alur kerja pengujian otomatis menggunakan GitHub Actions. Buat file .github/workflows/phpunit.yml berikut pada repositori Anda:

name: AI Agent PHP CI

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Setup PHP 8.3
        uses: shivammathur/setup-php@v2
        with:
          php-version: '8.3'
          extensions: mbstring, curl, json, xml
      - name: Install Dependencies
        run: composer install --prefer-dist --no-progress
      - name: Run PHPUnit Tests
        run: vendor/bin/phpunit

Alternatif Setup Lingkungan AI Agent PHP dengan Docker

Selain instalasi langsung pada sistem operasi lokal, Anda juga dapat menggunakan Docker dan Docker Compose untuk mengisolasi lingkungan pengembangan AI Agent PHP. Pendekatan ini memastikan versi PHP 8.3 dan dependensi selalu konsisten antara lingkungan lokal dan server produksi.

Buat file docker-compose.yml sederhana di root folder project Anda:

version: "3.8"

services:
  app:
    image: php:8.3-cli-alpine
    container_name: php_ai_agent_app
    working_dir: /var/www/html
    volumes:
      - .:/var/www/html
    environment:
      - OPENAI_API_KEY=${OPENAI_API_KEY}
      - OPENAI_MODEL=${OPENAI_MODEL:-gpt-4o-mini}
    command: php index.php

Perintah dasar untuk mengelola container Docker AI Agent PHP:

# Menjalankan container AI Agent PHP
docker compose up -d

# Jalankan Composer install di dalam container
docker compose exec app composer install

# Eksekusi skrip PHP AI Agent
docker compose exec app php index.php
Diagram Infografis Alur Kerja Folder dan Lingkungan Docker AI Agent PHP 8.3

Diagram 3.1: Visualisasi struktur folder project dan ekosistem isolasi Docker AI Agent PHP 8.3.

Troubleshooting & FAQ Persiapan Lingkungan AI Agent PHP

Bagaimana cara install PHP 8.3 untuk AI Agent di Linux, macOS, dan Windows?

Cara install PHP 8.3 untuk AI Agent pada Ubuntu/Debian dilakukan melalui ppa:ondrej/php (sudo apt install php8.3-cli php8.3-curl php8.3-mbstring), pada macOS melalui brew install php@8.3, dan pada Windows 10/11 mengunduh biner Zip dari windows.php.net lalu menautkan folder direktori ke System Environment Variables (PATH).

Bagaimana mengatasi bentrok versi PHP jika ada versi lama di sistem?

Gunakan sudo update-alternatives --config php pada Linux atau brew link --overwrite php@8.3 pada macOS untuk memastikan CLI secara global mengarah ke PHP 8.3. Sebagai alternatif bersih, gunakan Docker agar terisolasi dari OS lokal.

Error "cURL extension missing" atau SSL Certificate Warning

Pastikan modul php8.3-curl dan php8.3-openssl sudah aktif. Pada Linux jalankan sudo apt install php8.3-curl php8.3-mbstring, lalu pastikan baris extension=curl di file php.ini tidak di-comment.

Apakah wajib menggunakan Docker untuk belajar AI Agent PHP?

Tidak wajib. Instalasi CLI lokal (PHP 8.3 + Composer) sudah sangat memadai untuk tahap belajar AI Agent PHP. Docker digunakan jika Anda ingin menyamakan lingkungan pengembangan dengan server produksi secara terisolasi.

Poin Kunci Bab 3

Lingkungan pengembangan yang terstruktur dengan baik (baik lokal maupun Docker) akan menghemat banyak waktu debugging di masa mendatang. Investasikan waktu untuk menyiapkan fondasi yang kuat sejak awal.

Rusmawan Abdullah Sani

Penulis & Instruktur: Rusmawan Abdullah Sani

DevOps Engineer & Sysadmin dengan spesialisasi arsitektur PHP 8.3+, CI/CD Pipeline, & Integrasi AI Agent Enterprise.

Profil LinkedIn