Windows環境でのインストール(5.0.10)

【環境情報】
・baserCMSのバージョン:5.0.10
・レンタルサーバー名:Hyper-V 上の Windows2022
・使用テーマ:デフォルトサンプル
・PHPスキル(自己評価):少し

–ignore-platform-req=ext-xdebugが追加されましたが、
xdebugが要らないのは、インストールの時だけのようです。
#xdebugがないとBaserCMSが正常動作しない…

訳あって、PHPやCURLのパスを通してないのですが、以下の変更で
インストール出来ました。

【環境】
PHP C:\opt\php\php833nts\php.exe
CURL C:\opt\curl\curl-8.6.0_1-win64-mingw\bin\curl.exe
Baserインストールパス D:\website\basercms

【変更】
composer_installer.php を編集します。

26行目:php.exeのフルパス
$phpPath = whichPhp();
→ $phpPath = “C:\opt\php\php833nts\php.exe”;

53行目:コメントアウト
$phpPath = escapeshellarg($phpPath);
→ //$phpPath = escapeshellarg($phpPath);

75行目
$command = “cd {$composerDir}; export HOME={$composerDir}; curl -sS https://getcomposer.org/installer | {$phpPath}”;
→ $command = “cmd.exe /C "cd /D {$composerDir} & set HOME={$composerDir} & C:\opt\curl\curl-8.6.0_1-win64-mingw\bin\curl.exe -sS https://getcomposer.org/installer | {$phpPath} & exit 0"”;

80行目
$command = "cd " . ROOT_DIR . “; export HOME={$composerDir} ; {$phpPath} {$composerDir}composer.phar self-update”;
→ $command = “cmd.exe /C "cd /D " . ROOT_DIR . " & set HOME={$composerDir} & {$phpPath} {$composerDir}composer.phar self-update"”;

84行目
$command = "cd " . ROOT_DIR . “; export HOME={$composerDir} ; yes | {$phpPath} {$composerDir}composer.phar update --ignore-platform-req=ext-xdebug”;
→ $command = “cmd.exe /C "cd /D " . ROOT_DIR . " & set HOME={$composerDir} & echo y | {$phpPath} {$composerDir}composer.phar update --ignore-platform-req=ext-xdebug"”;

※.envがコピーされなかったので、もう少し確認が必要です。

@bon さん

はじめまして。
Windows環境でのインストールについて、おまとめいただきありがとうございます。
開発チームへの共有の場があったので、情報共有しています。

Windows環境へのインストールがあまり知見としては無いようですので、こういったは情報助かります。
今後とも、よろしくお願いいたします。

【環境情報】
・baserCMSのバージョン:5.0.18~5.0.19
・レンタルサーバー名:XAMPP8.2.4
・PHPスキル(自己評価):E

自分もWindows環境(xampp)を使用しており、BaserCMS5をインストールする際、こちらのトピックスが参考になりました。

なお、PHPとCURLのパスを通したWindows環境(xampp)の場合は
下記の修正方法でインストールできました。

修正ファイル composer_installer.php

46行目 PHPのパスを検索する際、Windows環境では「which」コマンドが動作しないため、「where」に変更
変更前

exec('which php', $out, $code);

変更後

exec('where php', $out, $code);

75行目 「cd」→「cd /D」、「;」→「&&」、「export」→「set」に変更
変更前

$command = "cd {$composerDir}; export HOME={$composerDir}; curl -sS https://getcomposer.org/installer | {$phpPath}";

変更後

$command = "cd /D {$composerDir} && set HOME={$composerDir} && curl -sS https://getcomposer.org/installer | {$phpPath}";

80行目 「cd」→「cd /D」、「;」→「&&」、「export」→「set」に変更
変更前

$command = "cd " . ROOT_DIR . "; export HOME={$composerDir} ; {$phpPath} {$composerDir}composer.phar self-update";

変更後

$command = "cd /D " . ROOT_DIR . " && set HOME={$composerDir} && {$phpPath} {$composerDir}composer.phar self-update";

84行目「cd」→「cd /D」、「;」→「&&」、「export」→「set」、「yes」→「echo y」に変更
変更前

$command = "cd " . ROOT_DIR . "; export HOME={$composerDir} ; yes | {$phpPath} {$composerDir}composer.phar update --ignore-platform-req=ext-xdebug";

変更後

$command = "cd /D " . ROOT_DIR . " && set HOME={$composerDir} && echo y | {$phpPath} {$composerDir}composer.phar update --ignore-platform-req=ext-xdebug";
「いいね!」 1