Langkah demi langkah menyiapkan lingkungan pengembangan: instalasi PHP 8.3+, Composer, Git, membuat project baru dengan struktur folder yang rapi, dan konfigurasi .env.
Daftar Isi
- TL;DR (Ringkasan Cepat)
- Bagaimana Cara Install PHP 8.3 untuk AI Agent & Persiapan Lingkungan Development?
- Instalasi Lingkungan Pengembangan PHP 8.3 di Ubuntu / Debian
- Setup Lingkungan Pengembangan PHP 8.3 di macOS (Homebrew)
- Instalasi & Setting PATH PHP 8.3 di Windows 10/11
- Kebutuhan Spesifikasi Perangkat Keras: LLM Cloud API vs Local LLM (Ollama)
- Instalasi Composer & Package Manager AI Agent PHP
- Instalasi Git & Version Control AI Agent PHP
- Panduan Belajar AI-Agent-PHP: Setup Project Baru
- Struktur Folder Project AI Agent PHP
- Konfigurasi Environment .env AI Agent PHP
- Skrip Test Koneksi Environment (.env)
- Konfigurasi Unit Testing PHPUnit (phpunit.xml)
- Automasi Testing AI Agent dengan GitHub Actions CI/CD
- Alternatif Setup Lingkungan AI Agent PHP dengan Docker
- Troubleshooting & FAQ Persiapan Lingkungan AI Agent PHP
- Bagaimana cara install PHP 8.3 untuk AI Agent di Linux, macOS, dan Windows?
- Bagaimana mengatasi bentrok versi PHP jika ada versi lama di sistem?
- Error "cURL extension missing" atau SSL Certificate Warning
- Apakah wajib menggunakan Docker untuk belajar AI Agent PHP?
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 initdan 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.
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)
- Tekan kombinasi tombol
Win + Rdi keyboard, ketiksysdm.cpl, lalu tekan Enter. - Buka tab Advanced, kemudian klik tombol Environment Variables... di bagian bawah.
- Pada panel System variables, pilih variabel Path, lalu klik tombol Edit....
- Klik tombol New, lalu masukkan path direktori folder PHP Anda (contoh:
C:\php83). - 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 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.
Penulis & Instruktur: Rusmawan Abdullah Sani
DevOps Engineer & Sysadmin dengan spesialisasi arsitektur PHP 8.3+, CI/CD Pipeline, & Integrasi AI Agent Enterprise.