第02回 PHP環境構築編

Ola-UI構築チュートリアル

【第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が動作するための設定を行います。

所要時間

前提条件


STEP 1: PHPのダウンロード

1.1 PHP公式サイトへアクセス

  1. ブラウザで以下のURLにアクセス: https://windows.php.net/download/

  2. 「PHP 8.3」セクションを探す

1.2 適切なバージョンを選択

Ola-UIではPHP 8.1以上を推奨しています。PHP 8.3〜8.5まで動作確認済みです(2026年10月時点)。

ダウンロードするファイル

💡 Tip: "Thread Safe"版を選びましょう。より安定して動作します。

1.3 ダウンロードの実行

「VS16 x64 Thread Safe」の「Zip」リンクをクリックしてダウンロードします。

ファイルサイズ: 約30〜35MB


STEP 2: PHPのインストール(展開)

2.1 ZIPファイルの展開

  1. ダウンロードした php-8.3.x-Win32-vs16-x64.zip を右クリック
  2. 「すべて展開」を選択
  3. 展開先を選択:C:\php(推奨)
  4. 「展開」ボタンをクリック

⚠️ 重要: パスに日本語やスペースを含めないでください!

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ファイルの作成

  1. C:\php フォルダ内の php.ini-development ファイルをコピー
  2. 同じフォルダに貼り付けて、名前を 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 システム環境変数の編集

  1. Windows + R キーを押す
  2. sysdm.cpl と入力してEnter
  3. 「詳細設定」タブ → 「環境変数」ボタンをクリック

4.2 PATH変数の編集

  1. 「システム環境変数」セクションで「Path」を選択
  2. 「編集」ボタンをクリック
  3. 「新規」ボタンをクリック
  4. C:\php と入力
  5. 「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 テストスクリプトの作成

  1. C:\test フォルダを作成
  2. メモ帳を開き、以下の内容を入力:
<?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";
?>
  1. 「名前を付けて保存」で以下のように保存:
  2. ファイル名: test.php
  3. 保存場所: C:\test\
  4. ファイルの種類: 「すべてのファイル」
  5. 文字コード: 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 ブラウザで確認

  1. ブラウザを開く
  2. アドレスバーに http://localhost:8000 と入力してEnter
  3. 先ほど作成した 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 バッチファイルの実行テスト

  1. C:\test\start_php_server.bat をダブルクリック
  2. コマンドプロンプトが開き、以下のように表示されます:
========================================
 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
  1. ブラウザで 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サーバーの起動テスト
✅ 起動バッチファイルの作成

所要時間


次回予告

第3回: Ola-UI本体の設置と起動編

次回はいよいよ、Ola-UIシステム本体をインストールします!

次回の内容

お楽しみに!


参考リンク


著者: 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 #内蔵サーバー

📚 記事一覧に戻る