【第2回】社内AIチャットシステムOla-UIを構築しよう!- PHP環境構築編
はじめに
「社内AIチャットシステムOla-UI構築シリーズ」の第2回へようこそ!
前回(第1回)では、AIの心臓部となるOllamaをインストールし、大規模言語モデル(Gemma 2 27B)と埋め込みモデルのダウンロードを完了しました。
前回のおさらい
✅ Ollamaのインストール
✅ Gemma 2 27Bモデルのダウンロード
✅ mxbai-embed-largeのダウンロード
✅ 環境変数の設定
✅ APIエンドポイントの動作確認
今回は、Ola-UIのWebインターフェースを動かすためのPHP環境を構築します。
本記事の目標
第2回では、PHPをWindowsにインストールし、Ola-UIが動作するための設定を行います。
所要時間
- 📅 約20〜30分
前提条件
- 第1回の内容が完了していること
- Ollamaが正常に動作していること(
ollama serveでサーバーが起動している)
STEP 1: PHPのダウンロード
1.1 PHP公式サイトへアクセス
-
ブラウザで以下のURLにアクセス:
https://windows.php.net/download/ -
「PHP 8.3」セクションを探す
1.2 適切なバージョンを選択
Ola-UIではPHP 8.1以上を推奨しています。PHP 8.3〜8.5まで動作確認済みです(2026年10月時点)。
ダウンロードするファイル
- Thread Safe(推奨):
php-8.3.x-Win32-vs16-x64.zip - x64: 64bit Windows用(ほとんどのPCはこれ)
💡 Tip: "Thread Safe"版を選びましょう。より安定して動作します。
1.3 ダウンロードの実行
「VS16 x64 Thread Safe」の「Zip」リンクをクリックしてダウンロードします。
ファイルサイズ: 約30〜35MB
STEP 2: PHPのインストール(展開)
2.1 ZIPファイルの展開
- ダウンロードした
php-8.3.x-Win32-vs16-x64.zipを右クリック - 「すべて展開」を選択
- 展開先を選択:
C:\php(推奨) - 「展開」ボタンをクリック
⚠️ 重要: パスに日本語やスペースを含めないでください!
2.2 ディレクトリ構造の確認
C:\php フォルダを開いて、以下のファイルがあることを確認:
C:\php\
├── php.exe ← PHP実行ファイル
├── php.ini-development
├── php.ini-production
├── ext\ ← 拡張モジュール
├── php-cgi.exe
└── その他多数のファイル
STEP 3: php.iniの設定
3.1 php.iniファイルの作成
C:\phpフォルダ内のphp.ini-developmentファイルをコピー- 同じフォルダに貼り付けて、名前を
php.iniに変更
💡 開発環境の場合は
php.ini-development、本番環境の場合はphp.ini-productionをベースにします。
3.2 php.iniの編集
php.ini ファイルをテキストエディタ(メモ帳など)で開きます。
① 拡張モジュールディレクトリの設定
以下の行を探して、コメントアウト(先頭の;)を外します:
変更前:
;extension_dir = "ext"
変更後:
extension_dir = "ext"
② 必要な拡張モジュールを有効化
以下の拡張モジュールのコメントアウトを外します(; を削除):
extension=curl ← Ollama APIとの通信に必要
extension=fileinfo ← ファイル情報取得
extension=mbstring ← 日本語処理に必須
extension=openssl ← HTTPS通信
extension=pdo_sqlite ← SQLite(セッション管理)
extension=sqlite3 ← SQLite本体
extension=zip ← ZIPファイル操作
変更前の例:
;extension=curl
;extension=mbstring
;extension=openssl
変更後:
extension=curl
extension=mbstring
extension=openssl
③ メモリ制限の調整
大規模なベクトル検索を行うため、メモリ制限を引き上げます。
変更前:
memory_limit = 128M
変更後:
memory_limit = 512M
④ 最大実行時間の調整
RAG処理には時間がかかる場合があるため、タイムアウトを延長します。
変更前:
max_execution_time = 30
変更後:
max_execution_time = 300
⑤ アップロードファイルサイズの調整(ナレッジファイルアップロード用)
変更前:
upload_max_filesize = 2M
post_max_size = 8M
変更後:
upload_max_filesize = 50M
post_max_size = 60M
⑥ タイムゾーンの設定
日本時間に設定します。
変更前:
;date.timezone =
変更後:
date.timezone = Asia/Tokyo
⑦ エラー表示の設定(開発環境の場合)
開発中はエラーを表示させると便利です。
変更前:
display_errors = Off
変更後(開発環境の場合のみ):
display_errors = On
⚠️ 本番環境では
display_errors = Offのままにしてください!
3.3 php.iniの保存
すべての変更を保存して、ファイルを閉じます。
STEP 4: 環境変数PATHの設定
4.1 システム環境変数の編集
- Windows + R キーを押す
sysdm.cplと入力してEnter- 「詳細設定」タブ → 「環境変数」ボタンをクリック
4.2 PATH変数の編集
- 「システム環境変数」セクションで「Path」を選択
- 「編集」ボタンをクリック
- 「新規」ボタンをクリック
C:\phpと入力- 「OK」ですべてのダイアログを閉じる
4.3 コマンドプロンプトの再起動
環境変数を反映させるため、開いているコマンドプロンプトをすべて閉じて、新しく開きます。
STEP 5: PHPの動作確認
5.1 PHPバージョンの確認
新しいコマンドプロンプトを開き、以下を実行:
php -v
期待される出力例:
PHP 8.3.1 (cli) (built: Dec 5 2024 15:00:00) ( ZTS Visual C++ 2019 x64 )
Copyright (c) The PHP Group
Zend Engine v4.3.1, Copyright (c) Zend Technologies
✅ バージョン情報が表示されればPHPのインストール成功!
5.2 拡張モジュールの確認
php -m
期待される出力例(一部抜粋):
[PHP Modules]
curl
fileinfo
mbstring
openssl
PDO
pdo_sqlite
sqlite3
zip
...
✅ 必要な拡張モジュールが表示されればOK!
STEP 6: PHPテストスクリプトの作成と実行
6.1 テストスクリプトの作成
C:\testフォルダを作成- メモ帳を開き、以下の内容を入力:
<?php
echo "=== PHP環境テスト ===\n\n";
// PHPバージョン
echo "PHPバージョン: " . phpversion() . "\n\n";
// 必要な拡張モジュールのチェック
$required_extensions = ['curl', 'mbstring', 'openssl', 'sqlite3'];
echo "拡張モジュールチェック:\n";
foreach ($required_extensions as $ext) {
$status = extension_loaded($ext) ? "✅ OK" : "❌ NG";
echo " {$ext}: {$status}\n";
}
// メモリ制限
echo "\nメモリ制限: " . ini_get('memory_limit') . "\n";
// 最大実行時間
echo "最大実行時間: " . ini_get('max_execution_time') . "秒\n";
// タイムゾーン
echo "タイムゾーン: " . ini_get('date.timezone') . "\n";
// Ollama APIへの接続テスト
echo "\n=== Ollama API接続テスト ===\n";
$ollama_url = 'http://127.0.0.1:11434/api/tags';
$ch = curl_init($ollama_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($http_code === 200) {
echo "Ollama API: ✅ 接続成功\n";
$data = json_decode($response, true);
echo "利用可能なモデル数: " . count($data['models']) . "\n";
} else {
echo "Ollama API: ❌ 接続失敗(HTTPコード: {$http_code})\n";
echo "※ Ollamaが起動していることを確認してください\n";
}
echo "\n=== テスト完了 ===\n";
?>
- 「名前を付けて保存」で以下のように保存:
- ファイル名:
test.php - 保存場所:
C:\test\ - ファイルの種類: 「すべてのファイル」
- 文字コード: UTF-8
6.2 テストスクリプトの実行
コマンドプロンプトで以下を実行:
cd C:\test
php test.php
期待される出力例:
=== PHP環境テスト ===
PHPバージョン: 8.3.1
拡張モジュールチェック:
curl: ✅ OK
mbstring: ✅ OK
openssl: ✅ OK
sqlite3: ✅ OK
メモリ制限: 512M
最大実行時間: 300秒
タイムゾーン: Asia/Tokyo
=== Ollama API接続テスト ===
Ollama API: ✅ 接続成功
利用可能なモデル数: 2
=== テスト完了 ===
✅ すべて「✅ OK」または「✅ 接続成功」ならPHP環境の構築完了!
STEP 7: PHP内蔵Webサーバーの起動テスト
7.1 簡単なHTMLファイルの作成
C:\test フォルダに以下の内容で index.html を作成:
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHP Webサーバーテスト</title>
<style>
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
max-width: 800px;
margin: 50px auto;
padding: 20px;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
}
.container {
background: white;
color: #333;
padding: 30px;
border-radius: 10px;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
h1 { color: #2c5aa0; }
.status {
padding: 10px;
margin: 10px 0;
border-radius: 5px;
background: #e8f5e9;
border-left: 4px solid #4caf50;
}
</style>
</head>
<body>
<div class="container">
<h1>🎉 PHP Webサーバー動作確認</h1>
<div class="status">
<strong>✅ PHP内蔵Webサーバーは正常に動作しています!</strong>
</div>
<p>このページが表示されていれば、PHPのHTTPサーバー機能は正常です。</p>
<p>次回(第3回)で、Ola-UIシステムをここに配置します。</p>
<hr>
<p><strong>サーバー情報:</strong></p>
<ul>
<li>URL: <code>http://localhost:8000</code></li>
<li>ドキュメントルート: <code>C:\test</code></li>
</ul>
</div>
</body>
</html>
7.2 Webサーバーの起動
コマンドプロンプトで以下を実行:
cd C:\test
php -S localhost:8000
期待される出力:
[Wed Jan 29 17:00:00 2026] PHP 8.3.1 Development Server (http://localhost:8000) started
💡 Tip: このコマンドプロンプトは開いたままにしておきます。
7.3 ブラウザで確認
- ブラウザを開く
- アドレスバーに
http://localhost:8000と入力してEnter - 先ほど作成した
index.htmlが表示されます
✅ ページが表示されればWebサーバー起動成功!
7.4 Webサーバーの停止
コマンドプロンプトで Ctrl + C キーを押します。
STEP 8: 起動バッチファイルの作成(次回への準備)
次回(第3回)では、Ola-UIシステムを配置してバッチファイルで起動します。ここではテスト用の起動バッチを作成しておきます。
8.1 バッチファイルの作成
メモ帳を開き、以下の内容を入力:
@echo off
title Ola-UI テストサーバー起動
echo ========================================
echo Ola-UI テストサーバー起動スクリプト
echo ========================================
echo.
REM Ollamaの起動確認
echo [1/3] Ollama APIの確認中...
curl -s http://127.0.0.1:11434/api/tags >nul 2>&1
if %errorlevel% neq 0 (
echo ❌ エラー: Ollamaが起動していません
echo.
echo 別のコマンドプロンプトで以下を実行してください:
echo ollama serve
echo.
pause
exit /b 1
) else (
echo ✅ Ollama API: 正常
)
echo.
REM PHPバージョンの確認
echo [2/3] PHP環境の確認中...
php -v >nul 2>&1
if %errorlevel% neq 0 (
echo ❌ エラー: PHPが見つかりません
echo 環境変数PATHにPHPのパスを追加してください
pause
exit /b 1
) else (
php -r "echo '✅ PHP ' . phpversion() . ': 正常';"
echo.
)
echo.
REM カレントディレクトリの確認
echo [3/3] ドキュメントルート: %CD%
echo.
echo ========================================
echo サーバーを起動します...
echo ========================================
echo.
echo アクセスURL: http://localhost:8000
echo.
echo サーバーを停止するには Ctrl+C を押してください
echo.
echo ========================================
echo.
REM PHPサーバーの起動
php -S localhost:8000
pause
8.2 バッチファイルの保存
「名前を付けて保存」で以下のように保存:
- ファイル名: start_php_server.bat
- 保存場所: C:\test\
- ファイルの種類: 「すべてのファイル」
8.3 バッチファイルの実行テスト
C:\test\start_php_server.batをダブルクリック- コマンドプロンプトが開き、以下のように表示されます:
========================================
Ola-UI テストサーバー起動スクリプト
========================================
[1/3] Ollama APIの確認中...
✅ Ollama API: 正常
[2/3] PHP環境の確認中...
✅ PHP 8.3.1: 正常
[3/3] ドキュメントルート: C:\test
========================================
サーバーを起動します...
========================================
アクセスURL: http://localhost:8000
サーバーを停止するには Ctrl+C を押してください
========================================
[Wed Jan 29 17:05:00 2026] PHP 8.3.1 Development Server (http://localhost:8000) started
- ブラウザで
http://localhost:8000にアクセスして確認
✅ 正常に起動すれば準備完了!
トラブルシューティング
Q1: php: command not found と表示される
原因: 環境変数PATHにPHPのパスが設定されていない
解決策:
1. 環境変数PATHに C:\php を追加(STEP 4参照)
2. コマンドプロンプトを再起動
3. php -v で再確認
Q2: 拡張モジュールが読み込まれない
原因: extension_dir の設定が間違っている
解決策:
1. php.ini を開く
2. extension_dir = "ext" になっているか確認
3. C:\php\ext フォルダが存在するか確認
Q3: Unable to load dynamic library 'curl' などのエラー
原因: Visual C++ ランタイムが未インストール
解決策:
1. 以下のURLからVisual C++ Redistributableをダウンロード:
https://aka.ms/vs/17/release/vc_redist.x64.exe
2. インストールして再起動
Q4: Port 8000 is already in use エラー
原因: ポート8000が既に使用されている
解決策:
- 別のポート番号を使用:
cmd
php -S localhost:8080
Q5: Ollama APIに接続できない
原因: Ollamaサービスが起動していない
解決策:
1. 別のコマンドプロンプトを開く
2. 以下を実行:
cmd
ollama serve
3. PHPテストスクリプトを再実行
まとめ
本記事で実施したこと
✅ PHPのダウンロードとインストール
✅ php.iniの設定(拡張モジュール、メモリ、タイムゾーンなど)
✅ 環境変数PATHの設定
✅ PHPの動作確認
✅ Ollama APIへの接続テスト
✅ PHP内蔵Webサーバーの起動テスト
✅ 起動バッチファイルの作成
所要時間
- ⏱️ 実際の作業時間: 約20分
- ⏱️ テスト・確認時間: 約10分
- ⏱️ 合計: 約30分
次回予告
第3回: Ola-UI本体の設置と起動編
次回はいよいよ、Ola-UIシステム本体をインストールします!
次回の内容
- Ola-UIファイル群のダウンロードとフォルダ配置
- config.iniの設定
- knowledge.txtの準備
- 起動バッチファイルの編集
- システムの起動と動作確認
- 初めての会話テスト
お楽しみに!
参考リンク
著者: Ola-UI サポートチーム
公開日: 2026年1月29日
更新日: 2026年10月26日
カテゴリ: チュートリアル, PHP, Webサーバー, Ola-UI
💬 この記事への質問・コメント
この記事についてご質問やご意見がありましたら、以下までお気軽にお問い合わせください:
📧 Email: support@ola-ui.com
🐦 Twitter: @OlaUI_Official
💼 LinkedIn: Ola-UI
タグ
#OlaUI #PHP #Webサーバー #環境構築 #チュートリアル #RAG #Windows #内蔵サーバー